Efficient ATL Incremental Transformations

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

Abstract

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.

Keywords

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