Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » [Eugenia] Subdiagrams(Is it possible or (planned feature) to do subdiagrams?)
[Eugenia] Subdiagrams [message #494369] Fri, 30 October 2009 12:51 Go to next message
Christoph Wienands is currently offline Christoph Wienands
Messages: 55
Registered: July 2009
Member
Hello all,

I just started with Eugenia and I am really impressed how quickly I was able to create a DSL, after having spent days before with "raw" GMF.

Now I was wondering whether it was possible to do subdiagrams with Eugenia. For example, I'm thinking about state machines where you can expand a composite state into a second diagram with its details. Or think of a network topology with routers, connections, etc. in a top-level diagram, and routing tables, NAT settings in subdiagrams for each router.

I once was able to get subdiagrams of the same type as the parent diagram working (it was a couple of settings in the gmfmap), but never got subdiagrams of different types working. It required a really ugly workaround with two sets of gmfmap, gmftool, and gmfgen.
http://wiki.eclipse.org/Diagram_Partitioning
If you ever got the different subdiagram type working (I didn't), you could never use the generators again if you made changes to your DSL Sad So I figured, Eugenia would be predestined for subdiagram support because all the GMF artifacts are completely regenerated after changes to the DSL.

I didn't see any annotations in the Eugenia reference that would support that feature. Has anybody done that before (maybe with a couple of those generated code overrides, forgot the name)? Or is this maybe a planned feature?

Thanks a lot, Christoph
Re: [Eugenia] Subdiagrams [message #494371 is a reply to message #494369] Fri, 30 October 2009 12:59 Go to previous messageGo to next message
Dimitrios Kolovos is currently offline Dimitrios Kolovos
Messages: 1776
Registered: July 2009
Senior Member
Hi Christoph,

Unfortunately this isn't supported by Eugenia at the moment but it is
definitely something we want to look into in the (hopefully not too
distant) future. The first step would be to put together a concrete
implementation for a small exemplar metamodel. Based on this we can then
generalize and provide it as a built-in feature in Eugenia. Do you think
you could put together such a small example so that we can kick-start this?

Cheers,
Dimitris

Christoph Wienands wrote:
> Hello all,
>
> I just started with Eugenia and I am really impressed how quickly I was
> able to create a DSL, after having spent days before with "raw" GMF.
>
> Now I was wondering whether it was possible to do subdiagrams with
> Eugenia. For example, I'm thinking about state machines where you can
> expand a composite state into a second diagram with its details. Or
> think of a network topology with routers, connections, etc. in a
> top-level diagram, and routing tables, NAT settings in subdiagrams for
> each router.
>
> I once was able to get subdiagrams of the same type as the parent
> diagram working (it was a couple of settings in the gmfmap), but never
> got subdiagrams of different types working. It required a really ugly
> workaround with two sets of gmfmap, gmftool, and gmfgen.
> http://wiki.eclipse.org/Diagram_Partitioning
> If you ever got the different subdiagram type working (I didn't), you
> could never use the generators again if you made changes to your DSL :(
> So I figured, Eugenia would be predestined for subdiagram support
> because all the GMF artifacts are completely regenerated after changes
> to the DSL.
>
> I didn't see any annotations in the Eugenia reference that would support
> that feature. Has anybody done that before (maybe with a couple of those
> generated code overrides, forgot the name)? Or is this maybe a planned
> feature?
>
> Thanks a lot, Christoph
>


--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
Re: [Eugenia] Subdiagrams [message #494874 is a reply to message #494371] Tue, 03 November 2009 02:00 Go to previous messageGo to next message
Christoph Wienands is currently offline Christoph Wienands
Messages: 55
Registered: July 2009
Member
Hello Dimitris,

I think I'll be able to do that for the case where top-level and subdiagrams are of the same type (e.g. nested state machines). I'll put that on my to do list.

After that we'll see whether I'll even be able to exemplarily implement one with different diagram types.

Where should I send or post that example?

Greetings, Christoph
Re: [Eugenia] Subdiagrams [message #494913 is a reply to message #494874] Tue, 03 November 2009 08:54 Go to previous messageGo to next message
Dimitrios Kolovos is currently offline Dimitrios Kolovos
Messages: 1776
Registered: July 2009
Senior Member
Hi Christoph,

Thanks for your effort! When you have the example, could you please open
a new enhancement request in the bugzilla and attach it there?

https://bugs.eclipse.org/bugs/enter_bug.cgi?product=GMT& component=Epsilon

Cheers,
Dimitris

Christoph Wienands wrote:
> Hello Dimitris,
>
> I think I'll be able to do that for the case where top-level and
> subdiagrams are of the same type (e.g. nested state machines). I'll put
> that on my to do list.
>
> After that we'll see whether I'll even be able to exemplarily implement
> one with different diagram types.
>
> Where should I send or post that example?
>
> Greetings, Christoph
>


--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
Re: [Eugenia] Subdiagrams [message #499136 is a reply to message #494913] Fri, 20 November 2009 03:13 Go to previous messageGo to next message
Christoph Wienands is currently offline Christoph Wienands
Messages: 55
Registered: July 2009
Member
As I just got a question from someone regarding subdiagrams:

I recently submitted an enhancement request for subdiagrams of same type to Eugenia at https://bugs.eclipse.org/bugs/show_bug.cgi?id=295271. I attached a ZIP file that contains a simple state machine language that features composite states (states are contained in compartments) and partitioning states, which open subdiagrams through double-click on the border (if you click inside the rectangle, you edit the label). This example was derived from the Eugenia state machine example.

The key were two things: First of all, the @diagram class needs to get a @node annotation as well. That enables this class to have a diagram pane representation as well as a node representation inside diagrams. Then you'll need to make one manual configuration to gmfmap. The exact element, property and value is described in the enhancement request. I also provided three lines of code for an Ecore2GMF.eol file to make such a change automatically. Basically, all you have to do is figure out which class has to have both the diagram representation and the node representation inside a diagram.
Re: [Eugenia] Subdiagrams [message #582443 is a reply to message #494369] Fri, 30 October 2009 12:59 Go to previous messageGo to next message
Dimitrios Kolovos is currently offline Dimitrios Kolovos
Messages: 1776
Registered: July 2009
Senior Member
Hi Christoph,

Unfortunately this isn't supported by Eugenia at the moment but it is
definitely something we want to look into in the (hopefully not too
distant) future. The first step would be to put together a concrete
implementation for a small exemplar metamodel. Based on this we can then
generalize and provide it as a built-in feature in Eugenia. Do you think
you could put together such a small example so that we can kick-start this?

Cheers,
Dimitris

Christoph Wienands wrote:
> Hello all,
>
> I just started with Eugenia and I am really impressed how quickly I was
> able to create a DSL, after having spent days before with "raw" GMF.
>
> Now I was wondering whether it was possible to do subdiagrams with
> Eugenia. For example, I'm thinking about state machines where you can
> expand a composite state into a second diagram with its details. Or
> think of a network topology with routers, connections, etc. in a
> top-level diagram, and routing tables, NAT settings in subdiagrams for
> each router.
>
> I once was able to get subdiagrams of the same type as the parent
> diagram working (it was a couple of settings in the gmfmap), but never
> got subdiagrams of different types working. It required a really ugly
> workaround with two sets of gmfmap, gmftool, and gmfgen.
> http://wiki.eclipse.org/Diagram_Partitioning
> If you ever got the different subdiagram type working (I didn't), you
> could never use the generators again if you made changes to your DSL :(
> So I figured, Eugenia would be predestined for subdiagram support
> because all the GMF artifacts are completely regenerated after changes
> to the DSL.
>
> I didn't see any annotations in the Eugenia reference that would support
> that feature. Has anybody done that before (maybe with a couple of those
> generated code overrides, forgot the name)? Or is this maybe a planned
> feature?
>
> Thanks a lot, Christoph
>


--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
Re: [Eugenia] Subdiagrams [message #582507 is a reply to message #494371] Tue, 03 November 2009 02:00 Go to previous messageGo to next message
Christoph Wienands is currently offline Christoph Wienands
Messages: 55
Registered: July 2009
Member
Hello Dimitris,

I think I'll be able to do that for the case where top-level and subdiagrams are of the same type (e.g. nested state machines). I'll put that on my to do list.

After that we'll see whether I'll even be able to exemplarily implement one with different diagram types.

Where should I send or post that example?

Greetings, Christoph
Re: [Eugenia] Subdiagrams [message #582519 is a reply to message #494874] Tue, 03 November 2009 08:54 Go to previous messageGo to next message
Dimitrios Kolovos is currently offline Dimitrios Kolovos
Messages: 1776
Registered: July 2009
Senior Member
Hi Christoph,

Thanks for your effort! When you have the example, could you please open
a new enhancement request in the bugzilla and attach it there?

https://bugs.eclipse.org/bugs/enter_bug.cgi?product=GMT& component=Epsilon

Cheers,
Dimitris

Christoph Wienands wrote:
> Hello Dimitris,
>
> I think I'll be able to do that for the case where top-level and
> subdiagrams are of the same type (e.g. nested state machines). I'll put
> that on my to do list.
>
> After that we'll see whether I'll even be able to exemplarily implement
> one with different diagram types.
>
> Where should I send or post that example?
>
> Greetings, Christoph
>


--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
Re: [Eugenia] Subdiagrams [message #583087 is a reply to message #494913] Fri, 20 November 2009 03:13 Go to previous message
Christoph Wienands is currently offline Christoph Wienands
Messages: 55
Registered: July 2009
Member
As I just got a question from someone regarding subdiagrams:

I recently submitted an enhancement request for subdiagrams of same type to Eugenia at https://bugs.eclipse.org/bugs/show_bug.cgi?id=295271 I attached a ZIP file that contains a simple state machine language that features composite states (states are contained in compartments) and partitioning states, which open subdiagrams through double-click on the border (if you click inside the rectangle, you edit the label). This example was derived from the Eugenia state machine example.

The key were two things: First of all, the @diagram class needs to get a @node annotation as well. That enables this class to have a diagram pane representation as well as a node representation inside diagrams. Then you'll need to make one manual configuration to gmfmap. The exact element, property and value is described in the enhancement request. I also provided three lines of code for an Ecore2GMF.eol file to make such a change automatically. Basically, all you have to do is figure out which class has to have both the diagram representation and the node representation inside a diagram.
Previous Topic:ECore2GMF.eol: How to access/change node in GmfMap
Next Topic:Question about using enumerated types!
Goto Forum:
  


Current Time: Tue Oct 21 13:48:31 GMT 2014

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

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