Huber, P. (2008). The model transformation language jungle : an evaluation and extension of existing approaches [Master Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/183575
Model Transformations are a key prerequisite for Model Driven Engineering (MDE) and therefore represent an active research area.<br />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.<br />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. 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.<br />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.