blob: 742622cbf068a7cf3718da50eca0f8663af3eb5a [file] [log] [blame]
@gmf
@namespace(uri="esm", prefix="esm")
package esm;
@gmf.diagram
class Machine {
val State[*] states;
val Transition[*] transitions;
}
@gmf.node(figure="ellipse", label="name", label.placement="external", label.icon="false")
class State {
attr String[1] name;
ref Transition[*]#target incoming;
ref Transition[*]#source outgoing;
}
@gmf.node(color="0,0,0", size="15,15")
class EndState extends State {
}
@gmf.link(source="source", target="target", target.decoration="arrow", label="action")
class Transition {
attr String action;
val EObject actionImpl;
ref State[1]#outgoing source;
ref State[1]#incoming target;
}