Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Metamodel/model evolution advice please(Best option(s) for evolving both metamodel and model(s))
Metamodel/model evolution advice please [message #1063209] Wed, 12 June 2013 16:06 Go to next message
Julian Johnson is currently offline Julian JohnsonFriend
Messages: 20
Registered: March 2013
Junior Member
Hi I am in the process of building a data model (metamodel) and also systematically validating that model by hand-populating the corresponding model with 'real' data. I'm using an ecore_diagram as my primary interface to adding/updating the metamodel. So essentially I have versions of metamodel, and corresponding model(s) also grow. Clearly I can copy metamodel to new named metamodel to indicate a later version, (potentially autogenerate new diagram, into which I can then incorporate changes / extensions to. I want to be able to (somehow) pull forward my previous version model(s), associate them to the new version, then add some new instance data into the evolving model (consistent with the new metamodel).

I'm aware that Flock is targetted at something like this anyway, I'd appreciate at least an explanation of how to do that process manually, as I've a tight timescale, and am hesitant about diving into flock.

Any advice would be appreciated. Thanks.

Re: Metamodel/model evolution advice please [message #1063329 is a reply to message #1063209] Thu, 13 June 2013 00:46 Go to previous message
Dimitris Kolovos is currently offline Dimitris KolovosFriend
Messages: 1520
Registered: July 2009
Location: York, UK
Senior Member

Hi Julian,

To do this manually, you will most likely need to edit the XMI source of your models. Another option would be to use HUTN which is a bit more readable than XMI but migrating to a new version of the metamodel would also require you to manually edit the HUTN model files. Another, slightly more controversial, option might be to define your models programmatically using EOL. For example, to create an OO model with 10 classes you could use something like the following:

for (i in {
createClass("Class" + i);

operation createClass(name : String) {
var c : new Class; = name;
return c;

so that if you then have to rename Class->MyClass you can only change 1 line of EOL code instead of 10 instances of Class. Outside Epsilon, you could consider Edapt (

Previous Topic:[EuGENia] Problem customizing the GMF editor
Next Topic:patching the source code
Goto Forum:

Current Time: Sat Apr 21 04:00:48 GMT 2018

Powered by FUDForum. Page generated in 0.02253 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software