Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp
Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale MDA-Konzepte Basistechnologien Abgrenzung Offene Punkte Werkzeuge 16.05.2006 Torsten Hopp 2
Einleitung The Architecture of Choice for a Changing World (Object Management Group) 16.05.2006 Torsten Hopp 3
Motivation Ist-Situation: Meist manuelle Programmierung Hoher Aufwand hohe Kosten Hohe Fehleranfälligkeit Häufig keine Konsistenz zwischen Code und Modell Schlechte Integration und Interoperabilität Wenig Portabilität Schwierige Wartung Konzepte der Software ändern sich wenig Realisierung ändert sich häufig 16.05.2006 Torsten Hopp 4
Grundzüge: Wie kann MDA helfen? Kernkonzept: PIM (Platform Independent Model) PSM (Platform Specific Model) Modelmapping von PIM in PSM Konsistenz zwischen Modell und Code Integration etablierter Standards UML XMI 16.05.2006 Torsten Hopp 5
Ziele & Potenziale Automatische Codeerzeugung aus formal eindeutigen Modellen Steigerung von Entwicklungsgeschwindigkeit Softwarequalität Wiederverwendbarkeit Handhabbarkeit der Komplexität Handhabbarkeit des Technologiewandels Interoperabilität Trennung von Fachlichem und Technischem Bessere Wartbarkeit 16.05.2006 Torsten Hopp 6
MDA-Konzepte Computation Independent Model (CIM) Geschäfts- und Domänensicht Höchste Abstraktionsschicht Ausgangsbasis für weitere Modelle Platform Independent Model (PIM) Beschreibung fachlicher Aspekte Struktur und Verhalten der Software Ermöglicht Unabhängigkeit von Zielsprache 16.05.2006 Torsten Hopp 7
MDA-Konzepte (2) Platform Specific Model (PSM) Erweiterung des PIMs um technische Aspekte Z.B. Entscheidung für konkrete Plattform wie J2EE, Corba oder XML Automatische Transformationen Zwischen PIM und PSM Programmcode aus PSM 16.05.2006 Torsten Hopp 8
MDA-Konzepte (3) Idee (Generator) CIM PIM PSM (Generator) Programm-Code 16.05.2006 Torsten Hopp 9
Basistechnologien Unified Modelling Language (UML) Grafische Beschreibung der Modelle MDA-Modell ist aber formal eindeutig! UML-Profile Metamodelle Erweiterung des UML-Sprachumfangs Meta Object Facility (MOF) Definition von Metamodell-Sprachen (z.b. UML) 16.05.2006 Torsten Hopp 10
Basistechnologien (2) Extensible Markup Metadata Interchange (XMI) Austauschformat für UML-Modelle Zur Benutzung verschiedener Werkzeuge Common Warehouse Metamodel (CWM) Referenzmodell für Zugriff und Austausch von Metadaten im Data Warehousing 16.05.2006 Torsten Hopp 11
Abgrenzung Ansatz nicht neu Siehe Computer Aided Software Engineering (CASE) Unterschiede MDA CASE MDA will keine vollständige Automatisierung Bei MDA wird Architektur vollständig manuell erzeugt Bei CASE-Tools: Metamodell und Transformationen oft fix Vollständige Kontrolle für Entwickler Flexibilität! 16.05.2006 Torsten Hopp 12
Offene Punkte Relativ junger Standard (2003) Umsetzung in Werkzeuge Konzeptionelle Aspekte Stabilität des Datenmodells Codeverständlichkeit? Reverse- / Reengineering Return on Investment Herstellerabhängigkeit 16.05.2006 Torsten Hopp 13
Werkzeuge MDA nicht immer überzeugend unterstützt Beispiele: AndroMDA: Open Source MDA Generator Innovator: Kommerzielles MDA-Tool Open Architecture Ware: Open Source MDA Tool XCoder: Open Source MDA Tool 16.05.2006 Torsten Hopp 14
Vielen Dank für die Aufmerksamkeit 16.05.2006 Torsten Hopp 15
Quellen [1] Peter Roßbach, Thomas Stahl, Wolfgang Neuhaus: Model Driven Architecture ; Javamagazin 9.2003 [2] Joaquin Miller, Jishnu Mukerji: MDA Guide Version 1.0.1 ; Object Management Group, 12th June 2003 [3] Virtuelles Software Engineering Kompetenzzentrum: Einführung in die MDA ; http://www.softwarekompetenz.de/?5467 [4] Patrick Kuballa: Ausarbeitung: Model Driven Architecture ; Universität Oldenburg, 2006 16.05.2006 Torsten Hopp 16