Have you ever evolved your Ecore model in EMF and your model instances were no longer valid afterwards? Or have you avoided evolving your Ecore model in order not to invalidate your instances? Or have you even deteriorated your Ecore model so that it remains downwards compatible to previous versions in order to avoid these problems?
This talk introduces COPE, a tool based on EMF that eases the migration of instances in response to an evolving Ecore model. COPE explicitly records the history of the Ecore model as a sequence of change operations and allows you to attach information of how to migrate models. Attaching migration information to an Ecore model adaptation is referred to as coupled evolution. The attached information can be used to automatically migrate instances to the new version of the Ecore model. COPE even goes one step further and allows you to reuse combinations of Ecore model adaptation and instance migration steps across Ecore models in order to substantially reduce migration effort.
In order not to disturb EMF users in their habits, COPE seamlessly integrates into the Ecore model editor. COPE was developed in cooperation with BMW Car IT (in Munich, Germany), as part of the author’s work on his Ph.D. thesis. COPE is about to be made available through the freshly created EMFT project called Edapt whose goal is to provide a framework for Ecore model adaptation and instance migration. This talk introduces the concepts underlying COPE and gives a hands-on demonstration of COPE’s features.
Markus Herrmannsdörfer 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.