| @namespace(uri="scl", prefix="scl") |
| @emf.gen(basePackage="org.eclipse.epsilon.eugenia.examples") |
| package scl; |
| |
| @gmf.diagram |
| @gmf.node(label="name", color="232,232,232") |
| class Component { |
| attr String name; |
| @gmf.compartment(layout="free") |
| val Component[*] subcomponents; |
| @gmf.affixed |
| val Port[*] ports; |
| } |
| |
| @gmf.link(source="from", target="to", label="name", target.decoration="arrow") |
| class Connector { |
| attr String name; |
| ref Port#outgoing from; |
| ref Port#incoming to; |
| } |
| |
| @gmf.node(figure="ellipse", size="15,15", label.icon="false", label.placement="external", label="name") |
| class Port { |
| attr String name; |
| val Connector#from outgoing; |
| ref Connector#to incoming; |
| } |