Abstract
In rule-based approaches, a model transformation definition tells how an instance of a source metamodel should be transformed to an instance of a target metamodel. As these metamodels undergo changes, model transformations defined over these metamodels may get out of sync. Restoring conformance between model transformations and the metamodels is a complex and error-prone task. In this paper, we propose a formal approach to automatically co-evolve model transformations according to the evolution of the metamodels. The approach is based on encoding the model transformation definition as a query-retyping combination and the evolution of the metamodels as applications of graph transformation rules. These rules are used to obtain an evolved query over the evolved metamodel together with a new retyping from the target metamodel. We will identify the criteria which need to be fulfilled in order to make this automatic co-evolution possible. We provide a tool support for this procedure, in which, from a traceability model that represents the original model transformation definition, we derive a co-evolved traceability model that represents the evolved transformation definition. Moreover, we use a case study to evaluate the approach with a set of commonly performed metamodel evolutions.
Similar content being viewed by others
Notes
The complete running example, input transformation and resulting traceability models are available at [25].
In \(\textsf {Person2Worker}\)/\(\textsf {Person2Client}\)\(\textsf {p.position =}\)\(\textsf {\#employee/\#client}\) is the concrete syntax for \(\textsf {p.position.emp = employee/client}\), respectively).
We increment these labels and in the following figures and we obey the numbers which are shown in the overview in Fig. 22.
References
Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)
Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Edelta: an approach for defining and applying reusable metamodel refactorings. In: ME Workshop @MoDELS (2017)
Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Quality-driven detection and resolution of metamodel smells. IEEE Access 7, 16364–16376 (2019)
Cuadrado, J.S., Guerra, E., de Lara, J.: Static analysis of model transformations. IEEE Trans. Softw. Eng. 43(9), 868–897 (2017)
Czarnecki, K., Foster, N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional transformations: a cross-discipline perspective. ICMT 2009, 193–204 (2009)
de Lara, J., Bardohl, R., Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Attributed graph transformation with node type inheritance. Theor. Comput. Sci. 376(3), 139–163 (2007)
Di Rocco, J., Di Ruscio, D., Iovino, L., Pierantonio, A.: Dealing with the coupled evolution of metamodels and model-to-text transformations. In: ME workshop @MoDELS, pp .22–31 (2014)
Di Ruscio, D., Etzlstorfer, J., Iovino, L., Pierantonio, A., Schwinger, W.: Supporting variability exploration and resolution during model migration. In ECMFA (2016)
Di Ruscio, D., Iovino, L., Pierantonio, A.: What is needed for managing co-evolution in mde? In: Proceedings of the 2nd IWMCP’11, pp. 30–38. ACM (2011)
Di Ruscio, D., Iovino, L., Pierantonio, A.: A methodological approach for the coupled evolution of metamodels and atl transformations. In: Duddy, K., Kappel, G. (eds.) Theory and Practice of Model Transformations, pp. 60–75. Springer, Berlin (2013)
Di Ruscio, D., Lämmel, R., Pierantonio, A.: Automated co-evolution of GMF editor models. In: Malloy, B., Staab, S., van den Brand, M. (eds.) Software Language Engineering, pp. 143–162. Springer, Berlin (2011)
Didonet Del Fabro, M., Valduriez, P.: Towards the efficient development of model transformations using model weaving and matching transformations. SoSyM 8(3), 305–324 (2009)
Diskin, Z., Gholizadeh, H., Wider, A., Czarnecki, K.: A three-dimensional taxonomy for bidirectional model synchronization. J. Syst. Softw. 111, 298–322 (2016)
Diskin, Z., Gómez, A., Cabot, J.: Traceability mappings as a fundamental instrument in model transformations. In: Huisman, M., Rubin, J. (eds.) Fundamental Approaches to Software Engineering—20th International Conference, volume 10202 of LNCS, pp. 247–263. Springer (2017)
Diskin, Z., Maibaum, T.S.E., Czarnecki, K.: Intermodeling, queries, and Kleisli categories. In: de Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering—15th International Conference, volume 7212 of LNCS, pp. 163–177. Springer (2012)
Ehrig, H., Ehrig, K., Ermel, C.: Refactoring of model transformations. In: ECEASST, 18 (2009)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. Springer, Berlin (2006)
Freund, M., Braune, A.: A generic transformation algorithm to simplify the development of mapping models. In: MoDELS, pp. 284–294. ACM (2016)
García, J., Diaz, O., Azanza, M.: Model transformation co-evolution: a semi-automatic approach. In: Czarnecki, K., Hedin, G. (eds.) Software Language Engineering, pp. 144–163. Springer (2013)
Hassam, K., Sadou, S., Fleurquin, R.: Adapting ocl constraints after a refactoring of their model using an mde process (2010)
Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution of model-driven systems. In: International Conference on Model Driven Engineering Languages and Systems, pp. 321–335. Springer (2006)
Hermann, F., Ehrig, H., Taentzer, G.: A typed attributed graph grammar with inheritance for the abstract syntax of uml class and sequence diagrams. ENTCS 211, 261–269 (2008)
Herrmannsdoerfer, M.: COPE—a workbench for the coupled evolution of metamodels and models. In: Malloy, B., Staab, S., van den Brand, M. (eds.) Software Language Engineering, volume 6563 of LNCS, pp. 286–295. Springer (2011)
Hu, Z., Schürr, A., Stevens, P., Terwilliger, J.F.: Dagstuhl seminar on bidirectional transformations (BX). ACM SIGMOD Rec. 40(1), 35 (2011)
Iovino, L.: Traceability evaluation samples. https://github.com/gssi/TraceabilityModel/tree/master/case-study/ (2019)
Iovino, L.: Traceability model migrator implementation. https://github.com/gssi/Traceability-Model-Migrator/ (2019)
Iovino, L., Rutle, A., Pierantonio, A., Rocco, J.D.: Query-based impact analysis of metamodel evolutions. In: Staron, M., Capilla, R., Skavhaug, A. (eds.) 45th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2019, Kallithea-Chalkidiki, Greece, August 28–30, 2019, pp. 458–465. IEEE (2019)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)
Kehrer, T., Kelter, U., Taentzer, G.: Consistency-preserving edit scripts in model versioning. In: Denney, E., Bultan, T., Zeller, A. (eds.) 28th International Conference on Automated Software Engineering, pp. 191–201. IEEE (2013)
Kehrer, T., Taentzer, G., Rindt, M., Kelter, U.: Automatically deriving the specification of model editing operations from meta-models. In: Gorp, P.V., Engels, G. (eds.) Theory and Practice of Model Transformations—9th International Conference, ICMT, volume 9765 of LNCS, pp. 173–188. Springer (2016)
Kessentini, W., Sahraoui, H., Wimmer, M.: Automated co-evolution of metamodels and transformation rules: a search-based approach. In: Colanzi, T.E., McMinn, P. (eds.) Search-Based Software Engineering, pp. 229–245. Springer, Cham (2018)
Kessentini, W., Sahraoui, H.A., Wimmer, M.: Automated metamodel/model co-evolution: a search-based approach. Inf. Softw. Technol, 106, 49–67 (2019)
Khelladi, D.E., Bendraou, R., Hebig, R., Gervais, M.-P.: A semi-automatic maintenance and co-evolution of ocl constraints with (meta)model evolution. J. Syst. Softw. 134(C), 242–260 (2017)
Khelladi, D.E., Kretschmer, R., Egyed, A.: Change propagation-based and composition-based co-evolution of transformations with evolving metamodels. In: MoDELS, pp. 404–414. ACM (2018)
Khelladi, D.E., Rodriguez, H.H., Kretschmer, R., Egyed, A.: An exploratory experiment on metamodel-transformation co-evolution. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 576–581. IEEE (2017)
Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon transformation language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) Theory and Practice of Model Transformations, First International Conference, ICMT, volume 5063 of LNCS, pp. 46–60. Springer (2008)
Kolovos, D.S., Paige, R.F., Polack, F.A.: The epsilon object language (eol). In: European Conference on Model Driven Architecture-Foundations and Applications, pp. 128–142. Springer (2006)
Kolovos, D.S., Paige, R.F., Polack, F.A.: The epsilon transformation language. In: International Conference on Theory and Practice of Model Transformations, pp. 46–60. Springer (2008)
Kruse, S.: On the use of operators for the co-evolution of metamodels and transformations. In: ME Workshop @MoDELS (2011)
Kruse, S.: Co-evolution of Metamodels and Model Transformations: An Operator-Based, Stepwise Approach for the Impact Resolution of Metamodel Evolution on Model Transformations. BoD-Books on Demand, Norderstedt (2015)
Kusel, A., Etzlstorfer, J., Kapsammer, E., Retschitzegger, W., Schwinger, W., Schönböck, J.: Consistent co-evolution of models and transformations. In: Lethbridge, T., Cabot, J., Egyed, A. (eds.) MoDELS, pp. 116–125. IEEE Computer Society (2015)
Levendovszky, T., Balasubramanian, D., Narayanan, A., Karsai, G.: A novel approach to semi-automated evolution of DSML model transformation. In: van den Brand, M., Gašević, D., Gray, J. (eds.) Software Language Engineering, pp. 23–41. Springer (2010)
Lopes, D., Hammoudi, S., Bézivin, J., Jouault, F.: Mapping specification in MDA: from theory to practice. In: Konstantas, D., Bourrières, J.-P., Léonard, M., Boudjlida, N. (eds.) Interoperability of Enterprise Software and Applications, pp. 253–264. Springer (2006)
Mantz, F.: Coupled Transformations of Graph Structures applied to Model Migration. Ph.D. thesis, University of Marburg (2014)
Mantz, F., Taentzer, G., Lamo, Y., Wolter, U.: Co-evolving meta-models and their instance models: a formal approach based on graph transformation. Sci. Comput. Program. 104, 2–43 (2015)
Marschall, F., Braun, P.: Model Transformations for the MDA with BOTL. Technical report, University of Twente (2003)
Méndez, D., Etien, A., Muller, A., Casallas, R.: Towards transformation migration after metamodel evolution. In: ME Workshop @MoDELS (2010)
Meyers, B., Vangheluwe, H.: A framework for evolution of modelling languages. Sci. Comput. Program. 76(12), 1223–1246 (2011)
MOLABO Research Group. The Metamodel Refactorings Catalog. http://www.metamodelrefactoring.org. University of L’Aquila—Gran Sasso Science Institute
Rose, L.M., Herrmannsdoerfer, M., Mazanek, S., Van Gorp, P., Buchwald, S., Horn, T., Kalnina, E., Koch, A., Lano, K., Schätz, B., Wimmer, M.: Graph and model transformation tools for model migration. SoSyM 13(1), 323–359 (2014)
Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.: Model migration with epsilon flock. In: Theory and Practice of Model Transformations—3rd International Conference, ICMT, volume 6142 of LNCS, pp. 184–198. Springer (2010)
Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Enhanced automation for managing model and metamodel inconsistency. In: 2009 IEEE/ACM International Conference on Automated Software Engineering, pp. 545–549 (2009)
Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.: The epsilon generation language. In: European Conference on Model Driven Architecture-Foundations and Applications, pp. 1–16. Springer (2008)
Ruscio, D.D., Etzlstorfer, J., Iovino, L., Pierantonio, A., Schwinger, W.: A feature-based approach for variability exploration and resolution in model transformation migration. In: Anjorin, A., Espinoza, H. (eds.) ECMFA, volume 10376 of LNCS, pp. 71–89. Springer (2017)
Rutle, A., Iovino, L., König, H., Diskin, Z.: Automatic transformation co-evolution using traceability models and graph transformation. In: European Conference on Modelling Foundations and Applications, pp. 80–96. Springer (2018)
Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Reverse engineering of model transformations for reusability. In: Di Ruscio, D., Varró, D. (eds.) Theory and Practice of Model Transformations, pp. 186–201. Springer, Cham (2014)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework. Addison-Wesley, Reading (2008)
Stevens, P.: A Landscape of Bidirectional Model Transformations. Generative and Transformational Techniques in Software Engineering II. Lecture Notes in Computer Science, pp. 408–424. Springer, Berlin (2007)
Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In Paige, R.F., Hartman, A., Rensink, A. (eds.) Model Driven Architecture—Foundations and Applications, pp. 18–33. Springer, Berlin (2009)
Wagelaar, D., Iovino, L., Di Ruscio, D., Pierantonio, A.: Translational semantics of a co-evolution specific language with the EMF transformation virtual machine. In: Theory and Practice of Model Transformations—5th International Conference, ICMT, volume 7303 of LNCS. Springer (2012)
Wimmer, M., Perez, S.M., Jouault, F., Cabot, J.: A catalogue of refactorings for model-to-model transformations. J. Object Technol. 11(2), 2-1 (2012)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by A. Pierantonio, A. Anjorin, S. Trujillo, and H. Espinoza.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Generated log files of co-evolution
Generated log files of co-evolution
1.1 Company2CRM
1.2 CRM2Company
1.3 Families2Persons
1.4 Collaboration2Paper
1.5 Grafcet2Petrinet
1.6 Book2Publication
Rights and permissions
About this article
Cite this article
Rutle, A., Iovino, L., König, H. et al. A query-retyping approach to model transformation co-evolution. Softw Syst Model 19, 1107–1138 (2020). https://doi.org/10.1007/s10270-020-00805-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-020-00805-6