Edapt

From Eclipsepedia

Jump to: navigation, search

Topic: Advanced Features for Migrating EMF Models with COPE

Presenter: Markus Herrmannsdoerfer, herrmama@in.tum.de, received his diploma in computer science from Technische Universität München (TUM) in Germany. During his studies at the TUM, he was exchange student at École Polytechnique in Palaiseau, France, and intern at Siemens Corporate Research (SCR) in Princeton, NJ. As an intern at SCR, he took interest in Model-driven Development and especially in the Eclipse Modeling Framework (EMF). He currently works on his Ph.D. as a research assistant at the Chair of Software and Systems Engineering at TUM. The main focus of his research is evolutionary development of modeling languages, and the automation of the resulting migration of models and other depending artifacts.


Company: Technische Universität München

Type: Short presentation

Description: 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, COPE 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. COPE is about to be contributed to the newly created EMFT project Edapt.

Previously, we have already introduced the basic idea behind COPE. Now, besides giving a short introduction to COPE, we will talk about the more advanced features of COPE. COPE provides advanced tool support to inspect and refactor the history model as well as to reverse engineer it from a two versions of an Ecore model.


Resources