Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [Edapt] Handling evolution of metamodel with mutliple packages
[Edapt] Handling evolution of metamodel with mutliple packages [message #1414432] Sun, 31 August 2014 09:19 Go to next message
Cedric Moonen is currently offline Cedric MoonenFriend
Messages: 274
Registered: August 2009
Senior Member
Hello,

I'm looking at Edapt as a way to handle evolution of my metamodel. However, my use case is quite complex since my metmodel is made of several packages. Furthermore, this metamodel is used to create models with different top-level elements.

Let me explain in more détails:
- I have libraries files, having a top-level element called "Library" (from a specific Library package). This files are provided with the tool itself, but the user is also able to create it's own using some special editors.
- I have session files, having a top-level element called "Session" (from a specific Session package). This file is defined by the user and references elements contained in Library files (either the ones supplied with the tool or the ones supplied by himself; or both).

What makes things even more complex is that I have one package ("Utilities") which is referenced (with containement references) by both packages. Furthermore, my "Library" package is actually several packages, because there's too much elements there.

From what I saw, Edapt is looking at the nsURI of the package from the top-level element of your file, is that correct ? How can I handle the situation where I use several packages ? Furthermore, I would like to have one migrator for my session files and one migrator for my Library files. How can I handle that ? Would it be advised to split the metamodel in 2 ?

Another option would be to use XSLT but I would prefer Edpat, since it's much easier to use and can handle more complex scenarios.

Any idea ?
Thanks

[Updated on: Sun, 31 August 2014 09:20]

Report message to a moderator

Re: [Edapt] Handling evolution of metamodel with mutliple packages [message #1414952 is a reply to message #1414432] Mon, 01 September 2014 17:59 Go to previous messageGo to next message
Maximilian Koegel is currently offline Maximilian KoegelFriend
Messages: 253
Registered: July 2009
Senior Member
Hi Cedric,

in general several packages are supported. Some more detail would really
help ;)).

Cheers,
Maximilian

Am 31.08.2014 11:19, schrieb Cedric Moonen:
> Hello,
>
> I'm looking at Edapt as a way to handle evolution of my metamodel.
> However, my use case is quite complex since my metmodel is made of
> several packages. Furthermore, this metamodel is used to create models
> with different top-level elements.
>
> Let me explain in more d


--
Maximilian Kögel

Get Professional Eclipse Support: http://eclipsesource.com/munich
Re: [Edapt] Handling evolution of metamodel with mutliple packages [message #1414959 is a reply to message #1414952] Mon, 01 September 2014 18:24 Go to previous messageGo to next message
Cedric Moonen is currently offline Cedric MoonenFriend
Messages: 274
Registered: August 2009
Senior Member
Hi Maximilian,

Thanks for the reply. Actually, this more a question on how to proceed rather than something which doesn't work.
But if I look at your reply, the text which is quoted from my message is truncated. I had an issue while posting my message (bug due to the soltice theme ?) and only a part of my message was posted. I updated the message afterwards but apparently you didn't see the full message. Here is the complete one:

Quote:
I'm looking at Edapt as a way to handle evolution of my metamodel. However, my use case is quite complex since my metmodel is made of several packages. Furthermore, this metamodel is used to create models with different top-level elements.

Let me explain in more détails:
- I have libraries files, having a top-level element called "Library" (from a specific Library package). This files are provided with the tool itself, but the user is also able to create it's own using some special editors.
- I have session files, having a top-level element called "Session" (from a specific Session package). This file is defined by the user and references elements contained in Library files (either the ones supplied with the tool or the ones supplied by himself; or both).

What makes things even more complex is that I have one package ("Utilities") which is referenced (with containement references) by both packages. Furthermore, my "Library" package is actually several packages, because there's too much elements there.

From what I saw, Edapt is looking at the nsURI of the package from the top-level element of your file, is that correct ? How can I handle the situation where I use several packages ? Furthermore, I would like to have one migrator for my session files and one migrator for my Library files. How can I handle that ? Would it be advised to split the metamodel in 2 ?

Another option would be to use XSLT but I would prefer Edpat, since it's much easier to use and can handle more complex scenarios.


You say that multiple packages are supported. Suppose that I have the following scenario (based on my example: I modify the "Utility" package. Now when the program starts, I open a Library file but I suppose that I only check whether the nsURI of the "Library" package changed (which is not the case here). So, in this case, I need to also increase the nsURI of my "Library" package ?

How can I have two independant migrators (one for when loading Library files and one when loading session files) ?
Re: [Edapt] Handling evolution of metamodel with mutliple packages [message #1417539 is a reply to message #1414959] Fri, 05 September 2014 17:11 Go to previous messageGo to next message
Maximilian Koegel is currently offline Maximilian KoegelFriend
Messages: 253
Registered: July 2009
Senior Member
Hi Cedric,

comments inline...

Cheers,
Maximilian

> You say that multiple packages are supported. Suppose that I have the
> following scenario (based on my example: I modify the "Utility" package.
> Now when the program starts, I open a Library file but I suppose that I
> only check whether the nsURI of the "Library" package changed (which is
> not the case here). So, in this case, I need to also increase the nsURI
> of my "Library" package ?
Yes this is correct.

> How can I have two independant migrators (one for when loading Library
> files and one when loading session files) ?
No you cannot have two independant migrators, for the reasons you
pointed out.


--
Maximilian Kögel

Get Professional Eclipse Support: http://eclipsesource.com/munich
Re: [Edapt] Handling evolution of metamodel with mutliple packages [message #1421548 is a reply to message #1417539] Thu, 11 September 2014 14:07 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe BouhierFriend
Messages: 937
Registered: July 2009
Senior Member
On 05-09-14 19:11, Maximilian Koegel wrote:
> Hi Cedric,
>
> comments inline...
>
> Cheers,
> Maximilian
>
>> You say that multiple packages are supported. Suppose that I have the
>> following scenario (based on my example: I modify the "Utility" package.
>> Now when the program starts, I open a Library file but I suppose that I
>> only check whether the nsURI of the "Library" package changed (which is
>> not the case here). So, in this case, I need to also increase the nsURI
>> of my "Library" package ?
> Yes this is correct.
>
>> How can I have two independant migrators (one for when loading Library
>> files and one when loading session files) ?
> No you cannot have two independant migrators, for the reasons you
> pointed out.
>
Hi Guys, This sounds like a very reasonable use case.
Perhaps this can be logged as a bug (Feature request). "Migrate model
parts" - considering the sum of all ecore (EPackages and references to
one another) is currently under migration scope, but could be broken in
pieces (With a single migrator). We could do this by walking the
EPackage references, and looking for nsURI changes. (So not only the
root EPackage nsURI).

>
Re: [Edapt] Handling evolution of metamodel with mutliple packages [message #1422154 is a reply to message #1421548] Fri, 12 September 2014 11:55 Go to previous message
Maximilian Koegel is currently offline Maximilian KoegelFriend
Messages: 253
Registered: July 2009
Senior Member
Hi,

a feature request would be good, a contribution even better ;).

Cheers,
Maximilian

Am 11.09.2014 16:07, schrieb Christophe Bouhier:
> On 05-09-14 19:11, Maximilian Koegel wrote:
>> Hi Cedric,
>>
>> comments inline...
>>
>> Cheers,
>> Maximilian
>>
>>> You say that multiple packages are supported. Suppose that I have the
>>> following scenario (based on my example: I modify the "Utility" package.
>>> Now when the program starts, I open a Library file but I suppose that I
>>> only check whether the nsURI of the "Library" package changed (which is
>>> not the case here). So, in this case, I need to also increase the nsURI
>>> of my "Library" package ?
>> Yes this is correct.
>>
>>> How can I have two independant migrators (one for when loading Library
>>> files and one when loading session files) ?
>> No you cannot have two independant migrators, for the reasons you
>> pointed out.
>>
> Hi Guys, This sounds like a very reasonable use case.
> Perhaps this can be logged as a bug (Feature request). "Migrate model
> parts" - considering the sum of all ecore (EPackages and references to
> one another) is currently under migration scope, but could be broken in
> pieces (With a single migrator). We could do this by walking the
> EPackage references, and looking for nsURI changes. (So not only the
> root EPackage nsURI).
>
>>
>


--
Maximilian Kögel

Get Professional Eclipse Support: http://eclipsesource.com/munich
Previous Topic:[ECP] org.eclipse.emf.ecp.validation causes hang while making modification to ECPProject
Next Topic:[ECP] Problems in migrating target platform from ECP v. 1.2 to v. 1.4
Goto Forum:
  


Current Time: Fri Mar 29 00:17:46 GMT 2024

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

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

Back to the top