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 junctionA 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 itselfTransitions 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

**Note:**An event cannot trigger a transition from a connective junction to a destination state.

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 efficient
simulation and 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.

For more information about this chart, see Phases of Chart Execution. For more information on the semantics of this notation, see If-Then-Else Decision Construct.

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` |

For more information about temporal logic, see Control Chart Execution Using Temporal Logic. For more information on the semantics of this notation, see If-Then-Else Decision Construct.

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.

Was this topic helpful?