Is there a future for Model Transformation Languages? To be honest, I’m not sure. And I think that this concern is shared by other members of the model transformation community. But of course, maybe we are plain wrong.
I think we can all agree that model transformations and manipulations are a key element in any model-driven engineering approach. The “traditional” way to tackle model transformation problems is to write a transformation program using a specific transformation language (such as ATL, QVT, ETL, …). But my feeling is that this traditional strategy seems to lead us nowhere. On the one hand, I know several companies that prefer to write transformations directly in general languages like Java. On the other hand, semi-automatic approaches (AI-based, transformation-by-example methods,..) could enable users to generate transformations without actually writing them.
I think this is an interesting and relevant topic to discuss. That’s why we organized (together with Loli Burgueño and Sébastien Gérard) an open discussion* at the next ICMT 2019 conference to discuss altogether whether there is still a future for Transformation Languages. If not, what will replace them?. If yes, how can they remain relevant?. This discussion presented the results of a survey that was answered by over 60 people (thanks a lot!). See the slides below for some interesting graphics on the usage and opinions about model transformation languages.Is there a future for Model Transformation Languages? Survey results here: https://www.slideshare.net/jcabot/is-there-a-future-for-model-transformation-languages Click To Tweet
A summary of the survey results are collected in this presentation
During the conference session we collected more feedback and the discussion also continued online. All this input has helped us a lot to interpret, contextualize and expand on them.
Thanks to all this community effortm we have now been able to release the final results of this empirical/community evaluation of the Model Transformation Languages field health and future perspectives. You can freely read it in this paper: The Future of Model Transformation Languages: An Open Community Discussion published in the JOT Journal.
Looking at the results of our study, we can conclude that there is an agreement on the fact that model transformation languages are becoming less popular but will remain being used in niches where their benefits can be more easily demonstrated. In this sense, probably MTLs are following the typical journey through the hype cycle. After the “peak of inflated expectations” we are now climbing the “slope of enlightenment”.
There is also an agreement on the fact that negative results for MTLs are not (only) a technical issue but mostly due to social and tool aspects (i.e., knowledge and acceptance of MDE, lack of support and maintenance of MTLs, etc.) and due to the improvements in GPLs themselves that have integrated some of the ideas and programming constructs that years ago were only present in MTLs.
We can also conclude that new approaches such as search-based model transformations are not considered as an alternative to be used in practice for now. Probably because they are still mere research prototypes. We believe any academic or practitioner interested in the field of model transformations can get some interesting insights from this work.
Moreover, we also believe that this “exercise” was well appreciated by the community that felt it was important to have a collective discussion on these key topics. We hope this or similar discussions continue in the future including also quantitative evaluations. For instance, one of the suggestions from the open discussion was to replicate the experiments in over alternative scenarios, e.g. one where traceability is important. Most MTLs are very good at keeping transformation traces and, therefore, these additional experiments could highlight use cases where MTLs are still clearly advantageous
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering