A
transition
is active if:
- The trigger matches the message
posted to the statechart.
(Null triggers match the null event.)
- There
is a path from the source to the target states
where all the guards are satisfied (evaluate to true).
Note: Guards are evaluated before invoking any action
related to the transition.
Guard evaluation
strategy is intentionally undefined
as to when guards are evaluated and in which order. Since guards are
not interpreted, evaluating them might include expressions that cause
side effects.