MDSD Einführung und Überblick

32
Seite 2 / 33 MDSD Einführung und Überblick Referent: Carsten Schädel Model Driven Software Development

description

Am 8. April 2008 fand in den Räumlichkeiten des Kosaido International Golfclubs in Düsseldorf die zweite Veranstaltung zum Thema modellgetriebene Softwareentwicklung (MDSD) statt. Unter dem Titel "MDSD - Chance und Herausforderung für IT-Organisationen" lag der Schwerpunkt der Vorträge dieses Mal auf den Organisatorischen Rahmenbedingungen, in denen MDSD erfolgreich betreiben

Transcript of MDSD Einführung und Überblick

Page 1: MDSD Einführung und Überblick

Seite 2 / 33

MDSD Einführung und Überblick

Referent:

Carsten Schädel

Model Driven Software Development

Page 2: MDSD Einführung und Überblick

Seite 3 / 33

Ziele

Grundgedanke

Glossar der wichtigsten Begriffe

Page 3: MDSD Einführung und Überblick

Seite 4 / 33

Glossar

Domäne

Page 4: MDSD Einführung und Überblick

Seite 5 / 33

Domäne

mögliche Definitionen:

– „A domain is a bounded area of knowledge or interest“(nach Völter)

– „abgrenzbares Problemfeld des täglichen Lebens in

Softwaresystemen“(Wiktionary)

je abgegrenzter, desto besser bzw. einfacher hand zu haben.

Page 5: MDSD Einführung und Überblick

Seite 6 / 33

Glossar

Domäne abgegrenzter Problemraum

Page 6: MDSD Einführung und Überblick

Seite 7 / 33

Problemfelder/ Problemräume sind …

architektur-zentriert domänen-zentriert

• Abbildung in die gewählte

Technologie

• architektur-zentrierte MDSD

• wird durch die konkrete Fachlichkeit

vorgegeben

• fachlich-zentrierte MDSD

(Architektur/Technik motiviert) (fachlich motiviert)

Page 7: MDSD Einführung und Überblick

Seite 8 / 33

Grundgedanke

Page 8: MDSD Einführung und Überblick

Seite 9 / 33

Grundgedanke

Modell

unabhängig von der Technologie

Generat

Zielplattform

Generator

ausführen auf

Page 9: MDSD Einführung und Überblick

Seite 10 / 33

Glossar

Domäne abgegrenzter Problemraum

Page 10: MDSD Einführung und Überblick

Seite 11 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell

– formalisiertes Wissen der Domäne bzw. fachliche Beschreibung

eines Problemraumes

– unabhängig von der einzusetzenden Technologie

Page 11: MDSD Einführung und Überblick

Seite 12 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator

Transformator

Page 12: MDSD Einführung und Überblick

Seite 13 / 33

Generator - Transformator

Gemeinsamkeiten

– interpretieren eines Modells

– enthalten möglichst viel Wissen um den Problemraum

– setzen ein Regelwerk zur Generierung/Transformation um

– setzen allgemeine Muster für Architektur und Code um

Page 13: MDSD Einführung und Überblick

Seite 14 / 33

Generator - Transformator

Generatoren M2T (model to text)

– beschreiben Generierung von Artefakten(HTML-Seiten, XML-Dateien, Quellcode …)

Transformatoren M2M (model to model)

– beschreiben Modell-zu-Modell-Transformationen

– tiefergehende Informationen: Artikel im Java - Magazin

Generatoren/Transformatoren können in beliebig vielen

Schritten gekoppelt sein

Page 14: MDSD Einführung und Überblick

Seite 15 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Page 15: MDSD Einführung und Überblick

Seite 16 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat

– Ergebnis der Generierung

– wird auf Zielplattform ausgeführt

Page 16: MDSD Einführung und Überblick

Seite 17 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform

Page 17: MDSD Einführung und Überblick

Seite 18 / 33

Zielplattform

Laufzeitumgebung zur Ausführung der Generate

wird durch Frameworks und Komponenten zur

„domänenspezifischen Plattform“

Page 18: MDSD Einführung und Überblick

Seite 19 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform

Page 19: MDSD Einführung und Überblick

Seite 20 / 33

Domänenspezifische Plattform

bringt die Zielplattform durch Frameworks und Komponenten

der Domäne ‚näher‘

je spezifischer die Plattform, desto einfacher der Generator

für alle Anwendungen einer Domäne gleich

Page 20: MDSD Einführung und Überblick

Seite 21 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform erweiterte Zielplattform

Page 21: MDSD Einführung und Überblick

Seite 22 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform erweiterte Zielplattform

DSL

Page 22: MDSD Einführung und Überblick

Seite 23 / 33

Domänenspezifische Sprache

Sprache zur Formulierung von Modellen in einem Problemraum

– DSL (domain specific language)

besitzt eine formale Spezifikation in Form eines Metamodells

kann in unterschiedlichen Formen dargestellt/realisiert werden

– UML, EMF, textuell

– konkrete Syntax

beschreibt einen speziellen Problemraum

Page 23: MDSD Einführung und Überblick

Seite 24 / 33

DSL in MDSD

Mehrwert von MDSD steigt,

– je abgegrenzter der Problemraum und

– je spezieller die DSL dieses Problemraumes ist

► Finde abgegrenzten Problemraum und entsprechende DSL

► In Projekten existieren u.U. mehrere DSLs nebeneinander

Page 24: MDSD Einführung und Überblick

Seite 25 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform erweiterte Zielplattform

DSL Modellierungssprache im Problemraum

Metamodell

Page 25: MDSD Einführung und Überblick

Seite 26 / 33

Metamodell

abstrakte Syntax

formalisiert die Strukturen einer Domäne

Beschreibung der Sprachkonstrukte einer DSL

definiert die Verwendung der Sprachkonstrukte

Modelle werden durch ein Metamodell maschinell überprüfbar

Page 26: MDSD Einführung und Überblick

Seite 27 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform erweiterte Zielplattform

DSL Modellierungssprache im Problemraum

Metamodell Sprachkonstrukte einer DSL

Page 27: MDSD Einführung und Überblick

Seite 28 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform erweiterte Zielplattform

DSL Modellierungssprache im Problemraum

Metamodell Sprachkonstrukte einer DSL

Domänen-Architektur

Page 28: MDSD Einführung und Überblick

Seite 29 / 33

Domänen-Architektur (domain architecture)

beschreibt die Umgebung vom Modell zum Softwareprodukt

beinhaltet

– DSL/ Metamodell

– Modelltransformation

– Zielplattform

Page 29: MDSD Einführung und Überblick

Seite 30 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform erweiterte Zielplattform

DSL Modellierungssprache im Problemraum

Metamodell Sprachkonstrukte einer DSL

Domänen-Architektur Umgebung Modell zu Softwareprodukt

Software Systemfamilie

Page 30: MDSD Einführung und Überblick

Seite 31 / 33

Software Systemfamilie

Programmgruppe mit gemeinsamen Eigenschaften

hier: gemeinsame Domänen-Architektur

Page 31: MDSD Einführung und Überblick

Seite 32 / 33

Glossar

Domäne abgegrenzter Problemraum

Modell formalisiertes Wissen der Domäne

Generator (M2T) Generierung von Artefakten

Transformator (M2M) Modell – zu – Modell

Generat Ergebnis der Generierung

Zielplattform Laufzeitumgebung

domänenspezifische Plattform erweiterte Zielplattform

DSL Modellierungssprache im Problemraum

Metamodell Sprachkonstrukte einer DSL

Domänen-Architektur Umgebung Modell zu Softwareprodukt

Software Systemfamilie gemeinsame Domänen-Architektur

Page 32: MDSD Einführung und Überblick

Seite 33 / 33

Fragen ?