jc_0904: Prohibition of overlap/intersection of states and transition lines
Since R2024b
Guideline Publication
Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®
Sub ID Recommendations
NA-MAAB — a, b
JMAAB — a, b
MATLAB Versions
All
Rule
Sub ID a
States, graphical functions, Simulink functions, MATLAB functions, truth tables, boxes, junctions, annotations, or text labels shall not overlap.
Not Applicable
Exceptions apply in any of the following cases:
Overlapping of parent and child in hierarchical modeling, provided that the child is contained within the parent's frame.
Modeling with hierarchical states (overlap with superstates)
Modeling with graphical functions overlap with graphical function frames
States and their labels must fit within the state frame. Likewise for graphical functions, Simulink functions, MATLAB functions, truth tables, and boxes.
Some combinations, such as the overlap of states, may result in errors.
State labels do not overlap.
State labels, etc. are overlapping.
Sub ID b
Transition lines shall not overlap or intersect with states, graphical functions, Simulink functions, MATLAB functions, truth tables, boxes, junctions, annotations, text labels, or other transition lines.
Not Applicable
Exceptions apply in any of the following cases:
Overlapping of parent and child in hierarchical modeling, provided that the child is contained within the parent's frame.
Modeling with hierarchical states (overlap with superstates)
Modeling with graphical functions overlap with graphical function frames
Since this is an intersection for crossing state hierarchies, it does not violate the rules.
This transition line intersects with the state.
Rationale
Sub IDs a, b:
Deviation reduces readability.
Verification
Model Advisor check: Check for prohibited overlapping of states and transition lines in Stateflow charts (Simulink Check)
Last Changed
R2024b
See Also
Transition Between Operating Modes (Stateflow)
Version History
Introduced in R2024b