The standard format of a label on a transition is trigger [guard] / action
. From these three parts:
- The trigger is mandatory, and denotes the event upon which the transition fires. Omitting it yields the aforementioned error.
- The guard is optional, it denotes a condition, and the transition only fires if the condition evaluates to true after the trigger has fired.
- The actions are also optional, they perform some actions if the transition fires.
In your solution, you have transitions, that only have a guard, but no trigger. These transitions are nondeterministic, and can fire anytime, or none at all.