Advertisement

Automated Co-evolution of Metamodels and Transformation Rules: A Search-Based Approach

  • Wael Kessentini
  • Houari Sahraoui
  • Manuel Wimmer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11036)

Abstract

Metamodels frequently change over time by adding new concepts or changing existing ones to keep track with the evolving problem domain they aim to capture. This evolution process impacts several depending artifacts such as model instances, constraints, as well as transformation rules. As a consequence, these artifacts have to be co-evolved to ensure their conformance with new metamodel versions. While several studies addressed the problem of metamodel/model co-evolution (Please note the potential name clash for the term co-evolution. In this paper, we refer to the problem of having to co-evolve different dependent artifacts in case one of them changes. We are not referring to the application or adaptation of co-evolutionary search algorithms.), the co-evolution of metamodels and transformation rules has been less studied. Currently, programmers have to manually change model transformations to make them consistent with the new metamodel versions which require the detection of which transformations to modify and how to properly change them. In this paper, we propose a novel search-based approach to recommend transformation rule changes to make transformations coherent with the new metamodel versions by finding a trade-off between maximizing the coverage of metamodel changes and minimizing the number of static errors in the transformation and the number of applied changes to the transformation. We implemented our approach for the ATLAS Transformation Language (ATL) and validated the proposed approach on four co-evolution case studies. We demonstrate the outperformance of our approach by comparing the quality of the automatically generated co-evolution solutions by NSGA-II with manually revised transformations, one mono-objective algorithm, and random search.

Keywords

Model transformation evolution Search-based software engineering ATL 

Notes

Acknowledgements

This work has been partially funded by the Austrian Federal Ministry of Science, Research and Economy, National Foundation for Research, Technology and Development, by the Austrian Science Fund (FWF) P 28519-N31, and by the Canada NSERC grant RGPIN/06702-2014.

References

  1. 1.
    Batot, E., Kessentini, W., Sahraoui, H.A., Famelis, M.: Heuristic-based recommendation for Metamodel - OCL coevolution. In: MODELS, pp. 210–220 (2017)Google Scholar
  2. 2.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice, 2nd edn. Morgan & Claypool Publishers, San Rafael (2017)Google Scholar
  3. 3.
    Burgueño, L., Troya, J., Wimmer, M., Vallecillo, A.: Static fault localization in model transformations. IEEE Trans. Softw. Eng. 41(5), 490–506 (2015)CrossRefGoogle Scholar
  4. 4.
    Cheng, Z., Monahan, R., Power, J.F.: A sound execution semantics for ATL via translation validation. In: ICMT, pp. 133–148 (2015)Google Scholar
  5. 5.
    Cuadrado, J.S., Guerra, E., de Lara, J.: Quick fixing ATL transformations with speculative analysis. Softw. Syst. Model 1–35 (2016)Google Scholar
  6. 6.
    Cuadrado, J.S., Guerra, E., de Lara, J.: Static analysis of model transformations. IEEE Trans. Softw. Eng. 43(9), 868–897 (2017)CrossRefGoogle Scholar
  7. 7.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)CrossRefGoogle Scholar
  8. 8.
    Di Ruscio, D., Iovino, L., Pierantonio, A.: What is needed for managing co-evolution in MDE? In: Workshop on Model Comparison in Practice, pp. 30–38 (2011)Google Scholar
  9. 9.
    Ehrig, H., Ehrig, K., Ermel, C.: Refactoring of model transformations. In: ECEASST (2009)Google Scholar
  10. 10.
    Etzlstorfer, J., Kapsammer, E., Schwinger, W.: On the evolution of modeling ecosystems: an evaluation of co-evolution approaches. In: MODELSWARD, pp. 90–99 (2017)Google Scholar
  11. 11.
    Fleck, M., Troya, J., Kessentini, M., Wimmer, M., Alkhazi, B.: Model transformation modularization as a many-objective optimization problem. IEEE Trans. Software Eng. 43(11), 1009–1032 (2017)CrossRefGoogle Scholar
  12. 12.
    García, J., Díaz, O., Azanza, M.: Model transformation co-evolution: a semi-automatic approach. In: SLE, pp. 144–163 (2012)Google Scholar
  13. 13.
    Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. 45(1), 11:1–11:61 (2012)CrossRefGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Iovino, L., Pierantonio, A., Malavolta, I.: On the impact significance of metamodel evolution in MDE. J. Object Technol. 11(3), 1–33 (2012)CrossRefGoogle Scholar
  16. 16.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)MathSciNetCrossRefGoogle Scholar
  17. 17.
  18. 18.
    Kessentini, W., Sahraoui, H.A., Wimmer, M.: Automated metamodel/model co-evolution using a multi-objective optimization approach. In: ECMFA, pp. 138–155 (2016)Google Scholar
  19. 19.
    Khelladi, D.E., Bendraou, R., Hebig, R., Gervais, M.: A semi-automatic maintenance and co-evolution of OCL constraints with (meta)model evolution. J. Syst. Softw. 134, 242–260 (2017)CrossRefGoogle Scholar
  20. 20.
    Kruse, S.: On the use of operators for the co-evolution of metamodels and transformations. In: Models and Evolution Workshop (2011)Google Scholar
  21. 21.
    Kühne, T.: Matters of (meta-)modeling. Syst. Softw. Model 5(4), 369–385 (2006)CrossRefGoogle Scholar
  22. 22.
    Kusel, A., et al.: Systematic co-evolution of OCL expressions. In: APCCM, pp. 33–42 (2015)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    Lohmann, W., Riedewald, G.: Towards automatical migration of transformation rules after grammar extension. In: CSMR, pp. 30–39 (2003)Google Scholar
  25. 25.
    Lúcio, L., et al.: Model transformation intents and their properties. Softw. Syst. Model. 15(3), 647–684 (2016)CrossRefGoogle Scholar
  26. 26.
    Mendez, D., Etien, A., Muller, A., Casallas, R.: Towards transformation migration after metamodel evolution. In: Models and Evolution Workshop (2010)Google Scholar
  27. 27.
    Meyers, B., Vangheluwe, H.: A framework for evolution of modelling languages. Sci. Comput. Program. 76(12), 1223–1246 (2011)CrossRefGoogle Scholar
  28. 28.
    Rachmawati, L., Srinivasan, D.: Multiobjective evolutionary algorithm with controllable focus on the knees of the pareto front. IEEE Trans. Evol. Comput. 13(4), 810–824 (2009)CrossRefGoogle Scholar
  29. 29.
    Ruscio, D.D., Etzlstorfer, J., Iovino, L., Pierantonio, A., Schwinger, W.: Supporting variability exploration and resolution during model migration. In: ECMFA, pp. 231–246 (2016)Google Scholar
  30. 30.
    Selim, G.M.K., Cordy, J.R., Dingel, J.: How is ATL really used? Language feature use in the ATL zoo. In: MODELS, pp. 34–44 (2017)Google Scholar
  31. 31.
    Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Wael Kessentini
    • 1
  • Houari Sahraoui
    • 1
  • Manuel Wimmer
    • 2
  1. 1.University of MontrealMontrealCanada
  2. 2.CDL-MINTTU WienViennaAustria

Personalised recommendations