Stateflow | ![]() ![]() |
State Decomposition
Every state (and chart) has a decomposition that dictates what kind of substates it can contain. All substates of a superstate must be of the same type as the superstate's decomposition. Decomposition for a state can be exclusive (OR) or parallel (AND). These types of decomposition are described in the following topics:
Exclusive (OR) State Decomposition
Exclusive (OR) state decomposition for a superstate (or chart) is indicated when its substates have solid borders. Exclusive (OR) decomposition is used to describe system modes that are mutually exclusive. When a state has exclusive (OR) decomposition, only one substate can be active at a time. The children of exclusive (OR) decomposition parents are OR states.
In the following example, either state A
or state B
can be active. If state A
is active, either state A1
or state A2
can be active at any one time.
Parallel (AND) State Decomposition
The children of parallel (AND) decomposition parents are parallel (AND) states. Parallel (AND) state decomposition for a superstate (or chart) is indicated when its substates have dashed borders. This representation is appropriate if all states at that same level in the hierarchy are always active at the same time.
In the following example, when state A
is active, A1
and A2
are both active at the same time:
The activity within parallel states is essentially independent, as demonstrated in the following example.
In the following example, when state A
becomes active, both states B
and C
become active at the same time. When state C
becomes active, either state C1
or state C2
can be active.
![]() | States | State Label Notation | ![]() |