TY - GEN
T1 - A generic solution for syntax-driven model co-evolution
AU - Brand, van den, M.G.J.
AU - Protic, Z.
AU - Verhoeff, T.
PY - 2011
Y1 - 2011
N2 - 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.
AB - 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.
U2 - 10.1007/978-3-642-21952-8_5
DO - 10.1007/978-3-642-21952-8_5
M3 - Conference contribution
SN - 978-3-642-21951-1
T3 - Lecture Notes in Computer Science
SP - 36
EP - 51
BT - Objects, Models, Components, Patterns (49th International Conference, TOOLS 2011, Zurich, Switzerland, June 28-30, 2011. Proceedings)
A2 - Bishop, J.
A2 - Vallecillo, A.
PB - Springer
CY - Berlin
T2 - conference; 49th International Conference on Objects, Models, Components, Patterns; 2011-06-28; 2011-06-30
Y2 - 28 June 2011 through 30 June 2011
ER -