Model Driven Architecture

747 Aufrufe

Veröffentlicht am

TechTalk von Frank Kautz (DLR Köln-Porz, 18.06.2008) über Model Driven Architecture.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
747
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
12
Aktionen
Geteilt
0
Downloads
14
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Model Driven Architecture

    1. 1. TechTalk: Model Driven Architecture Frank Kautz, DLR Simulations- und Softwaretechnik 17.Juni.2008
    2. 2. Übersicht <ul><li>Einführung </li></ul><ul><li>Begriffe </li></ul><ul><li>UML-Profile </li></ul><ul><li>Object Constraint Language (OCL) </li></ul><ul><li>MDA-Modelle </li></ul><ul><li>Action Semantics </li></ul><ul><li>Transformationen </li></ul><ul><li>Fazit </li></ul>
    3. 3. Einführung <ul><li>Spezifikation der Object Management Group (OMG) </li></ul><ul><li>Modellgetriebene Softwareentwicklung </li></ul><ul><li>Wiederverwendung der Modelle </li></ul><ul><li>Generierung von Programmteilen aus Modellen </li></ul><ul><li>Modellierung mit der Unified Modeling Language (UML2) </li></ul><ul><li>Datenaustausch mit XML Metadata Interchange (XMI) </li></ul>
    4. 4. Begriffe <ul><li>Modell </li></ul><ul><ul><li>Formale Beschreibung eines Systems </li></ul></ul><ul><li>Metamodell </li></ul><ul><ul><li>Beschreibt die Elemente, die ein bestimmtes Modell enthalten kann </li></ul></ul><ul><li>Metametamodell </li></ul><ul><ul><li>Beschreibt die Element, die ein Metamodell enthalten kann </li></ul></ul><ul><li>Domain Specific Language (DSL) </li></ul><ul><ul><li>Spezielle Sprache für die Erstellung von Modellen, für eine bestimmte Anwendungsdomäne </li></ul></ul><ul><ul><li>XML-Dialekt </li></ul></ul><ul><ul><li>UML-Diagramme (Profile) </li></ul></ul>
    5. 5. UML-Profile <ul><li>Erweitert das Standard-Metamodell der UML </li></ul><ul><ul><li>Domänenspezifische Stereotypen </li></ul></ul><ul><ul><li>Constraints </li></ul></ul><ul><ul><li>Tagged Values </li></ul></ul>
    6. 6. Object Constraint Language (1/2) <ul><li>Entwickelt von IBM im Jahr 1995 </li></ul><ul><li>Formale Sprache </li></ul><ul><li>Unterstützt Spezifikationen </li></ul><ul><li>Verwendung in der UML </li></ul><ul><ul><li>Spezifizieren von Vor- und Nachbedingungen </li></ul></ul><ul><ul><li>Definieren von Constraints </li></ul></ul><ul><ul><li>Prüfen von Anfangswerten und abgeleiteten Werten </li></ul></ul>
    7. 7. Object Constraint Language (2/2) <ul><li>Mindestalter für den Besitz eines Autos ist 18 Jahre </li></ul>context Person inv volljaehrig: self.alter >= 18
    8. 8. MDA-Modelle (1/2) <ul><li>Computation Independent Model (CIM) </li></ul><ul><ul><li>Berechnungs- und Plattformunabhäniges Modell </li></ul></ul><ul><ul><li>Anforderungen an das System </li></ul></ul><ul><ul><li>Verwendung von DSL </li></ul></ul><ul><ul><li>z.B. Business Modell, Domänen Modell </li></ul></ul><ul><li>Platform Independent Model (PIM) </li></ul><ul><ul><li>Plattformunabhäniges Modell </li></ul></ul><ul><ul><li>Beschreibt den Aufbau und die Funktionalität eines Systems </li></ul></ul><ul><ul><li>Keine Implementierungsdetails </li></ul></ul><ul><ul><li>Verwendet Standard UML </li></ul></ul>
    9. 9. MDA-Modelle (2/2) <ul><li>Platform Specific Model (PSM) </li></ul><ul><ul><li>Plattformspezifisches Modell (JAVA, .NET, C++) </li></ul></ul><ul><ul><li>Enthält Implementierungsdetails </li></ul></ul><ul><ul><ul><li>Quellcode </li></ul></ul></ul><ul><ul><ul><li>Deployment Deskriptoren </li></ul></ul></ul><ul><ul><li>Verwendet UML mit speziellen Stereotypen (Profile) </li></ul></ul>
    10. 10. Action Semantics <ul><li>Bestandteil der UML 2 Superstructure </li></ul><ul><li>Ermöglicht das spezifizieren von Programmabläufen </li></ul><ul><li>Funktionsumfang von der OMG spezifiziert </li></ul><ul><li>Syntax wird vom MDA-Werkzeug Hersteller spezifiziert </li></ul><ul><ul><li>kein einheitlicher Standard </li></ul></ul>
    11. 11. QVT (Query Views and Transformations) <ul><li>Modelltransformationssprache </li></ul><ul><li>Definition von Mappings </li></ul><ul><ul><li>Wie die Elemente eines Modells in ein anderes Modell transformiert werden. </li></ul></ul><ul><li>2 Ansätze </li></ul><ul><ul><li>Deklarativ (Relation) </li></ul></ul><ul><ul><ul><li>Multi-direktional </li></ul></ul></ul><ul><ul><ul><li>Verwendet in der frühen Entwicklungsphase </li></ul></ul></ul><ul><ul><li>Operational (Mapping) </li></ul></ul><ul><ul><ul><li>Uni-direktional </li></ul></ul></ul><ul><ul><ul><li>Detaillierter Relationen </li></ul></ul></ul>
    12. 12. Transformationen 1/2 <ul><li>Modell zu Modell Transformationen </li></ul><ul><ul><li>Benötigt eine Transformationsvorschrift </li></ul></ul><ul><ul><li>Erzeugt ein weiteres Modell </li></ul></ul><ul><li>Modell zu Text Transformationen </li></ul><ul><ul><li>Einsatz von Generatoren </li></ul></ul><ul><ul><li>Erzeugt Quellcode </li></ul></ul>
    13. 13. Transformationen 2/2 Computation Independent Model Platform Independent Model Platform Specific Model Implementierung automatisiert automatisiert manuell/automatisiert Anforderungan an das System Plattformunabhänige Details Plattformspezifische Details + + +
    14. 14. Fazit <ul><li>Vorteile: </li></ul><ul><ul><li>Plattformunabhänige Entwicklung </li></ul></ul><ul><ul><li>Einfachere Migration </li></ul></ul><ul><li>Nachteile: </li></ul><ul><ul><li>Kein Round Trip Engineering </li></ul></ul><ul><ul><li>Hoher Aufwand in der Analysephase </li></ul></ul>
    15. 15. Quellen <ul><li>http://www.omg.org/docs/omg/03-06-01.pdf </li></ul><ul><li>http://www.omg.org/docs/formal/03-03-01.pdf </li></ul>
    16. 16. <ul><li>Noch Fragen? </li></ul>

    ×