db_0125: Stateflow local data
Sub ID Recommendations
NA-MAAB — a, b, c, d
JMAAB — a, b, c, d
MATLAB Versions
All
Rule
Sub ID a
Data objects shall not be defined with Scope
set to Local
at the machine level.
Not Applicable
Scope has set Local
local data at
the machine level.
Sub ID b
Data objects shall not be defined with Scope
set to Constant
at the machine
level.
Not Applicable
Scope has set Constant
local data
at the machine level.
Sub ID c
Data objects shall not be defined with Scope
set to Parameter
at the machine
level.
Not Applicable
Scope has set Parameter
local data
at the machine level.
Sub ID d
A Stateflow® block with parent-child relationships shall not include local data with the same name.
Not Applicable
A Stateflow block with parent-child relationships has local data with the same name.
Rationale
Sub ID a:
When local data is defined at the machine level, it is shared with all blocks in the model. The data will not behave like a local variable and can be influenced by any operation.
Adherence to the rules prevent the definition from disappearing when copying a Stateflow block to another model.
Sub IDs b, c:
Adherence to the rules prevent the definition from disappearing when copying a Stateflow block to another model.
Sub ID d:
When a Stateflow block with parent-child relationships includes local data with the same name, readability decreases due to lack of clarity with regard to the influence of the local data.
Verification
Model Advisor check: Check definition of Stateflow data (Simulink Check)
Last Changed
R2020a
See Also
JMAAB guideline db_0125, which is available in Control Algorithm Modeling Guidelines Using MATLAB, Simulink, and Stateflow on the MathWorks® website.
Stateflow Data Properties (Stateflow)
Use the Model Explorer with Stateflow Objects (Stateflow)
Use State Hierarchy to Design Multilevel State Complexity (Stateflow)
Version History
Introduced in R2020a