ESR 15: Cloud-Based Low-Code Model Transformations Composition and ExecutionApurvanand Sahay
University of L'Aquila (Italy)
The development of complex and large transformations can benefit from the reuse of smaller ones that can be composed according to user requirements. Composing transformations is a complex problem: typically smaller transformations are discovered and selected by developers from different and heterogeneous sources. Then the identified transformations are chained by means of manual and error-prone composition processes. In order to chain transformations it is necessary to ensure the pre- and post-conditions of the considered transformations and to verify the metamodels compatibility condition, i.e., that the output metamodel of the first transformation is immersed in the input metamodel of the second one.
In case of similar output and input metamodels, the metamodels compatibility condition can be too strong and would discard transformations that could potentially be chained. Moreover, existing approaches are based only on structural aspects of transformations and metamodels.
The objective of this project is to develop an approach to compose and execute model transformations that will enable the development of complex transformations by reusing and composing simpler and smaller ones. Transformation compositions and properties will be specified by means of a dedicatedModel Transformation Composition Language (MTCL) that will be developed in the project. The specified properties can refer to both syntactical characteristics of the composed transformations (i.e., the source, and the target metamodels), and semantic aspects that that will drive the selection of the intermediate transformations that have to be retrieved from a repository of existing model transformations. In this respect a challenging open problem is assessing the semantics preservation of chained model transformations. An engine will be also developed to support the execution of the composed transformations. All tools developed in this project will be implemented as software-as-a-service, enabling their remote adoption and easy integration with external tools.
The first objective of the project is to develop a theory of model transformation composition. The properties to be maintained during and after the execution of model transformations will be also investigated. Then a domain specific language (MTCL) will be defined for specifying model transformation compositions, i.e., the properties and the constraints that composed transformations have to satisfy. Algorithms to automatically compose model transformations according to MTCL specifications will be also defined. By considering each single transformation as a service, the outcome of the composition will be a composition model that will be consumed by a model transformation orchestration engine able to execute the composed transformation as specified in the composition model previously produced. Based on our preliminary results in we expect a significant reduction of the time required to compose transformations (from minutes to seconds or even hours depending on the repository population and on the complexity of the chain).