Abstract
In this paper we discuss, and provide a generic solution to the problem referred to as model co-evolution: How to evolve models in case their metamodels evolve?
We solve this problem by extending a traditional three-step approach. In the first step, differences between an original and an evolved metamodel are determined. Unlike traditional approaches, we treat metamodels as models conforming to a special metamodel, thus the same difference representation and calculation mechanisms for metamodels as for models are used in our approach. In the second step, metamodel differences are classified into four groups based on their possible influence on co-evolving models, and the possibilities of handling them automatically. We adopt two of these groups (non-breaking and breaking and resolvable differences) from the existing co-evolution approaches, and we introduce two new groups (breaking and semi-resolvable and breaking and human-resolvable differences). In the third step, based on the determined metamodel differences, a generic co-evolution transformation is invoked. This transformation takes the metamodel differences, and a model as arguments, and returns an adapted model.
We validated our approach by incorporating our method into a prototype tool for generic model co-evolution, and by testing this tool on a large set of metamodels and models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
van den Brand, M., Protić, Z., Verhoeff, T.: Fine-grained metamodel-assisted model comparison. In: Proceedings of the 1st International Workshop on Model Comparison in Practice, IWMCP 2010, pp. 11–20. ACM, New York (2010)
Brand, M.v.d., Protić, Z., Verhoeff, T.: Generic tool for visualization of model differences. In: Proceedings of the 1st International Workshop on Model Comparison in Practice, IWMCP 2010, pp. 66–75. ACM, New York (2010)
Chawathe, S.S., Rajaraman, A., Garcia-Molina, H., Widom, J.: Change detection in hierarchically structured information. SIGMOD Rec. 25, 493–504 (1996)
Cicchetti, A.: Difference Representation and Conflict Management in Model-Driven Engineering. PhD thesis, Universita’ degli Studi dell’Aquila (2007)
Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: A metamodel independent approach to difference representation. JOT: Journal of Object Technology, 165–185 (2007)
Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: Proceedings of the 2008 12th International IEEE Enterprise Distributed Object Computing Conference, pp. 222–231. IEEE Computer Society Press, Washington, DC, USA (2008)
Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: Meta-model differences for supporting model co-evolution. In: Proceedings of the 2nd Workshop on Model-Driven Software Evolution - MODSE 2008, Athene, Greece (2008)
Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing dependent changes in coupled evolution. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 35–51. Springer, Heidelberg (2009)
EMF compare, wiki.eclipse.org/index.php/EMF_Compare
Garces, K., Jouault, F., Cointe, P., Bezivin, J.: Practical adaptation of models to evolving metamodels. INRIA Technical Report No 6723, INRIA (2008)
Garcés, K., Jouault, F., Cointe, P., Bézivin, J.: Managing model adaptation by precise detection of metamodel changes. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 34–49. Springer, Heidelberg (2009)
Gruschko, B., Kolovos, D., Paige, R.: Towards synchronizing models with evolving metamodel. In: Proceedings of the 1st International Workshop on Model-Driven Software Evolution - MODSE (2007)
Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE - automating coupled evolution of metamodels and models. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 52–76. Springer, Heidelberg (2009)
Herrmannsdoerfer, M., Koegel, M.: Towards a generic operation recorder for model evolution. In: Proceedings of the 1st International Workshop on Model Comparison in Practice, IWMCP 2010, ACM, New York (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)
Kelter, U.: A generic difference algorithm for UML models. In: Liggesmeyer, P., Pohl, K., Goedicke, M. (eds.) Software Engineering. LNI, vol. 64, pp. 105–116. GI (2005)
Konemann, P.: Model-independent differences. In: Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models (CVSM 2009), pp. 37–42. IEEE Computer Society Press, Washington, DC, USA (2009)
Madhavan, J., Bernstein, P.A., Rahm, E.: Generic schema matching with cupid. In: VLDB 2001: Proceedings of the 27th International Conference on Very Large Data Bases, pp. 49–58. Morgan Kaufmann, San Francisco (2001)
MetaObject Facility (MOF), http://www.omg.org/mof
Model co-evolution tool, http://www.win.tue.nl/~zprotic/coevol.html
Viatra.: http://wiki.eclipse.org/VIATRA2_Transformation_Language
Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Bateni, M. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007)
Wenzel, S.: Scalable visualization of model differences. In: Proceedings of the 2008 international workshop on Comparison and versioning of software models, pp. 41–46. ACM, New York (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
van den Brand, M., Protić, Z., Verhoeff, T. (2011). A Generic Solution for Syntax-Driven Model Co-evolution. In: Bishop, J., Vallecillo, A. (eds) Objects, Models, Components, Patterns. TOOLS 2011. Lecture Notes in Computer Science, vol 6705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21952-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-21952-8_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21951-1
Online ISBN: 978-3-642-21952-8
eBook Packages: Computer ScienceComputer Science (R0)