Authors:
Stefan Götz
1
;
Matthias Tichy
1
and
Timo Kehrer
2
Affiliations:
1
Institute of Software Engineering and Programming languages, Ulm University, James-Franck Ring, Ulm, Germany
;
2
Department of Computer Science, Humboldt - University of Berlin, Berlin, Germany
Keyword(s):
Model Transformation Languages, ATL, Java, Complexity.
Abstract:
Model transformations are among the key concepts of model-driven engineering (MDE), and dedicated model transformation languages (MTLs) emerged with the popularity of the MDE paradigm about 15 to 20 years ago. MTLs claim to increase the ease of development of model transformations by abstracting from recurring transformation aspects and hiding complex semantics behind a simple yet intuitive syntax. Nonetheless, MTLs are rarely adopted in practice, there is still no empirical evidence for this claim, and the argument of abstraction deserves a fresh look in the light of modern general-purpose languages (GPLs) which have undergone a significant evolution in the last two decades. In this paper, we report about a study in which we compare the complexity of model transformations written in three different languages, namely (i) the Atlas Transformation Language (ATL), (ii) Java SE5, and (iii) Java SE14; the Java transformations are derived from an ATL specification using a translation schem
a we developed in terms of our study. In a nutshell, we found that some of the new features in Java SE14 compared to Java SE5 help to significantly reduce the complexity of transformations written in Java. At the same time, however, the relative amount of complexity that stems from aspects that ATL can hide from the developer stays about the same. Based on these results, we indicate potential avenues for future research on the comparison of MTLs and GPLs in a model transformation context.
(More)