Modelltransformation

Modelltransformation

Modelltransformationen (auch Modell-zu-Modell-Transformation oder M2M-Transformation) sind ein wichtiges Mittel bei der modellgetriebenen Softwareentwicklung (MDSD/MDA).

Dabei treten Modelltransformationen in der Regel als zusätzlicher Schritt zwischen dem Validieren und der Codegenerierung auf. Sie bereiten die eingelesenen Modelle so auf, wie der Codegenerator sie erwartet. Transformationsregeln werden auf der Ebene der Metamodelle definiert. So müssen sowohl das Quell- als auch das Zielmodell Instanzen definierter Metamodelle sein.

Inhaltsverzeichnis

Arten von Modelltransformationen

Modellmodifikation (auch: Inplace Transformation)

Hierbei erzeugt die Transformation kein neues Modell, sondern modifiziert das Quellmodell. Diese Art der Transformation wird häufig verwendet, um Modelle um wenige, einfache Dinge zu erweitern. Beispielsweise könnte man für einen Zustandsautomaten einen 'NotAus' Zustand hinzufügen und diesen dann über neue Übergänge an alle modellierten Zustände anbinden.

Hier gilt immer : Quellmodell == Zielmodell

Modell-zu-Modell-Transformation (M2M)

In diesen etwas komplexeren Szenarien werden aus einem oder mehreren Quellmodellen, ein oder mehr Zielmodellen transformiert. Dabei werden die Quellmodelle nicht verändert und die Metamodelle können (müssen aber nicht) unterschiedlich sein.

Hier gilt immer : Quellmodell != Zielmodell

Modell-zu-Text Transformation (M2T)

In manchen Kreisen wird auch die Generierung von Text als Transformation (dann Modell-zu-Text) bezeichnet. Tatsächlich handelt es sich dabei um Codegeneratoren, wobei auch dieser Begriff nicht ganz ideal ist, weil er suggeriert, dass man nur Quelltext (Code) damit generiert. Tatsächlich werden in der Praxis aber alle Arten von Text aus Modellen abgeleitet.

Technologien

  • QVT - Der Standard der OMG zur metamodellbasierten Modell zu Modelltransformation
  • MOF2Text - Der Standard der OMG zur metamodellbasierten Modell zu Text Transformation
  • Xpand - Bestandteil des Generatorframeworks OpenArchitectureWare, um sowohl Modell-zu-Modelltransformationen, Modellmodifkation als auch Codegeneratoren zu beschreiben.
  • ATL - Ein Modell zu Modelltransformations-Toolkit auf Basis von EMF
  • Graphersetzung - Modelle sind für gewöhnlich Graphen, die sich mit Hilfe von Graphersetzungswerkzeugen und deklarativen Graphersetzungsregeln transformieren lassen.

Literatur

Überblicksarbeiten zu Modelltransformationen

  • Czarnecki, Krzysztof ; Helsen, Simon: Classification of Model Transformation Approaches. In: OOPSLA’03 Workshop on Generative Techniques in the Context of Model-Driven Architecture [1]
  • Czarnecki, K. ; Helsen, S.: Feature-based survey of model transformation approaches. In: IBM Syst. J. 45 (2006), Nr. 3, 621–645, ISSN 0018–8670, DOI: 10.1147/sj.453.0621 - Überarbeitete Version des Workshop-Papers von 2003

Literatur zu modellgetriebener Softwareentwicklung im Allgemeinen

  • Thomas Stahl, Markus Völter, Sven Efftinge: Modellgetriebene Softwareentwicklung. Techniken, Engineering, Management. 2. aktualisierte und erweiterte Auflage. Dpunkt-Verlag, Heidelberg 2007, ISBN 978-3-89864-448-8.
  • Georg Pietrek, Jens Trompeter (Hrsg.): Modellgetriebene Softwareentwicklung. MDA und MDSD in der Praxis. Entwickler-Press, Frankfurt am Main 2007, ISBN 978-3-939084-11-2.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Graphersetzungssystem — Beispiel für Graphersetzungsregel (Optimierung aus dem Compilerbau: Multiplikation mit 2 durch Addition ersetzt) Graphersetzungssysteme dienen der formalen Beschreibung der Veränderung von Graphen. Ein Graphersetzungssystem ist eine Menge M von… …   Deutsch Wikipedia

  • UML-Werkzeug — Ein UML Werkzeug ist ein Anwendungsprogramm, das einige oder auch alle Phasen im Entwicklungsprozess oder die Erzeugung von Artefakten unterstützt, die in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere… …   Deutsch Wikipedia

  • UML Werkzeug — Ein UML Werkzeug ist ein Anwendungsprogramm, das einige oder auch alle Phasen im Entwicklungsprozess oder die Erzeugung von Artefakten unterstützt, die in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere… …   Deutsch Wikipedia

  • UML tool — Ein UML Werkzeug ist ein Anwendungsprogramm, das einige oder auch alle Phasen im Entwicklungsprozess oder die Erzeugung von Artefakten unterstützt, die in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere… …   Deutsch Wikipedia

  • XML-Parser — Ein XML Prozessor ist eine Software zum Einlesen und Verarbeiten von XML Dokumenten. Häufig wird auch der Begriff XML Parser synonym verwendet, obwohl dieser eher ein Modul im Software Baustein „XML Prozessor“ ist, welches das Einlesen durchführt …   Deutsch Wikipedia

  • XML-Prozessor — Ein XML Prozessor ist eine Software zum Einlesen und Verarbeiten von XML Dokumenten. Häufig wird auch der Begriff XML Parser synonym verwendet, obwohl dieser eher ein Modul im Software Baustein „XML Prozessor“ ist, welches das Einlesen durchführt …   Deutsch Wikipedia

  • Tripel-Graph-Grammatik — Als Tripel Graph Grammatik (engl. triple graph grammar, kurz: TGG) bezeichnet man eine spezielle Art von Graphgrammatik, die vor allem für bidirektionale Modell zu Modell Transformationen verwendet wird. Besonderheit von Tripel Graph Grammatiken… …   Deutsch Wikipedia

  • ASCET — Basisdaten Entwickler ETAS Group Aktuelle Version …   Deutsch Wikipedia

  • FME — steht für: Feature Manipulation Engine, ein Werkzeug zur Modelltransformation speziell in der Geoinformatik Fränkische Museums Eisenbahn Funkmeldeempfänger Diese Seite ist eine Begriffsklärung zur Unterscheidung mehrere …   Deutsch Wikipedia

  • Meta Object Facility — Der Begriff Meta Object Facility (MOF) wurde von der Object Management Group (OMG) eingeführt und beschreibt eine spezielle Metadaten Architektur. Kernbestandteil ist ein Meta Meta Modell. Des Weiteren enthalten die MOF Spezifikation und… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”