Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Sirius » Model evolution and Sirius
Model evolution and Sirius [message #1736458] Wed, 29 June 2016 13:52 Go to next message
Richard Meyer is currently offline Richard MeyerFriend
Messages: 40
Registered: June 2012
Member
Hy,

is there a strategy how to deal with model evolution and Sirius?
We use Sirius in our RCP as visualization. However sometimes we have to change the meta model of our domain model. After that it should be possible for the user to (automatic) migrate from the old model to the new one.
For the EMF part we use successfully EMF Edapt for the model migration. Are there similar tools/strategies for the Sirius *.aird file for migration?

Many thanks for any hint
Richard
Re: Model evolution and Sirius [message #1736468 is a reply to message #1736458] Wed, 29 June 2016 14:56 Go to previous messageGo to next message
Laurent Fasani is currently offline Laurent FasaniFriend
Messages: 182
Registered: October 2014
Senior Member
Le 29/06/2016 à 15:52, Richard Meyer a écrit :
> Hy,
>
> is there a strategy how to deal with model evolution and Sirius?
> We use Sirius in our RCP as visualization. However sometimes we have to
> change the meta model of our domain model. After that it should be
> possible for the user to (automatic) migrate from the old model to the
> new one.
> For the EMF part we use successfully EMF Edapt for the model migration.
> Are there similar tools/strategies for the Sirius *.aird file for
> migration?
When opening an old modeling project in the recent Sirius, the *.aird
are automatically migrated [1]. Life is simple :)
>
> Many thanks for any hint
> Richard
>
Regards
Laurent
[1]
http://help.eclipse.org/mars/topic/org.eclipse.sirius.doc/doc/user/general/Modeling%20Project.html?cp=69_1_0_1#FormerUsers


Laurent Fasani - Obeo
Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
Re: Model evolution and Sirius [message #1736478 is a reply to message #1736468] Wed, 29 June 2016 15:55 Go to previous messageGo to next message
Pierre-Charles David is currently offline Pierre-Charles DavidFriend
Messages: 703
Registered: July 2009
Senior Member
Le 29/06/2016 16:56, Laurent Fasani a écrit :
> Le 29/06/2016 à 15:52, Richard Meyer a écrit :
>> Hy,
>>
>> is there a strategy how to deal with model evolution and Sirius?
>> We use Sirius in our RCP as visualization. However sometimes we have to
>> change the meta model of our domain model. After that it should be
>> possible for the user to (automatic) migrate from the old model to the
>> new one.
>> For the EMF part we use successfully EMF Edapt for the model migration.
>> Are there similar tools/strategies for the Sirius *.aird file for
>> migration?
> When opening an old modeling project in the recent Sirius, the *.aird
> are automatically migrated [1]. Life is simple :)

To complete Laurent's (correct) answer: every time we modify one of
Sirius's own metamodels (either the one for the .aird files or for the
..odesign files), we implement the corresponding automatic migration. The
migration is completely transparent from a user's point of view, it
happens during the EMF resource loading and only relies on standard EMF
mechanisms (it is not based on Edapt).

If you have a sample.aird which was created with Sirius version N,
opening it with Sirius N+1 (or N+2, +3 etc.) will automatically migrate
the model to the format expected by Sirius N+1 (resp. N+2, +3 etc.) in
memory. The same thing happens for the *.odesign files.

This means that once loaded with version N+1, if you save the resource,
it will be serialized according to the format expected by version N+1,
and should not be reopened with version N or earlier (the migration
process is not reversible). These past versions will not know how to
make sense of the models and the result is undefined. Starting from the
next version (Sirius 4.1) you will be prevented to do this (see bug
#481846 for details).

--
Pierre-Charles David - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius


Pierre-Charles David - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
Re: Model evolution and Sirius [message #1736517 is a reply to message #1736478] Thu, 30 June 2016 06:23 Go to previous messageGo to next message
Richard Meyer is currently offline Richard MeyerFriend
Messages: 40
Registered: June 2012
Member
Hy Pierre-Charles and Laurent,

many thanks for your fast reply.
But I'm not interested in meta model evolution from Sirius models, I'm interested in model evolution of my own models visualized by Sirius.
To make it clearer with the library example:
EMF mata model: library.ecore
Viewpoint Specification: library. odesign
I release my product and my hundreds of thousands customers;-) creating diligent many model projects with *.library and *.aird files.
And now I change the library.ecore meta model (adding/removing classes, references...).

My question is: what did I have to do that in the next release of my product my customers are able to convert their old modeling projects into the new one?
*.library files -> edapt!
*.aird files ???


many thanks
Richard





[Updated on: Thu, 30 June 2016 06:25]

Report message to a moderator

Re: Model evolution and Sirius [message #1736530 is a reply to message #1736517] Thu, 30 June 2016 08:34 Go to previous message
Pierre-Charles David is currently offline Pierre-Charles DavidFriend
Messages: 703
Registered: July 2009
Senior Member
Le 30/06/2016 08:24, Richard Meyer a écrit :
> My question is: what did I have to do that in the next release of my
> product my customers are able to convert their old modeling projects
> into the new one?
> *.library files -> edapt!
> *.aird files ???

First you need to update your modeler definition (*.odesign files and
any associated Java code) to work with the new version of your
metamodel. You can use the VSM validation to detect some inconsistencies
(references to types which do not exist anymore, interpreted expressions
which are now invalid, etc.), but given the very loose coupling in
general between a VSM and the target metamodel(s), you really need tests
(manual or automated) to make sur the VSM is correct for your updated
metamodel. The most important thing is to keep the identifiers stable
across versions of your VSM, especially for viewpoints, representations
and mappings (you can of course add new things or remove obsolete ones
in the new version).

Once your users have installed the new version of your modeler, it is
completely transparent to them. When they open their existing diagrams,
Sirius will refresh its content using the updated definition from the
new VSM (depending on the settings a forced manual refresh may be
needed). As long as you kept identifiers stable, the pre-existing
elements on the diagram will be kept (though some of their graphical
attributes may change if you changed their definition), diagram elements
which corresponded to things you removed from the VSM will disappear,
and any new element you added in the VSM will be created as needed.
Really its the exact same mechanism that you see at play when you
iterate on your modeler definition in "live mode": (existing diagram +
existing or updated semantic model + updated VSM) => diagram updated to
the new definition with minimal disruption to the previous state
(layout, styles, etc.).

Regards,
Pierre-Charles David

--
Pierre-Charles David - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius


Pierre-Charles David - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
Previous Topic:Transaction editing domain
Next Topic:Problem in diagram navigation
Goto Forum:
  


Current Time: Thu Apr 25 21:58:24 GMT 2024

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

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

Back to the top