Transforming models is a crucial activity in Model Driven Engineering (MDE). With the adoption of the OMG QVT standard for model transformation languages, it is anticipated that the experience in applying model transformations in various domains will increase. However, the QVT standard is just one possible approach for solving model transformation problems. In parallel with the QVT activity, many research groups and companies have been working on their own model transformation approaches and languages. It is important for software developers to be able to compare and select the most suitable languages and tools for a particular problem. This paper compares several model-to-model transformation languages as a step in the direction of gathering knowledge about the existing model transformation approaches. The focus is on the major language components (sublanguages and their features, execution tools, etc.) and how they are related. The major goal is to motivate the need for language interoperability and to explore options and obstacles for such interoperability. We propose a set of heuristics to reason about the problems that must be addressed when translators between languages have to be developed. These heuristics are applied on several examples. The experience from these examples shows that achieving a large degree of interoperability is difficult since some languages expose incompatible features. We managed to identify, however, cases where the interoperability between languages is feasible and brings certain benefits.
Jouault, F., & Kurtev, I. (2007). On the interoperability of model-to-model transformation languages. Science of Computer Programming, 68(3), 114–137. https://doi.org/10.1016/j.scico.2007.05.005