37. Werkzeuge für die Model- Driven Architecture 37.1

Werbung
37. Werkzeuge für die ModelDriven Architecture
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 09-0.1, 31.12.09
SEW, © Prof. Uwe Aßmann
1
37.1 Modellgetriebene
Architektur (MDA)
SEW, © Prof. Uwe Aßmann
2
Modellgrenzen am Beispiel INNOVATOR
►
Innovator kann gleichzeitig für Analyse-, Entwurfs- und
Implementierungsmodelle eingesetzt werden, sowie für
Transformationen dazwischen
Prof. U. Aßmann, SEW
3
MDA-Transformationsprozess
Ziel: Aus plattformunabhängigem (independent) Metamodell PIM sind mittels
Regeln, Techniken plattformspezifi sche (specifi c) Modelle PSM zu entwerfen,
zu generieren, zu implementieren oder zu portieren, um neue objektorientierte
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. Unter einem Modell wird die Repräsentation
einer Funktion, einer Struktur oder das Verhalten eines Systems verstanden, die
modellgetrieben auf eine bestimmte Plattform transformiert werden sollen.
Source Language
defi ned
in
Source Model
PIM
Quelle:
depends
upon
Transformation
Specifi cation
defi ned
by
Transformation
depends
upon
Target Language
defi ned
in
Target Model
PSM
Kleppe, A., Warmer, J., Bast, W.: MDA Explained - Practice and Promise of the Model Driven
Architecture; Addison Wesley 2003 (Draft 25.10.02)
Prof. U. Aßmann, SEW
4
PIM und PSM gemäß der MDA
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)
PIM
Plattformspezifi sches Modell
Basiskomponenten (JB)
Steuerungskomponenten
Infrastrukturkomponenten (EJB,
CCM, COM+, .NET)
Anwendungskomponenten
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.
PSM
Programmierung (ooP)
Quelle: Warum JANUS MDA und MDA JANUS ist; Whitepaper der Firma otris Software AG Dortmund; URL: www.otris.de
Prof. U. Aßmann, SEW
5
Das MDA-Metamodell
PIM Mapping
Techniken
<<basiert auf>>
Mapping von PIM zu PIM
1..n <<beschrieben mit>> PIM
UML
<<dargestellt mit>>
MOF
<<dargestellt mit>>
1..n
<<unabhängig von>>
1..n
andere
Sprachen
Metamodel
Mapping von
PIM zu PSM
Refactoring vom PSM
zu PIM
1..n
1..n
<<dargestellt mit>>
<<beschrieben mit>>
<<basiert auf>>
1..n
PSM
<<hängt ab von>>
Infrastruktur
1..n
PSM Mapping
Techniken
Mapping von PSM zu PSM
PSM = plattformspezifi sches Modell
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.
Prof. U. Aßmann, SEW
6
Model Management
►
In der MDA müssen Modelle verwaltet werden:
■
►
Modellalgebren
.
Lookup
.
Dif, comm, union, compose
■
Versionsmanagement
■
Konfgurationsmanagement
Das führt auf Modellinfrastrukturen, Beispiel ModelBus
■
http://www.modelbus.org/modelbus/
■
Verteiltes Repository für Modelle
Prof. U. Aßmann, SEW
7
Model Managemant Funktionen Tools im
ModelBus
Tool
UMLRepository
UML to
EJB
Code
Generation
Service
Parameter
Multiplizität
fi ndClass
ClassName
Class
in [1..1]
out [1..1]
fi ndPackage
PackageName
Package
in [1..1]
out [1..1]
transform
sourceModel
in [1..*]
targetModel
out [1..*]
generateSingle
Component
EJBComponent
in [1..1]
generate
Components
EJBComponent
in [1..*]
Type
primitiveType (String)
specifi cModelType
(Foundation::Core::Class)
primitiveType (String)
specifi cModelType
(Model_Management::Package)
specifi cModelType
(Model_Management::Package)
specifi cModelType
(EJB:: EjbComponent)
specifi cModelType
(EJB:: EjbComponent)
specifi cModelType
(EJB:: EjbComponent)
Quelle: Blanc, X., Gervais, M.-P., Sriplakich, P.: Model Bus: Towards the Interoperability of Modelling Tools; in
Aßmann, U. u.a.: Model Driven Architecture, Springer Verlag 2005
Prof. U. Aßmann, SEW
8
Bewertungsaspekte von MDA-Tools













Unterstützung der Sprachen UML 2.0, OCL, XMI, CWM (MOF 2.0-basiert)
Import, Export und Validierung von Modellen auf Basis ihres Austauschs mit XMI 2.0
Mapping zu einer Programmiersprache wie z. B. JMI
Model-to-Model Mapping bzw. Transformation (z. B. PIM zu PSM)
Model-to-Code Transformation (PIM zu PSI)
Validierung der Modelle sowohl für Im-/Export als auch für die Transformation
Erweiterungsmöglichkeiten der UML-Profi le durch explizite Metamodellierung sowie
Modellprüfung
Forward-, Reverse- bzw. Roundtrip-Engineering auf der Code-Ebene in Protected
Regions
Unterstützung zur Generierung grafi scher Benutzungsschnittstellen
Automatische Generierung der Dokumentation
Modellierung von Testfällen und automatische Generierung der Testdaten
Eigenständige MDA-Tools, wenn sie (Meta-)Modellierung, Transformation und CodeGenerierung unterstützen
MDA-Suite, wenn sie CASE- bzw. UML-Umgebungen integrieren
Quelle: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA;
dpunkt-verlag 2006
9
Prof. U. Aßmann, SEW
Werkzeugfunktionen am Bsp. ArcStyler
 Object Modeler erfasst Anforderungen unabhängig von Plattform (funktionale,





essentielle Anforderungen) Basis CRC-Cards Technologie
Pattern Refi nement 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 und Tool ArcStyler von Interactive Objects Software GmbH
Freiburg
Komponentengenerierung für Oberfl äche sowie weitere Projekt- und
Konfi gurations- dateien mit JBuilder. Schnittstelle zu IDE ist Standard „Ant Build
Process“
Datenbankgenerierung über Skripte zum Erstellen der DB-Schemas möglich.
Das Werkzeug ArcStyler ist im Zusammenspiel mit MagicDraw (oder Rational Rose...)
ein leistungsfähiges Werkzeugsystem(MDA-Suite), mit dem sich zum Beispiel J2EEApplikationen gemäß den Konzepten der MDA entwickeln lassen.
Quelle: Versteegen, G.: Wege aus der Plattformabhängigkeit - Hoffnungsträger Model Driven Architecture;
Computerwoche 29(2002) Nr. 5 vom 1. Febr. 2002
Prof. U. Aßmann, SEW
10
Vorgehen und Unterstützung beim
ArcStyler
http://www.interactive-objects.com/products/arcstyler/supportdocumentation.html
Prof. U. Aßmann, SEW
11
Cartridges und generierte Artifakte
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
Prof. U. Aßmann, SEW
12
Kurzbeschreibung weiterer MDA-Tools
Name
Typ
Austauschform.
Zielsprachen
IDE integr.
IBM Rational
Software
Architect
Suite
XMI, Rose
Java, C++
Eclipse
Compuware
OptimalJ
Suite
XMI, JDBC,
XML Schema,
versch. IDL
Java, SQL,
XML
VisualStudio,
JBuilder,
Eclipse
AndroMDA
Framework
XMI
Java, SQL,
anpassbar
Eclipse
Open
Architecture
Ware
Framework
XMI
beliebig durch
Anpassung
Eclipse
BITplan
Framework
XMI
Java, Obj. Pascal,
C, C++, C#, Cobol,
IDL, SQL, Vis. Basic
Eclipse, smart
Ultra Edit,
VIM
Generator
Quelle: Petrasch, R., Meimberg, O.: Model Driven Architecture - eine praxisorientierte Einführung in die MDA;
dpunkt-verlag 2006
Prof. U. Aßmann, SEW
13
Prof. U. Aßmann, SEW
14
End
Herunterladen