blob: cb6e6d9509ca37163593d250a9da00e0007022a4 [file] [log] [blame]
@namespace(uri="http://www.eclipse.org/epsilon/statemachine", prefix="statemachine")
package statemachine;
class StateMachine {
val InitialState initialState;
val Transition[*] transitions;
val State[*] states;
}
class NamedElement {
attr String name;
}
class State extends NamedElement {
attr String action;
ref Transition[*]#from outgoing;
ref Transition[*]#to incoming;
}
class InitialState extends State {
}
class FinalState extends State {
}
class Transition extends NamedElement {
ref State#incoming to;
ref State#outgoing from;
attr String guard;
}