Modell-Transformationen mit ATL und QVT
25. Januar 2010 von Hendrik Schreiber
Ich habe mich vor einiger Zeit mit Modell-Transformationen beschäftigt. Dazu zählen die Sprachen QVT und ATL. Dabei habe ich mich auch mit dem Auslösen der Transformationen aus Java heraus beschäftigt.
Um meine Projekte ausführen zu können braucht man:
MediniQVT-Plugin entpacken und in den “dropins”-Ordner von Eclipse ablegen. Die Projekte aus der Zip-Datei alle in den Eclipse-Workspace importieren. Die Projekte mit dem Präfix Meta_* beinhalten die Metamodelle bzw. die dazugehörigen GMF-Editoren. Weiterhin gibt es ein Projekt “Model_Transformation”, das ein Plugin beinhaltet, welches die Transformationen mit ATL durchführt (In dieser Version ist auch eine QVT-Beispiel-Transformation enthalten). Die ATL-Transformation ist in dem ATL-Projekt mit dem Namen ATL_Model_Transformation zu finden.
Um nachzuollziehen, wie ATL bzw. QVT-Transformationen aus Java ausgelöst werden können, einfach den Source-Code des Projektes Model-Transformation anschauen.
Um das Ganze auszuprobieren, müssen die Plugins als Eclipse-Application gestartet werden. Dort zunächst eine Model-Instanz des Source_Metamodells anlegen (Neues Projekt; Dann unter Neu->Examples). Anschließend das Diagramm bearbeiten, z.B. zwei Pages hinzufügen und einen Link mit Source und Target. Danach Rechtsklick auf die Datei und im Kontextmenü Transformation->Transform auswählen. Anchließend einmal das Verzeichnis aktualisieren und es sollten zwei Dateien erscheinen. Eine ist über ATL enstanden, die andere über QVT. Debug-Ausgaben finden sich in der Konsole der ursprünglichen Eclipse-Umgebung. Um sich das Ergebnis grafisch anzugucken im Kontextmenü die Diagramm-Dateien erstellen und öffnen.
