blob: af3662fda10286aea6056458d1584b6ff562b24d [file] [log] [blame]
@namespace(uri="flowchart", prefix="flowchart")
package flowchart;
abstract class NamedElement {
attr String[1] name;
}
class Flowchart extends NamedElement {
val Node[*] nodes;
val Transition[*] transitions;
}
abstract class Node extends NamedElement {
ref Transition[*]#source outgoing;
ref Transition[*]#target incoming;
}
class Transition extends NamedElement {
ref Node[1]#outgoing source;
ref Node[1]#incoming target;
}
class Action extends Node {
}
class Decision extends Node {
}
class Subflow extends Flowchart, Node {
}