Efficient ATL Incremental Transformations

Théo Le Calvar, Frédéric Jouault, Fabien Chhel, Mickael Clavreul
2019 Journal of Object Technology  
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 offer performant OCL-based model transformation incrementality with useful properties like fine-grained change propagation, and the preservation of collection ordering. However, active operations have so far only been available as
more » ... 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.
doi:10.5381/jot.2019.18.3.a2 fatcat:tdqruryiwjgm3opdmpmvj6o4am