Jump to content

Stateflow

From Wikipedia, the free encyclopedia

This is the current revision of this page, as edited by Trappist the monk (talk | contribs) at 19:36, 7 May 2023 (Common uses: cite repair;). The present address (URL) is a permanent link to this version.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Stateflow
Developer(s)MathWorks
Stable release
R2018b / September 12, 2018; 6 years ago (2018-09-12)
Preview release
R2018b / June 14, 2018; 6 years ago (2018-06-14)
Operating systemWindows, macOS, Linux[1]
Platformx64
TypeApplication software
LicenseProprietary
WebsiteStateflow product page

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.[2][3] Stateflow also provides state transition tables and truth tables.

Common uses

[edit]

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

[edit]

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

[edit]
  1. ^ MathWorks - Stateflow - Requirements
  2. ^ MATLAB Tech Talks on the basics and usage of state machines
  3. ^ Simulation of Hybrid Systems Using Stateflow
  4. ^ Gregoire Hamon; John Rushby. "An Operational Semantics for Stateflow" (PDF). Presented at Fundamental Approaches to Software Engineering (FASE) Barcelona, Spain, March 2004. SRI International Computer Science Laboratory.
  5. ^ Orion GN&C MATLAB/Simulink/Stateflow Standards
  6. ^ A. Tiwari. "Formal Semantics and Analysis Methods for Simulink Stateflow Models" (PDF). SRI International Computer Science Laboratory. {{cite journal}}: Cite journal requires |journal= (help)
  7. ^ Requirements-Based Testing in Aircraft Control Design
  8. ^ Embedded Coder Robot NXT Modeling Tips