Beruflich Dokumente
Kultur Dokumente
MDA
Model Driven Architecture
Christian Ranz
1 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Inhaltsverzeichnis
1 Einführung
Motivation
Visionen und Ziele
2 MDA genauer Betrachtet
Modelle und Metamodelle
Grundlegende Konzepte
Transformationen
MDA Entwicklungsprozess
3 unterschiedliche Interpretationen
Grad der Automatisierung
Elaborationist vs Translationist
4 Fazit
2 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Einführung
3 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Einführung
4 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Einführung
4 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Einführung
4 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Einführung
4 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
5 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
5 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
5 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Motivation
6 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Motivation
6 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Motivation
6 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Motivation
6 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Motivation
6 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Gründe dafür
7 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Gründe dafür
7 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Gründe dafür
7 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
zu geringe Abstraktionsebene
class Umdrehungsmesser {
private int umdrehungen ;
public Umdrehungsmesser () {}
public void startZaehlen () {}
public int stoppZaehlen () {}
}
class Tempomat {
private Umdrehungsmesser umdrehungsmesser ;
private float u md r e hu n g en P r oM e t er ;
private float s ol l G es c h wi n d ig k e it ;
private double umdrehungen ;
private static Tempomat tempomat ;
private Tempomat () {}
public static Tempomat Instance () {}
public bool s e t S o l l G e s c h w i n d i g k e i t () {}
public void startKalibrieren () {}
public void stoppKalibrieren () {}
}
8 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
zu niedrige Abstraktionsebene
9 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
10 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Effizienzsteigerung
11 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Effizienzsteigerung
Steigerung der Softwarequalität
11 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Effizienzsteigerung
Steigerung der Softwarequalität
bessere Wiederverwendbarkeit
11 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Effizienzsteigerung
Steigerung der Softwarequalität
bessere Wiederverwendbarkeit
besserer Umgang mit einem Technologiewechsel
11 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
12 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Modelle ...
sind ”menschenfreundlich“
13 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Modelle ...
sind ”menschenfreundlich“
ermöglichen einen hohen Abstraktionsgrad
13 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Modelle ...
sind ”menschenfreundlich“
ermöglichen einen hohen Abstraktionsgrad
helfen Systeme zu verstehen
13 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Modelle ...
sind ”menschenfreundlich“
ermöglichen einen hohen Abstraktionsgrad
helfen Systeme zu verstehen
erleichtern das Finden von Fehlern
13 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Modelle ...
sind ”menschenfreundlich“
ermöglichen einen hohen Abstraktionsgrad
helfen Systeme zu verstehen
erleichtern das Finden von Fehlern
dokumentieren ein System
13 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Metamodelle
14 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Anforderungen an Modelle
15 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Anforderungen an Modelle
15 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Anforderungen an Modelle
15 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
16 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
16 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
16 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
UML Profile
17 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
UML Profile
17 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
UML Profile
17 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
18 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF
19 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF
19 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF
19 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF
19 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF Metastufen
MOF besteht aus 4 Metastufen
20 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF Metastufen
MOF besteht aus 4 Metastufen
M0
Die M0 Ebene beinhaltet konkrete Objekte und stellt das laufende
System dar.
20 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF Metastufen
MOF besteht aus 4 Metastufen
M0
Die M0 Ebene beinhaltet konkrete Objekte und stellt das laufende
System dar.
M1
Das Systemmodell, UML Modell mit Klassen, Operationen und
Attributen ...
20 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF Metastufen
MOF besteht aus 4 Metastufen
M0
Die M0 Ebene beinhaltet konkrete Objekte und stellt das laufende
System dar.
M1
Das Systemmodell, UML Modell mit Klassen, Operationen und
Attributen ...
M2
Definition der in der M1 Ebene verwendeten Konzepte wie Klasse
und Attribut
20 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF Metastufen
MOF besteht aus 4 Metastufen
M0
Die M0 Ebene beinhaltet konkrete Objekte und stellt das laufende
System dar.
M1
Das Systemmodell, UML Modell mit Klassen, Operationen und
Attributen ...
M2
Definition der in der M1 Ebene verwendeten Konzepte wie Klasse
und Attribut
M3
MOF Class, selbstbeschreibend
20 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
MOF Metastufen
21 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Grundlegende Konzepte
22 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Grundlegende Konzepte
22 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Grundlegende Konzepte
22 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Grundlegende Konzepte
22 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Grundlegende Konzepte
22 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
plattformunabhängige Modelle
23 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
plattformunabhängige Modelle
23 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
plattformunabhängige Modelle
23 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
plattformabhängige Modelle
Platform Model:
24 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
plattformabhängige Modelle
Platform Model:
Beschreibung der Zieltechnologie
wird für die Transformation benötigt
Platform Specific Model:
24 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
plattformabhängige Modelle
Platform Model:
Beschreibung der Zieltechnologie
wird für die Transformation benötigt
Platform Specific Model:
beschreibt das System in einer konkreten Zieltechnologie
sollte im Idealfall automatisch erstellt werden
letztes Modell vor dem Programmcode
24 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Transformationen
Transformationen sind ein sehr wichtiger Bestandteil der
MDA, aber zugleich die das größte Problem.
25 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Transformationen
Transformationen sind ein sehr wichtiger Bestandteil der
MDA, aber zugleich die das größte Problem.
Umwandlung von Modell zu Modell oder von Modell zu Code
25 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Transformationen
Transformationen sind ein sehr wichtiger Bestandteil der
MDA, aber zugleich die das größte Problem.
Umwandlung von Modell zu Modell oder von Modell zu Code
Ergänzung der Modelle mit programmierspezifischen Details
25 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Transformationen
Transformationen sind ein sehr wichtiger Bestandteil der
MDA, aber zugleich die das größte Problem.
Umwandlung von Modell zu Modell oder von Modell zu Code
Ergänzung der Modelle mit programmierspezifischen Details
die Grundsemantik muss erhalten bleiben (Konsistenz)
25 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Transformationen
Transformationen sind ein sehr wichtiger Bestandteil der
MDA, aber zugleich die das größte Problem.
Umwandlung von Modell zu Modell oder von Modell zu Code
Ergänzung der Modelle mit programmierspezifischen Details
die Grundsemantik muss erhalten bleiben (Konsistenz)
Probleme
Modelle liegen auf unterschiedlichen Abstraktionsebenen
fehlende Informationen im Quellmodell (”String“ (PIM) -¿
”VARCHAR“ (PSM). Größe?? )
25 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Transformationen
Transformationen sind ein sehr wichtiger Bestandteil der
MDA, aber zugleich die das größte Problem.
Umwandlung von Modell zu Modell oder von Modell zu Code
Ergänzung der Modelle mit programmierspezifischen Details
die Grundsemantik muss erhalten bleiben (Konsistenz)
Probleme
Modelle liegen auf unterschiedlichen Abstraktionsebenen
fehlende Informationen im Quellmodell (”String“ (PIM) -¿
”VARCHAR“ (PSM). Größe?? )
Lösungen
Marking
Model Transformation
Metamodel Transformation
25 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Entwicklungsprozess
26 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
unterschiedliche Interpretationen
27 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
unterschiedliche Interpretationen
27 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
unterschiedliche Interpretationen
27 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
unterschiedliche Interpretationen
27 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
unterschiedliche Interpretationen
27 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
unterschiedliche Interpretationen
27 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Elaborationist vs Translationist
28 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
Einsatz in der Businesssoftware Industrie
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
Einsatz in der Businesssoftware Industrie noch nicht
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
Einsatz in der Businesssoftware Industrie noch nicht
Bereich der eingebetteten Systeme (CASE-Tools seit den
80ern)
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
Einsatz in der Businesssoftware Industrie noch nicht
Bereich der eingebetteten Systeme (CASE-Tools seit den
80ern) X
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
Einsatz in der Businesssoftware Industrie noch nicht
Bereich der eingebetteten Systeme (CASE-Tools seit den
80ern) X
Entwicklungsumgebungen für MDA
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
Einsatz in der Businesssoftware Industrie noch nicht
Bereich der eingebetteten Systeme (CASE-Tools seit den
80ern) X
Entwicklungsumgebungen für MDA X
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Fazit
weiterer Abstraktionsschritt X
Einsatz in der Businesssoftware Industrie noch nicht
Bereich der eingebetteten Systeme (CASE-Tools seit den
80ern) X
Entwicklungsumgebungen für MDA X
FAZIT:
Es ist vermutlich nur noch eine Frage der Zeit bis MDA die breite
Masse der Softwareindustrie erreicht. Bis dahin müssen allerdings
noch einige Hürden überwunden werden.
29 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
FRAGEN
30 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Vielen Dank!
31 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Marking
32 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Metamodel Transformation
33 / 34
Einführung MDA genauer Betrachtet unterschiedliche Interpretationen Fazit
Model Transformation
34 / 34