[Back]


Diploma and Master Theses (authored and supervised):

P. Huber:
"The Model Transformation Language Jungle - An Evaluation and Extension of Existing Approaches";
Supervisor: G. Kappel, M. Wimmer; Institut für Softwaretechnik und Interaktive Systeme, 2008.



English abstract:
Model Transformations are a key prerequisite for Model Driven Engineering(MDE) and therefore represent an active research area. Various model transformation languages are available, whereas the languages can be categorized into different approaches. Depending on the particular situation, one model transformation approach might be better suited to accomplish the given task than another approach. Classifications of model transformation languages exist, which also include a taxonomy of general features a model transformation language may support. Based on this taxonomy, it is possible to compare model transformation approaches in order to find out how suitable they are for a given problem. Like in common object oriented-programming approaches, such as Java, there are some particular problems which appear repeatedly. For example, it is often necessary to transform an attribute value in the source model to an object in the target model.
For such cases, it should be considered to solve these problems in a generic way for improving the reuse of model transformation definitions.

In this thesis, four model transformation languages, namely Atlas Transformation Language (ATL), SmartQVT, Kermeta, and ModelMorf are evaluated based on the taxonomy proposed by Czarnecki et al. [5]. These languages are chosen, because they represent the state of the art approaches for transforming models in the field of MDE. ATL is a hybrid language mixing declarative and imperative constructs. Kermeta and SmartQVT act as examples for an imperative language. More specifically, SmartQVT implements the operational part of the Object Management Group Query/View/Transformation (OMG QVT) standard. ModelMorf implements the Relational QVT language and therefore represents a purely declarative approach.

For the purpose of conducting the evaluation, several model transformation examples are defined and implemented using the aforementioned languages. These examples cover model transformation problems appearing in practice, in order to emphasize the advantages and limitations of the particular language. In the second part of this thesis, Kermeta is used to implement a library which solves common problems appearing in model transformations. This library can then be used in practical transformations for simplifying the development process. Finally, the results of the evaluation are discussed, in order to propose guidelines on which model transformation approaches are suitable for which problems.

German abstract:
Modelltransformationen sind die Grundlage für Model Driven Engineering (MDE) und stellen daher ein aktives Forschungsfeld dar. Es gibt verschiedenste Modelltransformationssprachen, welche in verschiedene Kategorien eingeteilt werden können. Abh ängig von der jeweiligen Situation, kann ein bestimmter Modelltransformationsansatz geeigneter als ein Anderer sein, um eine bestimmte Aufgabe zu lösen. Klassifikationen von Modelltransformationssprachen existieren, darin beinhaltet ist auch eine Sammlung von allgemeinen Features, welche von Modelltransformationssprachen unterstützt werden können. Basierend auf dieser Klassifikation ist es möglich, verschiedene Modelltransformationsansätze zu vergleichen, um herauszufinden, wie geeignet sie für jeweils ein bestimmtes Transformationsproblem sind. Erste Untersuchungen zeigen, dass wie in üblichen objektorientierten Programmiersprachen, wie etwa Java, es bestimmte Problemstellungen gibt, die wiederholt auftreten. Zum Beispiel ist es oft notwendig, einen Attributwert im Quellmodell zu einem Objekt im Zielmodell zu transformieren. Für solche Fälle sollte man in Erwägung ziehen, diese Probleme generisch zu lösen, um die Wiederverwendbarkeit von Modelltransformationen zu verbessern.

Basierend auf der von Czarnecki et al. vorgeschlagenen Klassifikation [5] werden in dieser Arbeit vier Modelltransformationssprachen, nämlich Atlas Transformation Language (ATL), SmartQVT, Kermeta und ModelMorf evaluiert. Diese Sprachen wurden ausgewählt, da sie den momentanen Stand der Technik für Modelltransformationen im Bereich von MDE repräsentieren. ATL ist eine hybride Sprache und mischt sowohl deklarative als auch imperative Sprachkonstrukte. Kermeta und SmartQVT dienen als Beispiele für imperative Sprachen. Weiters implementiert SmartQVT den Operational Part des Object Management Group Query/View/Transformation (OMG QVT) Standards. ModelMorf implementiert den Relational QVT Standard und repräsentiert somit einen rein deklarativen Ansatz.

Für die Durchführung der Evaluierung, werden mehrere Beispieltransformationen definiert und mit den zuvor erwähnten Sprachen implementiert. Diese Beispiele decken Transformationsprobleme ab, die in der Praxis auftreten, um die Vorteile und Beschränkungen der einzelnen Sprachen aufzuzeigen. Im zweiten Teil der Arbeit wird mit Kermeta eine Bibliothek implementiert, die wiederkehrende Problemstellungen, die bei Modelltransformationen auftreten, löst. Diese Bibliothek kann dann in der Praxis genutzt werden, um den Entwicklungsprozess von Transformationen zu vereinfachen. Zuletzt werden die Ergebnisse der Evaluierung diskutiert, um Richtlinien vorzuschlagen, welche Modelltransformationsansätze für welche Probleme geeignet sind.


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_166162.pdf


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