1 / 20

MDA – Model Driven Architecture

MDA – Model Driven Architecture. Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Thomas Böhm. Inhalt. MDA Grobkonzept & Ziele Begriffe Aufbau und Technik der MDA Ablauf der Softwareentwicklung mit MDA Zusammenfassung Ausblick. MDA Grobkonzept & Ziele. Grobkonzept:

xena
Download Presentation

MDA – Model Driven Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MDA – Model Driven Architecture Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Thomas Böhm

  2. Inhalt • MDA Grobkonzept & Ziele • Begriffe • Aufbau und Technik der MDA • Ablauf der Softwareentwicklung mit MDA • Zusammenfassung • Ausblick Thomas Böhm

  3. MDA Grobkonzept & Ziele • Grobkonzept: • Automation durch Formalisierung • Generatoren im Zusammenspiel mit formal eindeutigen Modellen • automatische Generierung von Code • Ziele: • Handhabbarkeit von Komplexität durch Abstraktion • gleichbleibende Softwarequalität • Erhöhung der Wartbarkeit • Erhöhung der Wiederverwendbarkeit Thomas Böhm

  4. Begriffe • Modell • vereinfachter Ausschnitt der Realität durch Abstraktion • Konzentration auf wesentliche Eigenschaften • Ausblenden irrelevanter Details • Architektur • beschreibt Teile eines Systems und ihr zusammenwirken • SE ist model-driven • weil Modelle die Richtung von Entwurf, Implementierung, Einführung, Wartung und Änderung durchgängig vorgeben Thomas Böhm

  5. Aufbau und Technik der MDA I • Model Driven Architecture • gibt Modelle vor, • deren Einsatz und • deren Verhalten untereinander • Unterteilung in drei Ebenen von Modellen • Computation Independent Model (CIM) • Platform Independent Model (PIM) • Platform Specific Model (PSM) • neu: Metamodelle und Transformationen nicht fix Thomas Böhm

  6. Aufbau und Technik der MDA II Umfeld & Anforderungen CIM Ablauflogik PIM Modell-Modell-Transformation CORBA Modell J2EE Modell XML Modell PSM Modell-Code-Transformation CORBA Code J2EE Code XML Code Implementierung Thomas Böhm

  7. Aufbau und Technik der MDA III • Computation Independent Modell • Konzentration auf Umfeld und Anforderung an das System • keine Details über Aufbau oder Ablauf des Systems • nutzt Vokabular der Anwender • oft reine verbale Beschreibung • Brücke zwischen Fachexperten der Anwender und Modellierer der Systemanforderungen Thomas Böhm

  8. Aufbau und Technik der MDA IV • Platform Independent Model • Konzentration auf Aufbau und Ablauf des Systems • Ausblenden implementierungsspezifischer Details wie • Betriebssystem, • Programmiersprache, • Datenverwaltungssystem • ect. • benutzt generelle Modellierungssprache wie • UML • MOF Thomas Böhm

  9. Aufbau und Technik der MDA V • Platform Specific Model • erweitert PIM um plattformspezifische Details und Konzepte • enthält alle Informationen um ausführbaren Code zu erzeugen • letzte Modellierungsebene vor der Implementierung Thomas Böhm

  10. Aufbau und Technik der MDA VI • Transformation • automatisierte Erzeugung eines Modells aus einem Modell höherer Ebene • übersetzten eines Models in ein Modell auf der gleichen Ebene Thomas Böhm

  11. Ablauf der Softwareentwicklung mit MDA I • Erstellung des CIM • meist Übergabe von Anforderungen in Form einer Spezifikation • Nutzung vorhandener Informationen wie Geschäftsprozessmodelle denkbar • z.B. UML Use Case- oder Aktivitätsdiagramme • Grundlage für Rücksprache mit dem Kunden und/oder Projektleiter • Verstehen des Problems vordergründig Thomas Böhm

  12. Ablauf der Softwareentwicklung mit MDA II • Erstellung des PIM • Modellierung des Verhaltens des Systems durch Zustände und Ereignisse • mögliche Verwendung von Zustandsdiagrammen der UML • möglicher Einsatz von Klassendiagrammen • benötigt eine formal eindeutige Designsprache (UML-Profil, MOF) Thomas Böhm

  13. Ablauf der Softwareentwicklung mit MDA III • Mapping (heute noch nötig) • zusätzliche Spezifikation für die Transformation vom PIM zum PSM  abhängig von Zielplattform • Möglichkeit Markierungen festzulegen, um weiteres Transformationsverhalten zu steuern • Einflechtung von Templates möglich • Festlegung von Regeln bei der Transformation Thomas Böhm

  14. Ablauf der Softwareentwicklung mit MDA IV • Transformation • Erzeugen des PSM aus PIM und Mappinginformationen PIM Transformation Marks marked PIM Mapping Plattform- information PSM Thomas Böhm

  15. Ablauf der Softwareentwicklung mit MDA V • Ergebnis <<BusinessEntity>> Customer <<EJBEntityBean>> Customer <<UniqueId>> +id:String +lastName:String ... <<PrimaryKeyField>> +id:String +lastName:String ... J2EE Transformation <<Query>> +findbylastName() <<EJBFinderMethod>> +findbylastName() PIM PSM Thomas Böhm

  16. Ablauf der Softwareentwicklung mit MDA VI • Weiterverwendung PSM • erzeugter PSM etwa auf Niveau bisheriger Modelle • z.B. UML Klassendiagramm für JAVA mit entspr. Attributen, Methoden, Variabeln • Transformation in Quellcode Thomas Böhm

  17. Ablauf der Softwareentwicklung mit MDA VII • Änderungen im Programm • werden am PIM durchgeführt  in allen darunter liegenden Transformationen übernommen  dauerhafte Konsistenz zw. Modelle und Quellcode • Änderung der Technik (Plattform, Programmiersprache...) • fließen in Transformation bzw. Mapping ein Thomas Böhm

  18. Zusammenfassung • Code ist übersichtlicher • Fehler besser identifizierbar, behebbar • verbesserte Wartbarkeit durch stabile Code-Qualität • einfacheres Programmieren durch Standardisierung und Automatisierung • Wiederverwendbarkeit Thomas Böhm

  19. Ausblick • Weiterentwicklung von Tools • zur Unterstützung der Modellierungsebenen • um Modellierungsvorschriften auf Metaebene festzulegen und überprüfen zu lassen • zur besseren Transformation (XMI) • Weiterentwicklung der Modellierungssprachen • Verbreitung der Idee und ihr Anwendung • direkt ausführbare Modelle auf PIM-Ebene denkbar und wünschenswert • bedarf Entwicklung von fähigen Compilern, Interpreter Thomas Böhm

  20. Quellen: • http://www.omg.org/mda/ • MDA Guide Version 1.0.1 • Javamagazin 9.2003 Thomas Böhm

More Related