Main Content

Flow Charts in Stateflow

A Stateflow® flow chart is a graphical construct that models logic patterns such as decision trees and iterative loops. Flow charts represent combinatorial logic in which one result does not depend on prior results. You build flow charts by combining connective junctions and transitions without using any states. The junctions provide decision branches between different transition paths. Executing a flow chart begins at a default transition and ends at a terminating junction (a junction that has no valid outgoing transitions).

A best practice is to encapsulate flow charts in graphical functions to create modular and reusable logic that you can call anywhere in a chart. For more information about graphical functions, see Reuse Logic Patterns by Defining Graphical Functions.

An example of a flow chart that models simple If-Else logic:

The flow chart models this code:

if u > 0
   y = 1;
   y = 0;

Draw a Flow Chart

You can draw and customize flow charts manually by using connective junctions as branch points between alternate transition paths:

  1. Open a chart.

  2. From the editor toolbar, drag one or more connective junctions into the chart with the Connective Junction tool:

  3. Add transition paths between junctions.

  4. Label the transitions.

  5. Add a default transition to the junction where the flow chart execution starts.

Best Practices for Creating Flow Charts

Follow these best practices to create efficient, accurate flow charts:

 Use only one default transition

 Provide only one terminating junction

 Converge all transition paths to the terminating junction

 Provide an unconditional transition from every junction except the terminating junction

 Use condition actions to process updates, not transition actions

An example that illustrates these best practices:

Related Topics