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.[4][5]
Specific applications for Stateflow include:
Mode logic, where each discrete mode of a system is represented by a state[6]
Fault management, where the Stateflow chart is used to control how the system responds to faults and failures within a system[7]
Task scheduling, where the Stateflow chart is used to schedule when specific tasks occur, either within the Stateflow chart or within the overall Simulink model[8]
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.