28

Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Model Driven Architecture

Wilhelm Stephan

Universität Hamburg

Fakultät für Mathematik, Informatik und Naturwissenschaften

Seminar Softwareentwicklung in der Wissenschaft

Betreuer: Julian Kunkel

SommerSemester 14

25. Mai 2014

Page 2: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Agenda

1 Was ist MDA

2 Entwicklungsprozess mit MDA

3 Nutzen von MDA

4 Zusammenfassung

Page 3: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

Modellbasierte Softwareentwicklung

Wilhelm Stephan Model Driven Architecture 1 / 23

Page 4: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

Modellgetriebene Softwareentwicklung

Wilhelm Stephan Model Driven Architecture 2 / 23

Page 5: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

Was ist besser?

Vorteile Modellgetrieben

• Modell verständlicher als Code

• Modell dokumentiert Verhalten und Struktur

• Codegenerierung

• Plattformunabhängigkeit

Vorteile Modellbasiert

• Flexibilität

Wilhelm Stephan Model Driven Architecture 3 / 23

Page 6: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

CHAOS Report - Softwareprojekte scheitern

Gründe für das Scheitern

• Fehlende Dokumentation

• Fehlendes fachlichesVerständnis

• Kosten

• Zeitdruck

Wilhelm Stephan Model Driven Architecture 4 / 23

Page 7: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

Die OMG und ihre Lösung

OMG

• Object Management Group

• Konsortium von 11 Firmen

• 1989 gegründet• Entwicklung von Standards

• UML• CORBA• MDA

Der Lösungvorschlag MDA

• Abstrakter Lösungsvorschlag

• Keine konkrete Implementation

• Implementation ist den Toolherstellern überlassenWilhelm Stephan Model Driven Architecture 5 / 23

Page 8: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

MDA - bevorstehender Schritt in der Evolution

Wilhelm Stephan Model Driven Architecture 6 / 23

Page 9: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

MDA - bevorstehender Schritt in der Evolution

Wilhelm Stephan Model Driven Architecture 6 / 23

Page 10: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

MDA - bevorstehender Schritt in der Evolution

Wilhelm Stephan Model Driven Architecture 6 / 23

Page 11: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Modellorientiert vs ModellbasiertMotivation für MDAMDA - Ein Lösungsvorschlag

MDA - bevorstehender Schritt in der Evolution

Wilhelm Stephan Model Driven Architecture 6 / 23

Page 12: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Grundkonzept von MDA

Die Idee

• Anwendung modellieren

• Modelle transformieren• Code generieren

• Wichtig: MDA ist mehr als Codegenerieren

Wilhelm Stephan Model Driven Architecture 7 / 23

Page 13: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Einführung des begleitenden Beispiels

Der Weblandwirt

• Verwaltung eines Landwirtschaftlichen Betriebes• Der Landwirt hat

• Ländereien• Tiere• Kunden und Lieferanten• Produkte• Gebäude

Vorgehen

• Vom abstrakten Modell zum Code

Wilhelm Stephan Model Driven Architecture 8 / 23

Quelle [ZW05]

Page 14: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Modelltyp CIM - Computation Independant Model

Abstraktestes Modell

• Unabhängig von der Realisierung

• Spezi�ziert Anforderungen und Verhalten

• Verständnis der Aufgabe des Systems

• Use-Case-Diagramme, Aktivitätsdiagramme

• Entspricht noch modellbasierter Softwareentwicklung

Wilhelm Stephan Model Driven Architecture 9 / 23

Page 15: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Weblandwirt - Beispielhaftes Use-Case-Diagramm

Wilhelm Stephan Model Driven Architecture 10 / 23

Quelle [ZW05]

Page 16: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Modelltyp PIM - Platform Independant Model

Strukturmodell/ Berechnungsmodell

• Unabhängig der Implementationstechnologie

• Fachliche Spezi�kation

• Modelliert Struktur

• Resistent gegen Technologieveränderung

• Klassendiagramm, Aktivitätsdiagramm, Use-Case-Diagramm

Transformation von CIM in PIM

• Modell zu Modell Transformation

• Keine Tools bekannt - Manuelle Transformation

Wilhelm Stephan Model Driven Architecture 11 / 23

Page 17: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Weblandwirt - Transformation CIM zu PIM

Beispielhaftes Klassendiagramm

Wilhelm Stephan Model Driven Architecture 12 / 23

Page 18: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Modelltyp PSM - Platform Speci�c Model

Plattformmodell

• Durch CIM und PIM modelliert

• Modelliert Struktur• Plattformspezi�sche details

• Programmiersprache• Datenbank• Kommunikation zwischen Komponenten

• Plattformen z.B.: CORBA, J2EE

Wilhelm Stephan Model Driven Architecture 13 / 23

Page 19: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Modelltyp PSM - Platform Speci�c Model

Transformation von PIM in PSM

• Modell zu Modell Transformation• Schlüsselkonzept der MDA im Sinne der OMG

• Konzepte sind stabiler als Technologien• Formale Modelle - automatisierte Tranformationen möglich

Wilhelm Stephan Model Driven Architecture 14 / 23

Page 20: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Weblandwirt - Transformation PIM in PSM

Beispielhaftes Klassendiegramm

Wilhelm Stephan Model Driven Architecture 15 / 23

Page 21: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Modelltyp ISM - Implementation Speci�c Model

Endresultat Quellcode

• Keine funktionale Implementierung

• Nur Quellcode-Skelette

Transformation von PSM in ISM

• Modell zu Code Transformation

• Automatisierte Transformation möglich

• Viele Tools (Codegeneratoren)

Wilhelm Stephan Model Driven Architecture 16 / 23

Page 22: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

GrundkonzeptModelltypen und Transformationen

Weblandwirt - Transformation PSM in ISM

Wilhelm Stephan Model Driven Architecture 17 / 23

Automatisch generierter Code

Page 23: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Ziele und Vorteile von MDAEvaluation des BeispielsStand der Technik

Rücktransformation/ Synchronisation

ISM zu PSM

• Änderungen im Code - ändern das Modell

• Modell bleibt korrekt

• Können viele Tools (Codegeneratoren)

PSM zu PIM

• Kaum automatisierbar

• Erfordert manuelle, intelektuelle ArbeitWilhelm Stephan Model Driven Architecture 18 / 23

Page 24: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Ziele und Vorteile von MDAEvaluation des BeispielsStand der Technik

Lohnt es sich MDA zu benutzen?

Ziele und Vorteile

• Plattform Unabhängigkeit

• Konsistenz zwischen Code und Modellen

• Steigerung der Entwicklungsgeschwindigkeit

• Verbesserung der Softwarequalität

• Bessere Dokumentation

Idealismus vs Realität

• Nur teilweise automatisiert

• Toolhersteller beschränken sich auf Codegeneratoren

• Nur Code Skelette - Manuelle Vervollständigung nötig

Wilhelm Stephan Model Driven Architecture 19 / 23

Page 25: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Ziele und Vorteile von MDAEvaluation des BeispielsStand der Technik

Evaluation des Beispiels

Einheit Gesamtzeilenzahl generierte Zeilen manuell erstellte Zeilen

generierteejb-Dateien

1087 1087 0

manuell erstellteejb-Dateien

411 218 193

Exception 15 0 15

Sprachdatei 95 0 95

WebPages 384 315 69

WebForms 462 462 0

WebActions 498 427 71

Gesamt 2952 (100%) 2509 (85%) 443 (15%)

Wilhelm Stephan Model Driven Architecture 20 / 23

Quelle [ZW05]

Page 26: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

Ziele und Vorteile von MDAEvaluation des BeispielsStand der Technik

Stand der Technik

Allgemein

• Interoperabilität

• Cartridges

• Modellierung

• Transformationen

Tools

• dia und dia2code

• AndroMDA

• ExecutableUML

Wilhelm Stephan Model Driven Architecture 21 / 23

Page 27: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

ZusammenfassungQuellen

Zusammenfassung

MDA hat Potential

• Mächtige Abstraktion von Hochsprachen

• Codegeneratoren nützlich• Einarbeitung lohnt sich

• Zeitgewinn im Laufe eines Projektes• Mehrgewinn durch bessere Dokumentation

Wilhelm Stephan Model Driven Architecture 22 / 23

Page 28: Model Driven ArchitectureWimmer, Manuel: Model Driven Architecture in der Praxis - Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie . Diplomarbeit, TU Wien, 2005. Zeppenfeld,

Was ist MDAEntwicklungsprozess mit MDA

Nutzen von MDAZusammenfassung

ZusammenfassungQuellen

Quellen

Keefer, Andreas: MDA auf Basis Open Source.Diplomarbeit, Hochschule der Medien Stuttgart, 2007.

Stahl, Thomas und Markus Völter: Modellgetriebene

Softwareentwicklung - Techniken, Engineering, Management.Dpunkt-Verlag, Köln, 1. Au�. Auflage, 2005.

Wimmer, Manuel: Model Driven Architecture in der Praxis -

Evaluierung aktueller Entwicklungwerkzeuge und Fallstudie.Diplomarbeit, TU Wien, 2005.

Zeppenfeld, Klaus und Regine Wolters: GenerativeSoftware-Entwicklung mit der MDA -.Spektrum Akademischer Verlag, Heidelberg, 2005. Au�.Auflage, 2005.

Wilhelm Stephan Model Driven Architecture 23 / 23