This example shows a transition from an OR state to a superstate with exclusive (OR) decomposition, where a default transition to a substate is defined.
Initially, the chart is asleep. State A
is active. Event
E_one
occurs and awakens the chart, which processes the event
from the root down through the hierarchy:
The chart root checks to see if there is a valid
transition as a result of E_one
. There is a valid
transition from state A
to superstate
B
.
State A
exit actions
(exitA()
) execute and complete.
State A
is marked inactive.
The transition action, A
, is
executed and completed.
State B
is marked active.
State B
entry actions
(entB()
) execute and complete.
State B
detects a valid default
transition to state B
.B1
.
State B
.B1
is
marked active.
State B
.B1
entry
actions (entB1()
) execute and complete.
The chart goes back to sleep.
This sequence completes the execution of this Stateflow® chart associated with event E_one
when state
A
is initially active.
The following example shows the behavior of a default transition to a connective junction. The default transition to the junction is valid only when state B is first entered, not every time the chart wakes up.
For this example, initially, the chart is asleep. State B.B1
is
active. Condition [C_two]
is true. An event occurs and awakens
the chart, which processes the event from the root down through the
hierarchy:
State B
checks to see if there is
a valid transition as a result of any event. There is none.
State B
during
actions (durB()
) execute and
complete.
State B1
checks to see if there is a valid transition
as a result of any event. There is none.
State B1
during
actions (durB1()
) execute and
complete.
This sequence completes the execution of this Stateflow chart associated with the occurrence of any event.
This example shows the behavior of a superstate with a default transition and a history junction. The chart uses implicit ordering of outgoing transitions (see Implicit Ordering).
Initially, the chart is asleep. State A
is active. A history
junction records the fact that state B4
is the previously active
substate of superstate B
. Event E_one
occurs
and awakens the chart, which processes the event from the root down through the
hierarchy:
The chart root checks to see if there is a valid
transition as a result of E_one
.
There is a valid transition from state A
to superstate
B
.
State A
exit actions
(exitA()
) execute and complete.
State A
is marked inactive.
State B
is marked active.
State B
entry actions
(entB()
) execute and complete.
State B
uses the history junction
to determine the substate destination of the transition into the
superstate.
The history junction indicates that substate
B
.B4
was the last active substate,
which becomes the destination of the transition.
State B
.B4
is
marked active.
State B
.B4
entry
actions (entB4()
) execute and complete.
The chart goes back to sleep.
This sequence completes the execution of this Stateflow chart associated with event E_one
.
This example shows the use of a default transition with a label. The chart uses implicit ordering of outgoing transitions (see Implicit Ordering).
Initially, the chart is asleep. State A
is active. Event
E_one
occurs and awakens the chart, which processes the event
from the root down through the hierarchy:
The chart root checks to see if there is a valid
transition as a result of E_one
.
There is a valid transition from state A
to superstate
B
. The transition is valid if event
E_one
or E_two
occurs.
State A
exit actions execute and
complete (exitA()
).
State A
is marked inactive.
State B
is marked active.
State B
entry actions execute and
complete (entB()
).
State B
detects a valid default
transition to state B
.B1
. The default
transition is valid as a result of E_one
.
State B
.B1
is
marked active.
State B
.B1
entry actions execute and complete (entB1()
).
The chart goes back to sleep.
This sequence completes the execution of this Stateflow chart associated with event E_one
when state
A
is initially active.