[Back]


Diploma and Master Theses (authored and supervised):

A. Müller, G. Müller:
"Model Transformation By-Example: An Eclipse based Framework";
Supervisor: G. Kappel, M. Wimmer, M. Strommer; Institut für Softwaretechnik und Interaktive Systeme, 2008.



English abstract:
Many of the existing approaches for model transformation are metamodel-based and thus require detailed knowledge of the corresponding concepts and syntax. A solution often consists of a complete set of rules, which map meta elements between domains. These rules have to be provided by a third-party or the user herself. The latter case requires high levels of familiarity with both metamodels.
Model Transformation By-Example (MTBE) introduces a new concept. It enables the user to make use of her existing knowledge of the syntax and notation at the M1 level by deriving the rules automatically from mappings on the instance of a metamodel. The result of these generated rules and therefore the level of completeness can be applied continuously during the process and may lead to an iterative way of defining the necessary mappings. To be able to generate a complete rule set, the suggested framework is able to provide an extension mechanism to alter the behaviour of the whole analysing component.

This work proposes the implementation of an MTBE-based framework on top of the Graphical Modeling Framework (GMF). The framework is realized by utilising the plug-in capabilities of Eclipse. The graphical components used to create the diagrams and mappings are realized through a GMF editor. An extensible analyser is applied to translate those mappings to the next abstraction level and to provide a weaving model as well as a set of ATL (Atlas Transformation Language) rules for later use in transforming models in both directions.

The core of the analyser consists of three algorithms, which provide the basic logic and can be extended to handle additional domains. The Eclipse mechanism through extension points is used to provide this capability. For testing and demonstration purposes two GMF Editors were developed, one for UML class diagrams and one for the ER domain.

German abstract:
Viele der momentan existierenden Ans atze sowie Sprachen zur Modelltransformation sind metamodell-basiert. Sie setzen detaillierte Kenntnisse der Metamodellebene und deren Syntax voraus. Meist wird die Transformation durch ein vollst ändiges Regelwerk auf der Metaebene bewerkstelligt. Dazu m uüssen dem Benutzer entweder die Konzepte dieser Ebene bekannt sein, oder er vertraut auf eine eventuell vorhandene Lösung.

Einen neuen benutzerfreundlichen Ansatz daf ür beschreibt Model Transformation By-Example (MTBE). Der Benutzer arbeitet mit der ihm vertrauten Syntax auf Instanzebene und kann dort Mappings zwischen Elementen zweier verschiednener Modelle definieren, aus denen automatisch Regeln generiert werden. Das Ergebnis der Analyse kann während der Erstellung der Korrespondenzen laufend überprüft werden, sodass es möglich ist, diese iterativ zu bearbeiten, um schlussendlich alle nötigen Regeln abzuleiten. Des Weiteren erlaubt ein solches Framework das Erweitern der Analyse und ermöglicht es somit, auf diesen Schritt direkt Einfluss zu nehmen.

In dieser Arbeit wird ein Framework für MTBE auf Basis des Graphical Modeling Framework (GMF) umgesetzt. Die Implementierung von MTBE wird in ein Eclipse Plug-in eingebettet. Mappings auf der Modellebene können mit Hilfe eines automatisch generierten GMF-Editors gezeichnet werden. Eine so genannte Analyzer Komponente soll dann diese Mappings auswerten und daraus ein Weaving Modell beziehungsweise den ATL Code generieren.

Für den in dieser Arbeit vorgestellten Prototyp wurden drei Analysealgorithmen entwickelt. Die Implementierung wurde so umgesetzt, dass sie über eine integrierte Schnittstelle noch beliebig erweiterbar ist. Zusätzlich zu diesem Prototyp wurden zwei GMF-Editoren für die beiden Modellierungssprachen UML und ER entwickelt, welche als Beispielanwendung herangezogen werden, um Funktion, sowie entwickelte Algorithmen anhand einer Transformation zwischen den Sprachen UML und ER zu testen und auch zu präsentieren.

Created from the Publication Database of the Vienna University of Technology.