64. Tools for Model-Driven Architecture (MDA) (Werkzeuge für die modellgetriebene Architektur)

Ähnliche Dokumente
37. Werkzeuge für die Model- Driven Architecture

Model Driven Development im Überblick

MDA auf der Grundlage der OMG Konzepte

Michael Piechotta - CASE Tools. openarchitecture Ware

Model Driven Architecture (MDA)

Model Driven Architecture Praxisbeispiel

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

Grundlagen von MOF. Alexander Gepting 1

Ausarbeitung Referat zur MDA

Vortrag von: Ilias Agorakis & Robert Roginer

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Seminar: Software Engineering verteilter Systeme

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme

Software Factories SS Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Seminar: Software Engineering verteilter Systeme

Herausforderung: Entwicklungsmethodik und technisches Umfeld

Model Driven Software Development

25. Meta-CASE-Werkzeuge

Model Driven Architecture

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015

Systemdenken und Gestaltungsmethodik System-Modellierung

Model Driven Architecture

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

46 Softwarearchitektur mit dem Quasar-Architekturstil

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

SEA. Modellgetriebene Softwareentwicklung in der BA

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

10. Modellgetriebene Entwicklung Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Visual Studio 2010 Jetzt auch für Architekten

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

Modellgetriebene Architektur - Grundlagen, Vor- und Nachteile, Erfahrungen - Uwe Kuehn Freie Universität Berlin

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Modellgetriebene Softwareentwicklung

Best Practices für flexible und wartbare Codegeneratoren mit openarchitectureware Karsten Thoms Software Architekt

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Problemseminar ModelDrivenSoftwareDevelopment

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath

Evaluierung und Erprobung von Ansätzen beim modellbasierten Design in Software Produktlinien

Testfallerzeugung aus Use-Case-Beschreibungen

WIRTSCHAFTSINFORMATIK

iks Gesellschaft für Informations- und Kommunikationssysteme mbh Sponsor der

COPE COuPled Evolution of metamodels and models

Programmieren in natürlicher Sprache: Automatische Code-Generierung

Software Engineering verteilter Systeme. Hauptseminar im WS 2011 / 2012

M2M-Transformation mitder QVTRelations Language

A L L G E M E I N E Transformationstechniken

Oracle JDeveloper 10 g

Language Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.

Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1

Komponentenbasierte Softwareentwicklung

ESE Conference 2011, Zürich. Generative Konzepte für den Plattform-Zoo - am Beispiel Mobile-Apps. Rüdiger Schilling Delta Software Technology GmbH

Innovator Anbindung an openarchitectureware. Connect. Klaus Weber.

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Modellgetriebene Softwareentwicklung und Modelltransformationen in der Praxis. Vorstellung Gruppe Softwaretechnik für Verteilte Systeme

Referenzarchitekturen und MDA 1


Comparing Software Factories and Software Product Lines

SemTalk Services. SemTalk UserMeeting

Modellgetriebene Softwareentwicklung

MDA, alter Wein in neuen Schläuchen oder Weg für die Zukunft?

SEMINARARBEIT. MDA Model Driven Architecture

Christian Kurz SWT Projekt WS 07/08

Seminar Aktuelle Themen der Informatik

Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7.

Reza Noroozi. Modellgetriebene Entwicklung aller SOA-Schichten

SOA und modellgetriebene Software- Entwicklung in der Umsetzung von Busines-IT-Alignment-Aktivitäten

Safer Software Formale Methoden für ISO26262

Kapitel 3 Software Quality III

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Semantic Web Services

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Model Driven Software Development

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

HIR Method & Tools for Fit Gap analysis

Jochen Bauer

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April GRIDFUSION

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Modellgetriebene Softwareentwicklung

Modellierung & Domänen Spezifische Sprachen (DSL)

openarchitectureware

MDRE die nächste Generation des Requirements Engineerings

EAM Community. Rolf Weber Uwe Schröder Workshop MDM und EAM. Rolf Weber, Senior Process Architect Laufenburg, 1.

Entwicklung von Modellierungswerkzeugen mit MOFLON

Automatisierung in der Software- Produktion abseits von MDA

Objektorientierte Analyse

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig,

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Toolgestützte Prozessdokumentation. Prozessorientiertes E-Government, Joel Meir,

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS

Visual Studio 2010 Neues für Architekten

Transkript:

64. Tools for Model-Driven Architecture (MDA) (Werkzeuge für die modellgetriebene Architektur) Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden http://st.inf.tu-dresden.de Version 13-0.4, 01.01.14 1) MDA 2) Model Mapping 1) QVT 3) Model Transformation 1) ATL 4) Model2Code Transformation SEW, Prof. Uwe Aßmann 1

Literature 2 Alan Brown. An introduction to Model Driven Architecture. Part I: MDA and today's systems http://www.ibm.com/developerworks/rational/library/3100.html Frédéric Jouault and Ivan Kurtev. On the Architectural Alignment of ATL and QVT. In: Proceedings of the 2006 ACM Symposium on Applied Computing (SAC 06). ACM Press, Dijon, France, chapter Model transformation (MT 2006), pages 1188 1195. http://atlanmod.emn.fr/bibliography/sac06a Tutorial über ATL Families2Persones http://www.eclipse.org/m2m/atl/doc/atlusecase_families2persons.ppt ATL Zoo von Beispielen http://www.eclipse.org/m2m/atl/atltransformations Kevin Lano. Catalogue of Model Transformations http://www.dcs.kcl.ac.uk/staff/kcl/tcat.pdf Implementation in ATL http://www.eclipse.org/m2m/atl/atltransformations/equivalenceattributesassociatio ns/equivalenceattributesassociations.pdf

Model-Driven Software Development (MDSD) 3 MDSD falls into two main development methods: Engineering with DSL and Metamodels (domain-specific modeling, DSM) Model-Driven Architecture (MDA) Model mappings correlate models defining equivalence relations between model elements From them, model transformations can easily be derived Model transformations Horizontal model transformations transform a model within a single language Vertical model transformations transform a model from a higher-level language to a lower-lewel languate (lowering) Broadband model transformations transform a model from a higher-level set into a lower-level set of a broadband (wide-spectrum) language Model weavings extend models by other models

64.1 Modellgetriebene Architektur (MDA) SEW, Prof. Uwe Aßmann 4

The IRDS/MOF Metamodelling Hierarchy 5 aka metapyramid M4 level = M3 M3 metametamodel level Metamodelling concepts validinstanceof Modelling concepts validinstanceof describes MOF, UML-core, OWL, AG, NS describes M2 metamodel level M1 model level Language descriptions validinstanceof Types, programs, models domain ontologies validinstanceof OWL, UML, CWM,ER describes describes M0 Object level Software objects describing world objects model instances

The MDA Embedded in the IRDS Metapyramid 6 M3 metametamodel level Metametamodels Modelling concepts MOF M2 metamodel level Metamodels (languages) Language specifications CIM-MM PIM-MM <<instance-of>> PSM-MM <<instance-of>> M1 model level Models Instance specifications CIM PIM PSM M0 object level System instances <<instance-of>>

7 Modelle und Spezifikationen der MDSD und der MDA werden in einem Werkzeug als (abstrakt Syntax-)Graphen (ASG) repräsentiert MDA-Werkzeuge benötigen Graph-Mapping, Graph-Querying und Graphtransformation Gewöhnlich bieten sie Unterstützung für eine oder mehrere der besprochenen Sprachen Typisierung durch Metamodelle Oft werden die Sprachen QVT oder ATL unterstützt

o Model Mappings and Model Weavings a 8 Domain model for application domain Model mappings connect models horizontally (on the same level) or vertically (crossing levels). Model transformations transform models horizontally or vertically. Computationally-Independent Model (CIM) Requirements specification From a model mapping, a simple transformation can be infered Model weavings weave two input models to an output model, based on a crosscut specification Platform-Independent Model (CIM) Design specification Model extensions (model merges, model additions) extend an input model by an extension (often done by hand) Usually, some parts are still hand-written code Model2Text expansion (code generation by template expansion) Weaving Platform-Specific Extension (PSE) Platform Specific Model (PSM) Platform Description Model (PDM) Code addition Handwritten code Platform-Specific Implementation (PSI, Code)

Modell-Verknüpfung (Model Mapping) am Beispiel MID INNOVATOR 9 Innovator kann gleichzeitig für Analyse-, Entwurfs- und Implementierungsmodelle eingesetzt werden, sowie für Transformationen dazwischen Wie kann man diese Modelle systemisch mit einander verknüpfen?

PIM und PSM gemäß der MDA 10 Für die unterschiedlichen Abstraktionsebenen PIM und PSM stehen verschiedene Beschreibungsmittel zur Verfügung: Fachkonzept auch CIM (Computation independent model) Plattformunabhängiges Modell (UML, OCL, XMI) Plattformspezifi sches Modell PSM Basiskomponenten (JB) Steuerungskomponenten Infrastrukturkomponenten (EJB, CCM, COM+,.NET) Anwendungskomponenten Plattformspezifi sche Implementierung (PSI) in Programmiersprache PIM PSM Ein PSM berücksichtigt die jeweilige Basistechnologie, auf der ein PIM zum Einsatz kommen kann (CORBA-Broker,.NET-Spezifi ka oder das Web-Service-Protokoll SOAP). Auch PSMs können mit der UML modelliert werden. In jedem Fall werden aus den PSMs die Codegerüste erzeugt, die die Komponenten-Entwickler dann weiter bearbeiten. Quelle: Warum JANUS MDA und MDA JANUS ist; Whitepaper der Firma otris Software AG Dortmund; URL: www.otris.de

What are Model Mappings? 11 Remember Model: A model is a representation of a part of a function of a system, its structure, or behavior A model mapping can be generated from a model analysis The mappings are automatic or semi-automatic: step-wise refinement of the model by transformation From a model mapping, transformations can be generated Model instanceof Metamodel describes Platform source target source target Mapping applicationof Mapping Technique

MDA-Transformationsprozess 12 Aus plattformunabhängigem (independent) Metamodell PIM sind mittels Regeln, Techniken plattformspezifi sche (specifi c) Modelle PSM zu entwerfen, zu generieren, oder abzuleiten, um neue Anwendungen für eine bestimmte (Komponenten-)Plattform zu erhalten. Ein weiteres Ziel von MDA ist die Integration solcher Technologien wie CORBA, J2EE,.Net und XML als Plattform. Source Language depends upon Transformation Specifi cation depends upon Target Language defi ned in defi ned by defi ned in Source Model Transformation Target Model Quelle: PIM PSM Kleppe, A., Warmer, J., Bast, W.: MDA Explained - Practice and Promise of the Model Driven Architecture; Addison Wesley 2003 (Draft 25.10.02)

Das MDA-Metamodell 13 <<basiert auf>> PIM Mapping Techniken ModelTransformation Mapping von PIM zu PIM UML <<dargestellt mit>> 1..n <<beschrieben mit>> PIM 1..n <<unabhängig von>> MOF <<dargestellt mit>> Metamodel 1..n Mapping von PIM zu PSM Refactoring vom PSM zu PIM andere Sprachen <<dargestellt mit>> 1..n 1..n <<beschrieben mit>> 1..n PSM <<hängt ab von>> Infrastruktur <<basiert auf>> 1..n PSI PSM Mapping Techniken Mapping von PSM zu PSM PSM = plattformspezifi sches Modell PSE = plattformspezifi sche Erweiterung PSI = plattformspezifi sche Implementation Transformationen bezeichnet man auch als Abbildungen (mappings). Mapping von PIM zu PIM schafft neue Business Viewpoints, von PSM zu PIM Abstraktionen aus plattformabhängigen Implementierungen und zwischen PSM weiteren Verfeinerungen oder Zielplattformen. PSE

Model Management 14 In der MDA müssen Modelle (Graphen) verwaltet werden: Modellalgebren Lookup Diff, comm, union, compose Versionsmanagement Konfigurationsmanagement Das führt auf metamodellgesteuerte Repositorien/Modellinfrastrukturen (siehe Kapitel Repositories und Modellmanagement

Bewertungsaspekte von MDA-Tools 15 Unterstützung der Metamodellierung Metamodelle der Sprachen UML 2.0, OCL, CWM (MOF 2.0-basiert) Metamodellgesteuerte Repositorien Erweiterungsmöglichkeiten der UML-Profile durch explizite Metamodellierung sowie Modellprüfung Austauschformate: Import, Export und Validierung von Modellen auf Basis ihres Austauschs mit XMI 2.0 Validierung der Modelle mit OCL Model-to-Model Mapping bzw. Model-to-Model Transformation (z. B. PIM zu PSM) mit QVT, ATL, Graphersetzung oder einer proprietären Sprache Forward- und Reverse-Engineering Codegenerierung (Model-to-Code Transformation, PSM zu PSI) Mapping zu einer Programmiersprache wie z. B. JMI Roundtrip-Engineering auf der Code-Ebene zur Unterstützung des Single-Source-Prinzips Modellierung von Testfällen und automatische Generierung der Testdaten (Model-driven Testing) Quelle: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA; dpunkt-verlag 2006

Werkzeugfunktionen am Bsp. ArcStyler 16 Das Werkzeug ArcStyler ist im Zusammenspiel mit einem UML-Editor wie MagicDraw (oder Rational Rose...) ein leistungsfähiges Werkzeugsystem (MDA-Suite), mit dem sich zum Beispiel J2EE-Applikationen gemäß den Konzepten der MDA entwickeln lassen. Object Modeler erfasst Anforderungen unabhängig von Plattform (funktionale, essentielle Anforderungen) Basis CRC-Cards Technologie Pattern Refinement Assistent überführt Fachmodell interaktiv in PIM UML-Modell (Basis MagicDraw oder Rational Rose) mit Annotation der essentiellen Design-Entscheidungen Verfeinerung des Fachmodells top down in untergeordnete UML-Diagramme und Quellcodegenerierung ebenfalls mit UML-Tool (MagicDraw) Codevervollständigung und Optimierung für jeweiligen Applikationsserver mit Cartriges (Codegenerierungs-Plugins) Komponentengenerierung für Oberfläche sowie weitere Projekt- und Konfigurations- dateien mit JBuilder. Schnittstelle zu IDE ist Standard Ant Build Process Datenbankgenerierung über Skripte zum Erstellen der DB-Schemas möglich. Quelle: Versteegen, G.: Wege aus der Plattformabhängigkeit - Hoffnungsträger Model Driven Architecture; Computerwoche 29(2002) Nr. 5 vom 1. Febr. 2002

Vorgehen und Unterstützung beim ArcStyler 17 http://www.interactive-objects.com/products/arcstyler/supportdocumentation.html

Cartridges und generierte Artifakte 18 Quelle: Butze, D.: Entwicklung eines Praktikums für die werkzeugestützte Softwareentwicklung nach der Model-Driven-Architecture; Großer Beleg an der Fakultät Informatik der TU Dresden 2004

Kurzbeschreibung weiterer MDA-Tools 19 Integriert in URL AndroMDA Eclipse http://www.andromda.org/ XText, Xpand Eclipse http://www.eclipse.org/xtext/ IBM Rational Suite Software Architect Eclipse BITplan smart Generator Eclipse http://www.bitplan.com/ Quelle: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA; dpunkt-verlag 2006

End 20