Efficient ATL Incremental Transformations

By: Théo Le Calvar, Frédéric Jouault, Fabien Chhel, Mickael Clavreul


Incrementally executing model transformations offers several benefits such as updating target models in-place (instead of creating a new copy), as well as generally propagating changes faster (compared with complete re-execution). Active operations have been shown to of- fer performant OCL-based model transformation incrementality with use- ful properties like fine-grained change propagation, and the preservation of collection ordering. However, active operations have so far only been available as a Java library. This compels users to program at a relatively low level of abstraction, where most technical details are still present. Writing transformations at this level of abstraction is a tedious and error prone work. Using languages like Xtend alleviates some but not all issues. In order to provide active operation users with a more user-friendly front-end, we have worked on compiling ATL code to Java code using the active operations library. Our compiler can handle a significant subset of ATL, and we show that the code it generates provides similar performance to hand-written Java or Xtend code. Furthermore, this compiler also enables new possibilities like defining derived properties by leveraging the ATL refining mode.


Incremental model transformation Active operations ATL.

Cite as:

Théo Le Calvar, Frédéric Jouault, Fabien Chhel, Mickael Clavreul, “Efficient ATL Incremental Transformations”, Journal of Object Technology, Volume 18, no. 3 (July 2019), pp. 2:1-17, doi:10.5381/jot.2019.18.3.a2.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact