Skip to main content
Log in

A query-retyping approach to model transformation co-evolution

  • Special Section Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29

Similar content being viewed by others

Notes

  1. The complete running example, input transformation and resulting traceability models are available at [25].

  2. In \(\textsf {Person2Worker}\)/\(\textsf {Person2Client}\)\(\textsf {p.position =}\)\(\textsf {\#employee/\#client}\) is the concrete syntax for \(\textsf {p.position.emp = employee/client}\), respectively).

  3. We increment these labels and in the following figures and we obey the numbers which are shown in the overview in Fig. 22.

  4. https://anatlyzer.github.io/.

References

  1. Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)

    Article  Google Scholar 

  2. Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Edelta: an approach for defining and applying reusable metamodel refactorings. In: ME Workshop @MoDELS (2017)

  3. Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Quality-driven detection and resolution of metamodel smells. IEEE Access 7, 16364–16376 (2019)

    Article  Google Scholar 

  4. Cuadrado, J.S., Guerra, E., de Lara, J.: Static analysis of model transformations. IEEE Trans. Softw. Eng. 43(9), 868–897 (2017)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Article  MathSciNet  Google Scholar 

  7. 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)

  8. Di Ruscio, D., Etzlstorfer, J., Iovino, L., Pierantonio, A., Schwinger, W.: Supporting variability exploration and resolution during model migration. In ECMFA (2016)

  9. 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)

  10. 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)

  11. 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)

  12. 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)

    Google Scholar 

  13. Diskin, Z., Gholizadeh, H., Wider, A., Czarnecki, K.: A three-dimensional taxonomy for bidirectional model synchronization. J. Syst. Softw. 111, 298–322 (2016)

    Article  Google Scholar 

  14. 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)

  15. 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)

  16. Ehrig, H., Ehrig, K., Ermel, C.: Refactoring of model transformations. In: ECEASST, 18 (2009)

  17. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. Springer, Berlin (2006)

    MATH  Google Scholar 

  18. Freund, M., Braune, A.: A generic transformation algorithm to simplify the development of mapping models. In: MoDELS, pp. 284–294. ACM (2016)

  19. 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)

  20. Hassam, K., Sadou, S., Fleurquin, R.: Adapting ocl constraints after a refactoring of their model using an mde process (2010)

  21. 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)

  22. 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)

    MATH  Google Scholar 

  23. 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)

  24. Hu, Z., Schürr, A., Stevens, P., Terwilliger, J.F.: Dagstuhl seminar on bidirectional transformations (BX). ACM SIGMOD Rec. 40(1), 35 (2011)

    Article  Google Scholar 

  25. Iovino, L.: Traceability evaluation samples. https://github.com/gssi/TraceabilityModel/tree/master/case-study/ (2019)

  26. Iovino, L.: Traceability model migrator implementation. https://github.com/gssi/Traceability-Model-Migrator/ (2019)

  27. 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)

  28. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)

    Article  MathSciNet  Google Scholar 

  29. 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)

  30. 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)

  31. 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)

  32. Kessentini, W., Sahraoui, H.A., Wimmer, M.: Automated metamodel/model co-evolution: a search-based approach. Inf. Softw. Technol, 106, 49–67 (2019)

    Article  Google Scholar 

  33. 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)

    Article  Google Scholar 

  34. 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)

  35. 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)

  36. 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)

  37. 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)

  38. 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)

  39. Kruse, S.: On the use of operators for the co-evolution of metamodels and transformations. In: ME Workshop @MoDELS (2011)

  40. 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)

    Google Scholar 

  41. 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)

  42. 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)

  43. 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)

  44. Mantz, F.: Coupled Transformations of Graph Structures applied to Model Migration. Ph.D. thesis, University of Marburg (2014)

  45. 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)

    Article  Google Scholar 

  46. Marschall, F., Braun, P.: Model Transformations for the MDA with BOTL. Technical report, University of Twente (2003)

  47. Méndez, D., Etien, A., Muller, A., Casallas, R.: Towards transformation migration after metamodel evolution. In: ME Workshop @MoDELS (2010)

  48. Meyers, B., Vangheluwe, H.: A framework for evolution of modelling languages. Sci. Comput. Program. 76(12), 1223–1246 (2011)

    Article  Google Scholar 

  49. MOLABO Research Group. The Metamodel Refactorings Catalog. http://www.metamodelrefactoring.org. University of L’Aquila—Gran Sasso Science Institute

  50. 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)

    Google Scholar 

  51. 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)

  52. 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)

  53. 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)

  54. 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)

  55. 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)

  56. 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)

  57. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework. Addison-Wesley, Reading (2008)

    Google Scholar 

  58. 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)

    Google Scholar 

  59. 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)

  60. 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)

  61. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ludovico Iovino.

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

figure m

1.2 CRM2Company

figure n

1.3 Families2Persons

figure o

1.4 Collaboration2Paper

figure p

1.5 Grafcet2Petrinet

figure q

1.6 Book2Publication

figure r

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-020-00805-6

Keywords

Navigation