As model transformations have become an integral part of the automated software engineering lifecycle, reuse, modularisation, and composition of model transformations becomes important. One way to compose model transformations is to compose modules of transformation rules, and execute the composition as one transformation (internal composition). This kind of composition can provide fine-grained semantics, as it is part of the transformation language.
A recent work lead by Dennis Wagelaar an co-authored by myself, Frédéric Jouault and Massimo Tisi aims to generalise two internal composition mechanisms for rule-based transformation languages, module import and rule inheritance, by providing executable semantics for the composition mechanisms within a virtual machine.
The generality of the virtual machine is demonstrated for different rule-based transformation languages by compiling those languages to, and executing them on this virtual machine. We will discuss how ATL and graph transformations can be mapped to modules and rules inside the virtual machine. In fact, to me, this last aspect is one of the most promising ones. We would like to explore up to which point we can generalize the semantics of different transformation languages and map them to a common transformation engine able to execute transformations written in different rule-based model transformation languages.
Interested? This is the link to the paper (published in the MoDELS’11 conference, let me know if you need help to cross the paywall) and the video of the presentation:
After a complete failure in convincing students about the benefits of code generation, we laid out a set of recommendations for instructors and tool vendors to increase the chance of success in the adoption of model-driven engineering