Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Stateflow
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Infobox software | name = Stateflow | screenshot = Automatic Transmission Logic.png | screenshot size = 250px | caption = Control logic for an automatic transmission system | developer = [[MathWorks]] | latest release version = R2018b | latest release date = {{Start date and age|2018|09|12}} | latest preview version = R2018b | latest preview date = {{Start date and age|2018|06|14}} | operating_system = [[Windows]], [[macOS]], [[Linux]]<ref>[http://www.mathworks.com/products/stateflow/requirements.html?s_cid=wiki_stateflow_1 MathWorks - Stateflow - Requirements]</ref> | platform = [[x64]] | license = [[Proprietary software|Proprietary]] | genre = [[Application software]] | website = [http://www.mathworks.com/products/stateflow?s_cid=wiki_stateflow_2 Stateflow 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.<ref>[http://www.mathworks.com/videos/tech-talks/state-machines/ MATLAB Tech Talks on the basics and usage of state machines]</ref><ref>[http://pdf.aminer.org/000/257/915/hybrid_systems_described_by_the_complementary_formalism.pdf Simulation of Hybrid Systems Using Stateflow]</ref> 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.<ref>{{cite journal|author1=Gregoire Hamon |author2=[[John Rushby]] |url=http://www.csl.sri.com/users/rushby/papers/fase04.pdf|title=An Operational Semantics for Stateflow|journal=Presented at Fundamental Approaches to Software Engineering (FASE) Barcelona, Spain, March 2004|publisher=[[SRI International]] Computer Science Laboratory}}</ref><ref>[http://www.mathworks.com/aerospace-defense/standards/FltDyn-CEV-08-148_MATLAB_Standards_v9_20111202.pdf Orion GN&C MATLAB/Simulink/Stateflow Standards]</ref> Specific applications for Stateflow include: * '''Mode logic''', where each discrete mode of a system is represented by a state<ref>{{cite journal|author=A. Tiwari|url=http://www.csl.sri.com/users/tiwari/papers/stateflow.pdf|title=Formal Semantics and Analysis Methods for Simulink Stateflow Models|publisher=[[SRI International]] Computer Science Laboratory}}</ref> * '''Fault management''', where the Stateflow chart is used to control how the system responds to faults and failures within a system<ref>[http://www.mathworks.com/tagteam/28434_AIAA_2005_Mosterman_Ghidella.pdf Requirements-Based Testing in Aircraft Control Design]</ref> * '''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<ref>[http://www.pages.drexel.edu/~dml46/Tutorials/BalancingBot/files/Embedded_Coder_Robot_NXT_Tips_En.pdf Embedded Coder Robot NXT Modeling Tips]</ref> ==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== {{reflist|2}} [[Category:Simulation programming languages]] [[Category:Visual programming languages]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite journal
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Reflist
(
edit
)
Template:Template other
(
edit
)