A Generic Solution for Syntax-Driven Model Co-evolution
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.
Unable to display preview. Download preview PDF.
- 4.Cicchetti, A.: Difference Representation and Conflict Management in Model-Driven Engineering. PhD thesis, Universita’ degli Studi dell’Aquila (2007)Google Scholar
- 5.Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: A metamodel independent approach to difference representation. JOT: Journal of Object Technology, 165–185 (2007)Google Scholar
- 6.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)CrossRefGoogle Scholar
- 7.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)Google Scholar
- 10.EMF compare, wiki.eclipse.org/index.php/EMF_Compare
- 11.Garces, K., Jouault, F., Cointe, P., Bezivin, J.: Practical adaptation of models to evolving metamodels. INRIA Technical Report No 6723, INRIA (2008)Google Scholar
- 13.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)Google Scholar
- 15.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)Google Scholar
- 17.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)Google Scholar
- 19.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)Google Scholar
- 20.MetaObject Facility (MOF), http://www.omg.org/mof
- 21.Model co-evolution tool, http://www.win.tue.nl/~zprotic/coevol.html