Automating Model Migration with EMF Edapt
Like other software artifacts, Ecore models are subject to evolution. When an Ecore model evolves, existing instances may need to be migrated. Manual migration of these instances is tedious and error-prone, and thus instance migration needs to be automated. However, building an automated migrator is a non-trivial task, as it needs to preserve the meaning of possibly infinite number of instances.
To ease the development of an automated migrator, EMF Edapt records the instance migration together with the Ecore model evolution in an explicit history model. The history model specifies the sequence of coupled operations that have been performed. A coupled operation encapsulates both Ecore model evolution and instance migration. Instance migration can be further automated by reusing recurring coupled operations. In order not to disturb EMF users in their habits, EMF Edapt seamlessly integrates into the Ecore model editor.
EMF Edapt results from the research project COPE whose code has been successfully transferred to Eclipse. After the transfer, a lot of significant improvements have been made, e.g. Groovy has been replaced by Java as language to specify custom model migrations. This talk introduces the concepts underlying EMF Edapt and gives a hands-on demonstration of EMF Edapt’s features.