A kernel transformation language for metamodel evolution and reversible model co-evolution
This report defines MicroDif, a kernel transformation language for metamodel evolution and reversible model co-evolution. To begin with, a kernel subset of Ecore is highlighted and formally defined thanks to a suitable denotational semantics. Then MicroDif is formally defined upon this subset. In a first step, the focus is put on metamodel evolution provided by a set of refactoring operators. In a second step, the focus is put on model co-evolution which is intended to be reversible thanks to a dedicated pair of transformations respectively called migration and recontextualization. Each MicroDif operator is also provided with a dedicated predicate which explains the sufficient conditions for a model to remain valid after these transformations.