transition
A transition between two states.
Syntax
Starts from a source state to reach a target state under conditions, with eventual actions performed.
transition: if (expr) arrow;
where
arrow: scope? (target | fork)
with the optional scope allowing to define actions on transition and where target when restarting the target state :
target: restart ID or target when keeping the
history of the target state: target: resume ID and
where fork transition allows to target multiple
states:fork: if (expr) arrow
(elsif(expr) arrow)*
(else arrow)?
endTransitions are ordered in increasing order of
priority. The first transition is fired if several transitions can be fired at a given
step. Constraints
-
Type
expr is a Boolean expression.
-
Causality
Each flow defined on a transition depends instantaneously on all the flows in the expr conditions
-
Initialization
All expr in conditions must have their first value defined at the first step of their activation.