Skip to main content

Advertisement

Log in

Semi-automated metamodel/model co-evolution: a multi-level interactive approach

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

Abstract

Metamodels evolve even more frequently than programming languages. This evolution process may result in a large number of instance models that are no longer conforming to the revised metamodel. On the one hand, the manual adaptation of models after the metamodels’ evolution can be tedious, error-prone, and time-consuming. On the other hand, the automated co-evolution of metamodels/models is challenging, especially when new semantics is introduced to the metamodels. While some interactive techniques have been proposed, designers still need to explore a large number of possible revised models, which makes the interaction time-consuming. Existing interactive tools are limited to interactions with the designers to evaluate the impact of the co-evolved models on different objectives of the number of inconsistencies, number of changes and the deviation from the initial models. However, designers are also interested to check the impact of introduced changes on the decision space which is composed by model elements. These interactions help designers to understand the differences of the co-evolved models solution that have similar objectives value to select the best one based on their preferences. In this paper, we propose an interactive approach that enables designers to select their preference simultaneously in the objective and decision spaces. Designers may be interested in looking at co-evolution operations that can improve a specific objective such as number of non-conformities with the revised metamodel (objective space), but such operations may be related to different model locations (decision space). A set of co-evolution solutions is generated at first using multi-objective search that suggests edit operations to designers based on three objectives: minimizing the deviation with the initial model, the number of non-conformities with the revised metamodel and the number of changes. Then, the approach proposes to the user few regions of interest by clustering the set of recommended co-evolution solutions of the multi-objective search. Also, another clustering algorithm is applied within each cluster of the objective space to identify solutions related to different model element locations. The objective and decision spaces can now be explored more efficiently by the designers, who can quickly select their preferred cluster and give feedback on a smaller number of solutions by eliminating similar ones. This feedback is then used to guide the search for the next iterations if the user is still not satisfied. We evaluated our approach on a set of metamodel/model co-evolution case studies and compared it to existing fully automated and interactive co-evolution techniques.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Similar content being viewed by others

References

  1. Supporting materials: online appendix / https://sites.google.com/view/sosym2021https://doi.org/10.5281/zenodo.5804649

  2. An efficient approach to identify multiple and independent move method refactoring candidates. in IST 59, 53 – 66 (2015)

  3. Anguel, F., Amirat, A., Bounour, N.: Using weaving models in metamodel and model co-evolution approach. In: Proceedings of CSIT (2014)

  4. Anguel, F., Amirat, A., Bounour, N.: Hybrid approach for metamodel and model co-evolution. In: Proceedings of CIIA (2015)

  5. Arcuri, A., Briand, L.: A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of ICSE (2011)

  6. Banerjee, J., Kim, W., Kim, H.J., Korth, H.F.: Semantics and Implementation of Schema Evolution in Object-Oriented Databases. In: Proceedings of SIGMOD (1987)

  7. Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering. Morgan & Claypool Publishers (2017)

  8. Cabot, J., Conesa, J.: Automatic integrity constraint evolution due to model subtract operations. In: International Conference on Conceptual Modeling, pp. 350–362 (2004)

  9. Calinski, T., Harabasz, J.: A dendrite method for cluster analysis. Communications in Statistics-theory and Methods 3(1), 1–27 (1974)

    Article  MathSciNet  Google Scholar 

  10. Cicchetti, A., Ciccozzi, F., Leveque, T., Pierantonio, A.: On the concurrent versioning of metamodels and models: challenges and possible solutions. In: Proceedings IWMCP (2011)

  11. Cicchetti, A., Ciccozzi, F., Leveque, T., Pierantonio, A.: On the concurrent versioning of metamodels and models: Challenges and possible solutions. In: Proceedings of IWMCP (2011)

  12. Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: Proceedings of EDOC (2008)

  13. Deb, K., Agrawal, S., Pratap, A., Meyarivan, T.: A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimization: NSGA-II. In: Proceedings of PPSN (2000)

  14. Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Automatically generating and adapting model constraints to support co-evolution of design models. In: Automated Software Engineering (ASE), pp. 302–305 (2012)

  15. Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Supporting the co-evolution of metamodels and constraints through incremental constraint management. In: International Conference on Model Driven Engineering Languages and Systems, pp. 287–303 (2013)

  16. Di Ruscio, D., Iovino, L., Pierantonio, A.: What is Needed for Managing Co-evolution in MDE? In: Proc. of the 2nd International Workshop on Model Comparison in Practice, IWMCP’11 (2011)

  17. Di Ruscio, D., Lammel, R., Pierantonio, A.: Automated co-evolution of gmf editor models. In: Proceedings of SLE (2011)

  18. Fleck, M., Troya, J., Wimmer, M.: Search-based model transformations. J. Softw: Evol. Proc. 28(12), 1081–1117 (2016)

    Google Scholar 

  19. Garces, K., Jouault, F., Cointe, P., Bezivin, J.: Managing model adaptation by precise detection of metamodel changes. In: Proceedings of ECMFA (2009)

  20. Garces, K., Vara, J.M., Jouault, F., Marcos, E.: Adapting transformations to metamodel changes via external transformation composition. Softw. Syst. Model. 13(2), 789–806 (2014)

    Article  Google Scholar 

  21. Garcia, J., Diaz, O., Azanza, M.: Model transformation co-evolution: A semi-automatic approach. In: SLE, pp. 144–163 (2012)

  22. Gruschko, B.: Towards synchronizing models with evolving metamodels. In: Proceedings of MoDSE Workshop (2007)

  23. Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comp. Surv. (CSUR) 45(1), 1–61 (2012)

    Article  Google Scholar 

  24. Hassam, K., Sadou, S., Fleurquin, R.: Adapting ocl constraints after a refactoring of their model using an mde process. In: 9th edition of the BElgian-NEtherlands software eVOLution seminar (BENEVOL 2010), pp. 16–27 (2010)

  25. Hassam, K., Sadou, S., Le Gloahec, V., Fleurquin, R.: Assistance system for ocl constraints adaptation during metamodel evolution. In: Software Maintenance and Reengineering (CSMR), 2011 15th European Conference on, pp. 151–160. IEEE (2011)

  26. Hebig, R., Khelladi, D.E., Bendraou, R.: Approaches to co-evolution of metamodels and models: a survey. IEEE Trans. Softw. Eng. 43(5), 396–414 (2017)

    Article  Google Scholar 

  27. Herrmannsdoerfer, M.: GMF: A model migration case for the transformation tool contest. In: Proceedings of TTC (2011)

  28. Herrmannsdoerfer, M., Benz, S., Juergens, E.: Cope - automating coupled evolution of metamodels and models. In: Proceedings of ECOOP (2009)

  29. Herrmannsdoerfer, M., Ratiu, D., Wachsmuth, G.: Language evolution in practice: The history of gmf. In: Proceedings of SLE (2010)

  30. Herrmannsdoerfer, M., Vermolen, S., Wachsmuth, G.: An extensive catalog of operators for the coupled evolution of metamodels and models. In: Proceedings of SLE (2011)

  31. Herrmannsdoerfer, M., Vermolen, S.D., Wachsmuth, G.: An extensive catalog of operators for the coupled evolution of metamodels and models. In: Proceedings of SLE (2011)

  32. Herrmannsdorfer, M.: COPE - A Workbench for the Coupled Evolution of Metamodels and Models. In: Proceedings of SLE (2011)

  33. Herrmannsdorfer, M., Wachsmuth, G.: Coupled evolution of software metamodels and models. In: Evolving Software Systems, pp. 33–63 (2014)

  34. Iovino, L., Pierantonio, A., Malavolta, I.: On the impact significance of metamodel evolution in MDE. J. Object Technol. 11(3), 31–33 (2012)

    Article  Google Scholar 

  35. Jackson, R., Carter, C., Tarsitano, M.: Trial-and-error solving of a confinement problem by a jumping spider, portia fimbriata. Behaviour 138(10), 1215–1234 (2001)

    Article  Google Scholar 

  36. Kessentini, M., Mansoor, U., Wimmer, M., Ouni, A., Deb, K.: Search-based detection of model level changes. Empir. Softw. Eng. 22(2), 670–715 (2017)

    Article  Google Scholar 

  37. Kessentini, W., Alizadeh, V.: Interactive metamodel/model co-evolution using unsupervised learning and multi-objective search. In: MoDELS ’20: ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems, Virtual Event, Canada, 18-23 October, 2020 (2020)

  38. Kessentini, W., Sahraoui, H.A., Wimmer, M.: Automated metamodel/model co-evolution using a multi-objective optimization approach. In: Proceedings of ECMFA (2016)

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

  40. Kessentini, W., Wimmer, M., Sahraoui, H.A.: Integrating the designer in-the-loop for metamodel/model co-evolution via interactive computational search. In: A. Wasowski, R.F. Paige, O. Haugen (eds.) In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, Copenhagen, Denmark, October 14-19, 2018, pp. 101–111. ACM (2018)

  41. Khelladi, D.E., Hebig, R., Bendraou, R., Robin, J., Gervais, M.P.: Metamodel and constraints co-evolution: A semi automatic maintenance of ocl constraints. In: International Conference on Software Reuse, pp. 333–349 (2016)

  42. Kruse, S.: On the use of operators for the co-evolution of metamodels and transformations. In: Models and Evolution Workshop (2011)

  43. Kusel, A., Etzlstorfe, J., Kapsammer, E., Schonbock, J.: Consistent co-evolution of models and transformations. MoDELS (2015)

  44. Kusel, A., Etzlstorfer, J., Kapsammer, E., Retschitzegger, W., Schoenboeck, J., Schwinger, W., Wimmer, M.: Systematic co-evolution of ocl expressions. 11th APCCM (2015)

  45. Levendovszky, T., Balasubramanian, D., Narayanan, A., Karsai, G.: A novel approach to semi-automated evolution of DSML model transformation. In: SLE, pp. 23–41 (2010)

  46. Mansoor, U., Kessentini, M., Wimmer, M., Deb, K.: Multi-view refactoring of class and activity diagrams using a multi-objective evolutionary algorithm. Softw. Qual. J. 25(2), 473–501 (2017)

    Article  Google Scholar 

  47. Mantz, F., Lamo, Y., Taentzer, G.: Co-transformation of type and instance graphs supporting merging of types with retyping. ECEASST 61, 24 (2013)

    Google Scholar 

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

  49. Markovic, S., Baar, T.: Refactoring ocl annotated uml class diagrams. In: International Conference On Model Driven Engineering Languages And Systems, pp. 280–294 (2005)

  50. Markovic, S., Baar, T.: Refactoring ocl annotated uml class diagrams. Software and Systems Modeling pp. 25–47 (2008)

  51. Mendez, D., Etien, A., Muller, A., Casallas, R.: Towards Transformation Migration After Metamodel Evolution. In: Models and Evolution Workshop (2010)

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

    Article  Google Scholar 

  53. Meyers, B., Wimmer, M., Cicchetti, A., Sprinkle, J.: A generic in-place transformation-based approach to structured model co-evolution. In: Proceedings of MPM Workshop (2010)

  54. Morales, R., Chicano, F., Khomh, F., Antoniol, G.: Efficient refactoring scheduling based on partial order reduction. J. Syst. Softw. 145, 25–51 (2018)

    Article  Google Scholar 

  55. Morales, R., Soh, Z., Khomh, F., Antoniol, G., Chicano, F.: On the use of developer’s context for automatic refactoring of software anti-patterns. J. Syst. Softw. 128, 236–251 (2017)

  56. Muflikhah, L., Baharudin, B.: Document clustering using concept space and cosine similarity measurement. In: Proceedings of ICCTD (2009)

  57. Narayanan, A., Levendovszky, T., Balasubramanian, D., Karsai, G.: Automatic domain model migration to manage metamodel evolution. In: Proceedings of MODELS (2009)

  58. Omg, Q.: Meta object facility (mof) 2.0 query/view/transformation specification. Final Adopted Specification (November 2005) (2008)

  59. Paige, R.F., Matragkas, N.D., Rose, L.M.: Evolving models in model-driven engineering: state-of-the-art and future challenges. J. Syst. Softw. 111, 272–280 (2016)

    Article  Google Scholar 

  60. Pollatsek, A., Well, A.D.: On the use of counterbalanced designs in cognitive research: a suggestion for a better and more powerful analysis. J. Exp. Psychol. Learn. Mem. Cogn. 21(3), 785 (1995)

    Article  Google Scholar 

  61. Ramirez, A., Romero, J.R., Simons, C.L.: A systematic review of interaction in search-based software engineering. IEEE Trans. Softw. Eng. 45(8), 760–781 (2018)

    Article  Google Scholar 

  62. Rebai, S., Alizadeh, V., Kessentini, M., Fehri, H., Kazman, R.: Enabling decision and objective space exploration for interactive multi-objective refactoring. IEEE Transactions on Software Engineering (2020)

  63. Redner, R.A., Walker, H.F.: Mixture densities, maximum likelihood and the EM algorithm. SIAM Rev. 26(2), 195–239 (1984)

    Article  MathSciNet  Google Scholar 

  64. Richters, M.: A precise approach to validating UML models and OCL constraints. Tech. rep. (2001)

  65. Roddick, J.F.: Schema evolution in database systems: an annotated bibliography. SIGMOD Rec. 21(4), 35–40 (1992)

    Article  Google Scholar 

  66. Rose, L.M., Herrmannsdoerfer, M., Mazanek, S., Gorp, P.V., Buchwald, S., Horn, T., Kalnina, E., Koch, A., Lano, K., Schatz, B., Wimmer, M.: Graph and model transformation tools for model migration - empirical results from the transformation tool contest. Softw. Syst. Model. 13(1), 323–359 (2014)

    Article  Google Scholar 

  67. Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model migration with Epsilon Flock. In: Proceedings of ICMT (2010)

  68. Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.C.: An Analysis of Approaches to Model Migration. In: Proceedings of MoDSE-MCCM Workshop (2009)

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

  70. Sahin, D., Kessentini, M., Wimmer, M., Deb, K.: Model transformation testing: a bi-level search-based software engineering approach. Journal of Software: Evolution and Process 27(11), 821–837 (2015)

    Google Scholar 

  71. Sayyad, A.S., Menzies, T., Ammar, H.: On the value of user preferences in search-based software engineering: A case study in software product lines. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE ’13 (2013)

  72. Schoenboeck, J., Kusel, A., Etzlstorfer, J., Kapsammer, E., Schwinger, W., Wimmer, M., Wischenbart, M.: CARE: A Constraint-based Approach for Re-establishing Conformance-relationships. In: Proceedings of APCCM (2014)

  73. Sprinkle, J., Karsai, G.: A domain-specific visual language for domain model evolution. J. Vis. Lang. Comp. 15(3–4), 291–307 (2004)

    Article  Google Scholar 

  74. Taentzer, G., Mantz, F., Arendt, T., Lamo, Y.: Customizable model migration schemes for meta-model evolutions with multiplicity changes. In: Proceedings of MODELS (2013)

  75. Vermolen, S., Visser, E.: Heterogeneous coupled evolution of software languages. In: Proceedings of MODELS (2008)

  76. Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Proceedings of ECOOP (2007)

  77. Wimmer, M., Kusel, A., Schoenboeck, J., Retschitzegger, W., Schwinger, W.: On using inplace transformations for model co-evolution. In: Proceedings of MtATL Workshop (2010)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wael Kessentini.

Additional information

Communicated by S. Abrahao, E. Syriani, H. Sahraoui, and J. de Lara.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kessentini, W., Alizadeh, V. Semi-automated metamodel/model co-evolution: a multi-level interactive approach. Softw Syst Model 21, 1853–1876 (2022). https://doi.org/10.1007/s10270-022-00978-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-022-00978-2

Keywords

Navigation