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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Graphical Modeling Framework http://www.eclipse.org/modeling/gmf.
- 2.
- 3.
% = ((deleted constraints + syntactically (respectively semantically) correct co-evolved constraints)/impacted constraints).
References
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)
Buttner, F., Bauerdick, H., Gogolla, M.: Towards transformation of integrity constraints and database states. In: DEXA, pp. 823–828 (2005)
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)
Cabot, J., Gogolla, M.: Object constraint language (OCL): a definitive guide. In: 12th SFM, Bertinoro, Italy, pp. 58–90 (2012)
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)
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 2013
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)
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)
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)
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)
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)
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)
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)
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)
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)
Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. In: MODELS, pp. 280–294 (2005)
Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. Softw. Syst. Model 7(1), 25–47 (2008)
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)
Morisio, M., Ezran, M., Tully, C.: Success and failure factors in software reuse. IEEE Trans. Softw. Eng. 28(4), 340–357 (2002)
OMG. Meta object facility (MOF) (2011). www.omg.org/spec/MOF/
OMG. Object constraints language (OCL) (2015). www.omg.org/spec/OCL/
OMG. Query/views/transformations (QVT) (2015). www.omg.org/spec/QVT/
OMG. Unified modeling language (UML) (2015). www.omg.org/spec/UML/
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, Upper Saddle River (2008)
Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012)
Acknowledgment
The research leading to these results has received funding from the industrial innovation Project MoNoGe under grant FUI - AAP no. 15.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Khelladi, D.E., Hebig, R., Bendraou, R., Robin, J., Gervais, MP. (2016). Metamodel and Constraints Co-evolution: A Semi Automatic Maintenance of OCL Constraints. In: Kapitsaki, G., Santana de Almeida, E. (eds) Software Reuse: Bridging with Social-Awareness. ICSR 2016. Lecture Notes in Computer Science(), vol 9679. Springer, Cham. https://doi.org/10.1007/978-3-319-35122-3_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-35122-3_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-35121-6
Online ISBN: 978-3-319-35122-3
eBook Packages: Computer ScienceComputer Science (R0)