Remodularizing Legacy Model Transformations with Automatic Clustering Techniques

Andreas Rentschler, Dominik Werle, Qais Noorshams, Jens Happe, Ralf Reussner · 2011

Abstract. In model-driven engineering, model transformations play a critical role as they transform models into other models and finally into executable code. Whereas models are typically structured into packages, transformation programs can be structured into modules to cope with their inherent code complexity. As the models evolve, the structure of transformations steadily deteriorates, and eventually leads to adverse effects on the productivity during maintenance. In this paper, we propose to apply clustering algorithms to find decom-positions of transformation programs at the method level. In contrast to clustering techniques for general-purpose languages, we integrate not only method calls but also class and package dependencies of the mod-els into the process. The approach relies on the Bunch tool for finding decompositions with minimal coupling and maximal cohesion. First experiments indicate that incorporating model use dependencies leads to results that reflect the intended structure significantly better. 1

Read the paper · More papers on PaperTik