Structure
Description
A state machine consists in a set of states, a set of possible inputs and rules to trigger transitions to another state or to itself for any of the possible inputs.
States
A state denotes a given logical status. Each state machine shall have an initial state, which is the entry point for the state machine. When a state machine is executed it starts always in the initial state.

A state can have a set of actions associated when the state is activated (On Entry) and when deactivated (On Exit). All actions defined for the state changes are executed when entering or leaving the state.

Transitions
One or more transitions can be defined between two states. A transition is executed when the associated condition is met.
A transition aggregates a sender object, a condition and an action. If the condition is evaluated to true, the action is executed. Transitions are evaluated based on their logical order according to their definition.

CGI Studio provides a large number of standard events for its controls and a predefined set of conditions to choose from.

State Machine Behavior
The state machine behavior is a standard CGI Studio behavior which allows to configure a state machine instance. The associated state machine will receive all the events of the associated node and could trigger further actions as they are defined in the state machine.
