Home » Modeling » Epsilon » Eugenia don't create gmfmap,gmftool,gmfgraph...come in an infinite loop
Eugenia don't create gmfmap,gmftool,gmfgraph...come in an infinite loop [message #583305] |
Fri, 27 November 2009 23:56 |
marco Messages: 82 Registered: September 2009 |
Member |
|
|
Hi Dimitris
I'm trying to use Eugenia for Diagram Partition.
I wanted to create a new diagram involving only types.
The following EMF file is what I use.
compared to the previous diagram, I moved the annotation @ gmf.diagram from SoftwareArchitecture to TypesSpecification
I use Eugenia but don't work...
seems kind that come in an infinite loop ... and do not understand why.
someone tell me why?
regards
marco
@namespace(uri="http://a0.ecore", prefix="A0")
@gmf(foo="bar")
package A0;
@namespace(uri="core", prefix="core")
package core {
class SAComponent extends Component {
}
@gmf.node(figure="rounded",label="name")
class SAConnector extends Component {
}
@gmf.node(figure="a0_editor.diagram.figures.TypeFigure",label= "name")
class Type extends PropertyHolderElement {
@gmf.link(color="250,100,100")
ref TypedElement[*]#type implementations;
ref Type[*]#subtypes supertypes;
@gmf.link(color="50,200,100",target.decoration="closedarrow ")
ref Type[*]#supertypes subtypes;
}
@gmf.node(figure="rounded",label = "name")
class SAInterface extends InteractionPoint, ArchitecturalElement {
attr SAInterfaceDirection direction;
val Behavior[*] behavior;
}
@gmf.node(figure="rectangle",label="name")
abstract class Component extends ConnectableElement, ArchitecturalElement {
@gmf.compartment(foo="bar", collapsible="true")
val ArchitecturalElement[*] subElement;
}
@gmf.link(style="solid", width="2")
class SAChannel extends SARelationship {
}
abstract class Behavior extends Element {
}
abstract class Business extends Element {
}
abstract class Development extends Element {
}
abstract class Element {
attr String name;
attr String description;
val Development development;
val Business business;
}
@gmf.link(source="from",target="to",label="name")
abstract class Link extends PropertyHolderElement, TypedElement {
attr LinkNavigability navigability;
ref ConnectableElement[1] from;
ref ConnectableElement[1] to;
ref Component fromContext;
ref Component toContext;
}
abstract class ConnectableElement extends Element {
}
@gmf.node(figure="rounded", label="name")
abstract class TypedElement extends Element {
ref Type[*]#implementations type;
}
abstract class PropertyHolderElement extends Element {
val Property[*] properties;
}
@gmf.node(label="name,type,value", figure="rectangle", label.pattern="{1} {0} : {2}")
class Property extends Element {
attr PropertyType type;
attr String value;
}
enum SAInterfaceDirection {
input = 0;
output = 1;
inputOutput = 2;
}
@gmf.node(figure="rectangle", size="20,20", label="name",
label.placement="external", label.icon="false")
abstract class InteractionPoint extends ConnectableElement {
}
enum LinkNavigability {
bidirectional = 0;
unidirectional = 1;
}
@gmf.link(target.decoration="arrow",style="dash")
class SARelationship extends Link, ArchitecturalElement {
}
abstract class Architecture extends PropertyHolderElement {
val ArchitecturalElement[*] subElement;
val Behavior[*] behavior;
val Group[*] groups;
}
class SoftwareArchitecture extends Architecture {
}
abstract class ArchitecturalElement extends PropertyHolderElement, TypedElement {
}
@gmf.node(figure="ellipse",label = "name")
class Group extends Element {
@gmf.link(style="dot",tool.small.path="/a0_editor.edit/icons/full/obj16/Members.gif ",tool.large.path="/a0_editor.edit/icons/full/obj16/Members.gif ")
ref Element[*] members;
}
@gmf.diagram(foo = "bar")
class TypesSpecification {
val Type[*] types;
}
class SAType extends Type {
val Behavior[*] behavior;
}
enum PropertyType {
string = 0;
int = 1;
boolean = 2;
reference = 3;
float = 4;
double = 5;
short = 6;
long = 7;
any = 8;
}
class SAStructuredType extends SAType {
@gmf.compartment(collapsible="false")
val ArchitecturalElement[*] subElement;
}
@gmf.link(style="solid")
class SABinding extends SARelationship {
}
}
|
|
|
Re: Eugenia don't create gmfmap,gmftool,gmfgraph...come in an infinite loop [message #583313 is a reply to message #583305] |
Mon, 30 November 2009 10:47 |
Dimitrios Kolovos Messages: 1776 Registered: July 2009 |
Senior Member |
|
|
Hi Marco,
I've reproduced this. I'll try to figure out what goes wrong later on
today and get back to you.
Cheers,
Dimitris
marco wrote:
> Hi Dimitris
> I'm trying to use Eugenia for Diagram Partition.
>
> I wanted to create a new diagram involving only types.
> The following EMF file is what I use.
> compared to the previous diagram, I moved the annotation @ gmf.diagram
> from SoftwareArchitecture to TypesSpecification
>
> I use Eugenia but don't work...
> seems kind that come in an infinite loop ... and do not understand why.
> someone tell me why?
>
> regards
> marco
>
>
> @namespace(uri="http://a0.ecore", prefix="A0")
>
> @gmf(foo="bar")
> package A0;
>
> @namespace(uri="core", prefix="core")
> package core {
> class SAComponent extends Component {
> }
>
> @gmf.node(figure="rounded",label="name")
> class SAConnector extends Component {
> }
>
> @gmf.node(figure="a0_editor.diagram.figures.TypeFigure",label= "name")
> class Type extends PropertyHolderElement {
> @gmf.link(color="250,100,100") ref TypedElement[*]#type
> implementations;
> ref Type[*]#subtypes supertypes;
> @gmf.link(color="50,200,100",target.decoration="closedarrow ")
> ref Type[*]#supertypes subtypes;
> }
>
> @gmf.node(figure="rounded",label = "name")
> class SAInterface extends InteractionPoint, ArchitecturalElement {
> attr SAInterfaceDirection direction;
> val Behavior[*] behavior;
> }
>
> @gmf.node(figure="rectangle",label="name")
> abstract class Component extends ConnectableElement,
> ArchitecturalElement {
> @gmf.compartment(foo="bar", collapsible="true")
> val ArchitecturalElement[*] subElement;
> }
>
> @gmf.link(style="solid", width="2")
> class SAChannel extends SARelationship {
> }
>
> abstract class Behavior extends Element {
> }
>
> abstract class Business extends Element {
> }
>
> abstract class Development extends Element {
> }
>
> abstract class Element {
> attr String name;
> attr String description;
> val Development development;
> val Business business;
> }
>
> @gmf.link(source="from",target="to",label="name")
> abstract class Link extends PropertyHolderElement, TypedElement {
> attr LinkNavigability navigability;
> ref ConnectableElement[1] from;
> ref ConnectableElement[1] to;
> ref Component fromContext;
> ref Component toContext;
> }
>
> abstract class ConnectableElement extends Element {
> }
>
> @gmf.node(figure="rounded", label="name")
> abstract class TypedElement extends Element {
> ref Type[*]#implementations type;
> }
>
> abstract class PropertyHolderElement extends Element {
> val Property[*] properties;
> }
>
> @gmf.node(label="name,type,value", figure="rectangle",
> label.pattern="{1} {0} : {2}")
> class Property extends Element {
> attr PropertyType type;
> attr String value;
> }
>
> enum SAInterfaceDirection {
> input = 0;
> output = 1;
> inputOutput = 2;
> }
>
> @gmf.node(figure="rectangle", size="20,20", label="name",
> label.placement="external", label.icon="false")
> abstract class InteractionPoint extends ConnectableElement {
> }
>
> enum LinkNavigability {
> bidirectional = 0;
> unidirectional = 1;
> }
>
> @gmf.link(target.decoration="arrow",style="dash")
> class SARelationship extends Link, ArchitecturalElement {
> }
>
> abstract class Architecture extends PropertyHolderElement {
> val ArchitecturalElement[*] subElement;
> val Behavior[*] behavior;
> val Group[*] groups;
> }
>
> class SoftwareArchitecture extends Architecture {
> }
>
> abstract class ArchitecturalElement extends PropertyHolderElement,
> TypedElement {
> }
>
> @gmf.node(figure="ellipse",label = "name")
> class Group extends Element {
> @gmf.link(style="dot",tool.small.path="/a0_editor.edit/icons/full/obj16/Members.gif
> ",tool.large.path="/a0_editor.edit/icons/full/obj16/Members.gif ")
> ref Element[*] members;
> }
>
>
> @gmf.diagram(foo = "bar")
> class TypesSpecification {
> val Type[*] types;
> }
>
> class SAType extends Type {
> val Behavior[*] behavior;
> }
>
> enum PropertyType {
> string = 0;
> int = 1;
> boolean = 2;
> reference = 3;
> float = 4;
> double = 5;
> short = 6;
> long = 7;
> any = 8;
> }
>
> class SAStructuredType extends SAType {
> @gmf.compartment(collapsible="false")
> val ArchitecturalElement[*] subElement;
> }
>
>
> @gmf.link(style="solid")
> class SABinding extends SARelationship {
> }
>
> }
>
--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
|
|
|
Goto Forum:
Current Time: Fri Apr 26 22:39:21 GMT 2024
Powered by FUDForum. Page generated in 0.03002 seconds
|