200 likes | 374 Views
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:
E N D
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 Thomas Böhm
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Quellen: • http://www.omg.org/mda/ • MDA Guide Version 1.0.1 • Javamagazin 9.2003 Thomas Böhm