Improving Reusability of Model Transformations by Automating their Composition
Résumé
Model based software design relies on model transformations. In order to ease their reuse and maintenance, transformations can be broken down into smaller transformation units that are to be composed. When reusing transformation units in different projects, it is necessary to identify how to compose them in order to obtain a valid transformation. A valid transformation is a chain of transformation units where the output model of a unit meets the conditions of applicability of the next unit. When the conditions of applicability of transformation units is complex, the construction of valid chains becomes error prone and time consuming. In a previous work, we proposed to automate the identification of model transformations chains by formalizing models and transformations using Alloy. The complexity of this identification grows rapidly with the number of elements in the input model, the number of transformation units to apply. This is even more difficult when they transformations are endogenous. In this paper, we present optimizations for the identification of transformation chains. Performance evaluation shows significant improvements, and alleviates the scalability problem identified in our previous work. In addition, the method we propose in this paper helps the identification of valid sub-chains, where only a subset of transformation units is correctly chained.