|On this page…|
The connective junction enables representation of different possible transition paths for a single transition. Connective junctions are used to help represent the following:
Variations of an if-then-else decision construct, by specifying conditions on some or all of the outgoing transitions from the connective junction
A self-loop transition back to the source state if none of the outgoing transitions is valid
Variations of a for loop construct, by having a self-loop transition from the connective junction back to itself
Transitions from a common source to multiple destinations
Transitions from multiple sources to a common destination
Transitions from a source to a destination based on common events
See Use Connective Junctions to Represent Multiple Paths for a summary of the semantics of connective junctions.
Flow chart notation uses connective junctions to represent common code structures like for loops and if-then-else constructs without the use of states. And by reducing the number of states in your Stateflow® charts, flow chart notation produces efficiently generated code that helps optimize memory use.
Flow chart notation uses combinations of the following:
Transitions to and from connective junctions
Self-loops to connective junctions
Inner transitions to connective junctions
Flow chart notation, states, and state-to-state transitions coexist in the same Stateflow chart. The key to representing flow chart notation is in the labeling of transitions, as shown in the following examples.
A transition from the Front_desk state to a connective junction is labeled by the check_in event. Transitions from the connective junction to the destination states are labeled with conditions. If Front_desk is active when check_in occurs, the transition from Front_desk to the connective junction occurs first. The transition from the connective junction to a destination state depends on which of the room_type conditions is true. If none of the conditions is true, no transition occurs and Front_desk remains active.
The chart uses temporal logic to determine when the input u equals 1.
|If the input equals 1...||A transition occurs from...|
|Before t = 2||Start to Fast|
|Between t = 2 and t = 5||Start to Good|
|After t = 5||Start to Slow|
This example shows a combination of flow chart notation and state transition notation. Self-loop transitions to connective junctions can represent for loop constructs. The chart uses implicit ordering of outgoing transitions (see Implicit Ordering of Outgoing Transitions).
See For-Loop Construct for information on the semantics of this notation.
This example shows the use of flow chart notation. The chart uses implicit ordering of outgoing transitions (see Implicit Ordering of Outgoing Transitions).
See Flow Chart Notation for information on the semantics of this notation.
This example shows transition segments from a common source to multiple conditional destinations using a connective junction. The chart uses implicit ordering of outgoing transitions (see Implicit Ordering of Outgoing Transitions).
See Transition from a Common Source to Multiple Destinations for information on the semantics of this notation.
This example shows transition segments from multiple sources to a single destination based on the same event using a connective junction.
See Transition from a Source to a Destination Based on a Common Event for information on the semantics of this notation.