Stateflow (developed by MathWorks) is a control logic tool used to model reactive systems via state machines and flow charts within a Simulink model. Stateflow uses a variant of the finite-state machine notation established by David Harel, enabling the representation of hierarchy, parallelism and history within a state chart.MATLAB Tech Talks on the basics and usage of state machinesSimulation of Hybrid Systems Using Stateflow Stateflow also provides state transition tables and truth tables.

Common uses Stateflow is generally used to specify the discrete controller in the model of a hybrid system where the continuous dynamics (i.e., the behavior of the plant and environment) are specified using Simulink.Orion GN&C MATLAB/Simulink/Stateflow Standards

Specific applications for Stateflow include: Mode logic, where each discrete mode of a system is represented by a state Fault management, where the Stateflow chart is used to control how the system responds to faults and failures within a systemRequirements-Based Testing in Aircraft Control Design Task scheduling, where the Stateflow chart is used to schedule when specific tasks occur, either within the Stateflow chart or within the overall Simulink modelEmbedded Coder Robot NXT Modeling Tips

Extensions A number of MathWorks and third-party tools can be used with Stateflow to validate the design and generate code. For example, Simulink Verification and Validation, a MathWorks tool, can be used to check for requirements traceability and model coverage analysis. Other add-on code generation tools can be used to automatically generate C, C++, HDL, and PLC code for implementation on embedded systems.

References