Suche

Übersetzung der deklarativen Modelltransformationssprache QVT-Relations in Operational Mappings


Diplomarbeit, August 2007

Die Object Management Group (OMG) führte in den 90ern die Unified Modeling Language (UML) ein, welche zunächst in erster Linie der Unterstützung objektorientierter Softwareentwicklung dienen sollte. Inzwischen gilt Model Driven (Software) Development (MDD) als das zukünftige Vorgehensmodell für die Entwicklung von Software. Nach dem Prinzip "Alles ist ein Modell" sollen Softwaresysteme durchgängig mit Hilfe von Modellen beschrieben werden.

Durch QVT (Queries Views Transformations) gibt die OMG einen internationalen Standard für Modell-zu-Modell-Transformationen vor. Aufgrund der Vielzahl an existenten Modellen, welche verschiedene Sichten sowie unterschiedliche Abstraktionsniveaus beschreiben, bildet die Transformationssprache QVT die Verbindung zwischen den Modellen. Meta-Modelle definieren dabei die Modell-Syntax. QVT definiert zwei einerseits einen deklarativen Teil mit den Sprachen Relations und Core, zum anderen erweitert die Sprache Operational Mappings die deklarative Sprache um imperative Implementationsmöglichkeiten.

In dieser Diplomarbeit wurde ein Compiler entwickelt, der in Relations definierte Modell-Transformationen zu Operational Mappings übersetzt. So können beispielsweise im Falle von Änderungen in Quell- oder Zielmodell einer Transformation die erweiterten imperativen Implementations-Möglichkeiten genutzt werden, welche bis dahin nicht erforderlich waren. Zudem ist es meist einfacher, eine Transformation zunächst deklarativ auszudrücken, um sie später imperativ zu erweitern.