Home

Modeltransformationen

Modeltransformationen sind automatisierte Verfahren zur Umwandlung von Modellen in andere Modelle oder in Artefakte im Rahmen des modellgetriebenen Engineerings (MDE). Sie definieren, wie Eingabe-Modelle, die auf einem Metamodell basieren, in Ausgabe-Modelle oder Textdateien überführt werden, wobei Transformationsregeln oder -muster die Semantik festlegen. Typischerweise werden Model-to-Model (M2M) Transformationen von einem Modell in ein anderes Modell mit möglicherweise anderem Metamodell durchgeführt, während Model-to-Text (M2T) Transformationen Text erzeugen (zum Beispiel Code, Dokumentation oder Konfigurationsdateien) aus einem Modell.

Transformationen können innerhalb desselben Metamodells (endogene Transformationen) oder zwischen unterschiedlichen Metamodellen (exogene Transformationen) stattfinden. Sie werden

Der Transformationsprozess besteht typischerweise aus Eingabe-Modellen (und ggf. Metamodellen), Transformationsregeln, einer Ausgabestruktur und Validierungsschritten. Wichtige Qualitätskriterien

Anwendungen reichen von der Code-Generierung aus UML- oder DSL-Modellen über die Synchronisation von Modellbestandteilen bis zur

oft
durch
spezialisierte
Transformationssprachen
definiert,
etwa
die
OMG-Standards
QVT
(Query/View/Transformation)
und
deren
Relationen-Variante,
oder
domänennahe
Sprachen
wie
ATL.
Für
M2T
werden
häufig
templatingbasierte
Sprachen
wie
Acceleo
oder
Xpand
eingesetzt.
sind
Korrektheit
der
Regeln,
Termination,
Determinismus,
Nachvollziehbarkeit
der
Herkunft
(Traceability)
und
Skalierbarkeit.
Debugging
und
Verifikation
von
Transformationslogik
gehören
zu
den
zentralen
Herausforderungen.
Evolution
von
Modellen
bei
Plattformwechseln.
Herausforderungen
sind
Komplexität,
Wartbarkeit
der
Regeln,
Änderungsmanagement
von
Metamodellen
sowie
die
Sicherstellung
konsistenter,
reproduzierbarer
Transformationen.