# This file is part of the Coral project.
# Please read the copyright notice in the LICENSE file.
language FSM 1 0

element StateMachine
root StateMachine
attribute StateMachine name Core::String
operation StateMachine FSM10 isDeterministic
operation StateMachine FSM10 reverse

element Token
attribute Token name Core::String

element Transition

element State
attribute State name Core::String

element AcceptingState
generalization State AcceptingState

composition StateMachine alphabet 1..* Token stateMachine 0..1
composition StateMachine transition 0..* Transition stateMachine 1
composition StateMachine state 1..* State owner 1

association StateMachine initial 1 State stateMachine 0..1

association Transition trigger 1 Token transition 0..*

association State outgoing 0..* Transition source 1
association State incoming 0..* Transition target 1



