Advertisement

Metamodel and Constraints Co-evolution: A Semi Automatic Maintenance of OCL Constraints

  • Djamel Eddine KhelladiEmail author
  • Regina Hebig
  • Reda Bendraou
  • Jacques Robin
  • Marie-Pierre Gervais
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9679)

Abstract

Metamodels are core components of modeling languages to define structural aspects of a business domain. As a complement, OCL constraints are used to specify detailed aspects of the business domain, e.g. more than 750 constraints come with the UML metamodel. As the metamodel evolves, its OCL constraints may need to be co-evolved too. Our systematic analysis shows that semantically different resolutions can be applied depending not only on the metamodel changes, but also on the user intent and on the structure of the impacted constraints. In this paper, we investigate the reasons that lead to apply different resolutions. We then propose a co-evolution approach that offers alternative resolutions while allowing the user to choose the best applicable one. We evaluated our approach on the evolution of the UML case study. The results confirm the need of alternative resolutions along with user decision to cope with real co-evolution scenarios. The results show that our approach reaches 80 % of semantically correct co-evolution.

Notes

Acknowledgment

The research leading to these results has received funding from the industrial innovation Project MoNoGe under grant FUI - AAP no. 15.

References

  1. 1.
    Blanc, X., Mounier, I., Mougenot, A., Mens, T.: Detecting model inconsistency through operation-based model construction. In: ACM/IEEE 30th ICSE 2008, pp. 511–520 (2008)Google Scholar
  2. 2.
    Buttner, F., Bauerdick, H., Gogolla, M.: Towards transformation of integrity constraints and database states. In: DEXA, pp. 823–828 (2005)Google Scholar
  3. 3.
    Cabot, J., Conesa, J.: Automatic integrity constraint evolution due to model subtract operations. In: Wang, S., et al. (eds.) ER Workshops 2004. LNCS, vol. 3289, pp. 350–362. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Cabot, J., Gogolla, M.: Object constraint language (OCL): a definitive guide. In: 12th SFM, Bertinoro, Italy, pp. 58–90 (2012)Google Scholar
  5. 5.
    Demuth, A., Lopez-Herrejon, R., Egyed, A.: Automatically generating and adapting model constraints to support co-evolution of design models. In: 27th IEEE/ACM ASE, pp. 302–305 (2012)Google Scholar
  6. 6.
    Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Supporting the co-evolution of metamodels and constraints through incremental constraint management. In: MODELS, pp. 287–303, January 2013Google Scholar
  7. 7.
    Hassam, K., Sadou, S., Gloahec, V.L., Fleurquin, R.: Assistance system for OCL constraints adaptation during metamodel evolution. In: CSMR, pp. 151–160. IEEE (2011)Google Scholar
  8. 8.
    Herrmannsdoerfer, M., Ratiu, D., Wachsmuth, G.: Language evolution in practice: the history of GMF. In: Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 3–22. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Herrmannsdoerfer, M., Vermolen, S.D., Wachsmuth, G.: An extensive catalog of operators for the coupled evolution of metamodels and models. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 163–182. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  10. 10.
    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: Proceedings of the 33rd International Conference on Software Engineering, pp. 471–480. ACM (2011)Google Scholar
  11. 11.
    Khelladi, D.E., Bendraou, R., Gervais, M.-P.: Ad-room: a tool for automatic detection of refactorings in object-oriented models. In: The 38th ICSE (2016)Google Scholar
  12. 12.
    Khelladi, D.E., Hebig, R., Bendraou, R., Robin, J., Gervais, M.-P.: Detecting complex changes during metamodel evolution. In: Zdravkovic, J., Kirikova, M., Johannesson, P. (eds.) CAiSE 2015. LNCS, vol. 9097, pp. 263–278. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  13. 13.
    Kusel, A., Etzlstorfer, J., Kapsammer, E., Retschitzegger, W., Schoenboeck, J., Schwinger, W., Wimmer, M.: Systematic co-evolution of OCL expressions. In: 11th APCCM 2015, vol. 27, p. 30 (2015)Google Scholar
  14. 14.
    Langer, P., Wimmer, M., Brosch, P., Herrmannsdorfer, M., Seidl, M., Wieland, K., Kappel, G.: A posteriori operation detection in evolving software models. J. Syst. Softw. 86(2), 551–566 (2013)CrossRefGoogle Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. In: MODELS, pp. 280–294 (2005)Google Scholar
  17. 17.
    Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. Softw. Syst. Model 7(1), 25–47 (2008)CrossRefGoogle Scholar
  18. 18.
    Mezei, G., Levendovszky, T., Charaf, H.: An optimizing OCL compiler for metamodeling and model transformation environments. In: Sacha, K. (ed.) Software Engineering Techniques: Design for Quality, vol. 227, pp. 61–71. Springer, New York (2006)CrossRefGoogle Scholar
  19. 19.
    Morisio, M., Ezran, M., Tully, C.: Success and failure factors in software reuse. IEEE Trans. Softw. Eng. 28(4), 340–357 (2002)CrossRefzbMATHGoogle Scholar
  20. 20.
    OMG. Meta object facility (MOF) (2011). www.omg.org/spec/MOF/
  21. 21.
    OMG. Object constraints language (OCL) (2015). www.omg.org/spec/OCL/
  22. 22.
    OMG. Query/views/transformations (QVT) (2015). www.omg.org/spec/QVT/
  23. 23.
    OMG. Unified modeling language (UML) (2015). www.omg.org/spec/UML/
  24. 24.
    Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, Upper Saddle River (2008)Google Scholar
  25. 25.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  26. 26.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Djamel Eddine Khelladi
    • 1
    Email author
  • Regina Hebig
    • 2
  • Reda Bendraou
    • 1
  • Jacques Robin
    • 1
  • Marie-Pierre Gervais
    • 1
  1. 1.Sorbonne Universités, UPMC Univ. Paris 06, UMR 7606ParisFrance
  2. 2.Chalmers and University of TechnologyGothenburgSweden

Personalised recommendations