Implement Component Behavior Using Stateflow Charts
A state chart diagram demonstrates the state-dependent behavior of a component throughout its state lifecycle and the events that can trigger a transition between states.
Add Stateflow® chart behavior to describe a component using state machines. You cannot synchronize and reuse Stateflow chart behaviors as Reference Component blocks because the component is part of the parent model.
You can simulate the Stateflow component implementations in System Composer™. Use the Simulation Data Inspector to view and compare simulation results between model designs.
State charts consist of a finite set of states with transitions between them to capture the modes of operation for the component. Charts allow you to design for different modes, internal states, and event-based logic of a system. You can also use charts as stubs to mock a complex component implementation during top-down integration testing. This functionality requires a Stateflow license. For more information, see Stateflow.
Tip
To learn more about how System Composer concepts apply to systems engineering design, see System Composer Concepts.
Add State Chart Behavior to Component
A System Composer component with stereotypes, interfaces, requirement links, and ports, is preserved when you add Stateflow Chart (Stateflow) behavior.
This example uses the architecture model for an unmanned aerial vehicle (UAV) to add state chart behavior to a component. In the MATLAB® Command Window, enter the following command:
scExampleSmallUAV
Double-click the
Airframe
component. Select theLandingGear
component on the System Composer composition editor.Select the
Brake
port. Open the Interface Editor from the toolstrip Modeling > Interface Editor. Right-click the interfaceoperatorCmds
and select Assign to Selected Port(s).Right-click the
LandingGear
component and selectCreate Behavior
then selectStateflow Behavior
. Alternatively, navigate to Modeling > Create Stateflow Chart Behavior.Double-click
LandingGear
, which has the Stateflow icon. Navigate to Modeling > Design Data > Symbols Pane to view the Stateflow symbols. The input portBrake
appears as input data in the symbols pane.Note
Some Stateflow objects remain local to Stateflow charts. Input and output event ports are not supported in System Composer. Only local events are supported.
Since Stateflow ports show up as input and output data objects, they must follow Stateflow naming conventions. Ports are automatically renamed to follow Stateflow naming conventions. For more information, see Guidelines for Naming Stateflow Objects (Stateflow).
Select the
Brake
input and view the interface in the Property Inspector. The interface can be accessed like a Simulink® bus signal. For information on how to use bus signals in Stateflow, see Index and Assign Values to Stateflow Structures (Stateflow).You can populate the Stateflow canvas to represent the internal states of the
LandingGear
.
Remove Stateflow Chart Behavior from Component
You can remove Stateflow chart behavior from a component to delete the contents inside the Stateflow chart while preserving interfaces on the component.
Right-click the
LandingGear
component and selectInline Model
.To confirm the operation to delete all the content inside the Stateflow chart, click OK.
The Stateflow chart behavior on the component is removed. Interfaces on ports on the component are preserved.
See Also
createStateflowChartBehavior
| inlineComponent