An encapsulation of the behaviour associated to one state in
an FSM. This behaviour consists of:
actions that are associated to the FSM state.
an entry check that verifies whether the state can be entered.
an exit check that verifies whether the state can be exited.
a termination check that verifies if all actions associated to the current state have been executed.
a next state that must be entered when the actions associated to the current state have been completed.
The actions that are associated to a state are of three types:
An initialization action: a punctual action performed immediately after the state is entered
A continued action: an action performed continuously while the state is active
An exit action: a punctual action that is performed immediately before the state is exited
Finally, to each state, a next state may be associated. If B is the next state associated to state A, then the FSM will perform an autonomous transition to state
B after execution of all the actions associated to state A has been completed (i.e. after its termination check reports
Finite State Machine design pattern.