An Initial Point is used in conjunction with an Initial Transition to define the default starting state within the decomposition of a Composite State.
An Initial Point is represented by the following graphic:
An Initial Point usually has an outgoing transition which is called an Initial Transition represented as follows. The Initial Transition is always unlabeled.
Every decomposition of a Composite State has a single Initial Point and it's position is fixed, in the top-left corner of the State Editor.
There are a number of scenarios whereby a Composite State is directed to return to it's default state. This is known as Default Entry. When Default Entry has been specified, the Composite State transitions to it's Initial Point, automatically takes it's Initial Transition and terminates on a state within the Composite State's decomposition.
The following model shows an Initial Point which has specified an Initial Transition to State S. Whenever a Default Entry is indicated for it's Composite State the transition to State S will be taken. At that point the script is set to respond to the touch event and will transition to State S1 if that event is received.
- An Initial Point may only have a single outgoing transition which is the Initial Transition.
- An Initial Transition must terminate directly on a state within the decomposition of a Composite State.
- If a Default Entry is indicated for a Composite State and no Initial Transition has been specified from the Initial Point, then the model is considered ill-defined and the script is terminated.
- The Initial Transition's name ("init")and event (%%init) are fixed and it's Guard Condition is fixed to TRUE. It may however have a Transition Action which will be executed whenever the Initial Transition is taken. This is often used to perform various initializations for the script.