主要内容

本页采用了机器翻译。点击此处可查看英文原文。

检查 Stateflow 图中状态和过渡线是否存在禁止的重叠

检查 IDmathworks.jmaab_v6.jc_0904

规范:jc_0904:禁止状态和转移线的重叠/交叉

描述

检查 Stateflow® 图中的状态、过渡线或其他图形元素是否重叠或相交。

此检查适用于 Stateflow 图中的以下目标组件。

  • 状态、状态名称、状态标签。

  • 连接点、过渡标签、过渡线。

  • 真值表、方框、注释、子图、原子子图。

  • 图形函数、Simulink® 函数、MATLAB® 函数、Simulink 函数基于状态。

异常 1:Stateflow 对象具有父子关系。例如,该检查并不禁止子状态与包含它们的状态重叠。

例外情况 2:图形函数中构成建模逻辑的连接节点和过渡。

例外情况 3:状态名称或状态标签,位于其所在状态的边界内。

例外情况 4:从子对象跨越其父对象的边界到达另一个 Stateflow 对象的过渡线。例如,当子状态的转换线连接到新状态时,该检查不会禁止子状态的转换线与其父状态的边界相交。

例外情况 5:过渡线与其自身的过渡标签相交。

此检查需要 Simulink Check™ 和 Stateflow 许可证。

检查参数化

此检查包含与 JMAAB 建模规范中指定的子 ID 对应的子检查。您可以使用模型顾问配置编辑器来指定要执行的子 ID(一个或多个)。

作为参考,NA-MAAB 和 JMAAB 建模标准组织建议使用的 MAB 规范子 ID 为:

  • NA-MAAB - a、b

  • JMAAB - a、b

结果和建议的操作

规范子 ID条件建议的操作
jc_0904_a:检查 Stateflow 图中是否存在重叠的对象。状态、图形函数、Simulink 函数、MATLAB 函数、真值表、方框、连接点、注释、状态名称、状态标签或转换标签重叠。修改模型,使状态、图形函数、Simulink 函数、MATLAB 函数、真值表、框、连接点、注释、状态名称、状态标签和转换标签不重叠。
jc_0904_b:检查 Stateflow 图中是否存在与对象重叠的过渡线。 转换线与其他转换线、状态、图形函数、Simulink 函数、MATLAB 函数、真值表、方框、连接点、注释、状态名称、状态标签或转换标签重叠或相交。修改模型,使转换线不与其他转换线、状态、图形函数、Simulink 函数、MATLAB 函数、真值表、框、连接点、注释、状态名称、状态标签或转换标签重叠或相交。

功能和限制

  • 不检查连接点是否与其他 Stateflow 对象相交或重叠。

  • 不会报告与 Stateflow 对象重叠的注解的违规行为。在这种情况下,检查仅报告 Stateflow 对象存在违规行为。

  • 无法检测 Stateflow 图中的重叠注释。

  • 不会报告状态名称或状态标签与单独的 Stateflow 对象重叠的违规行为。在这种情况下,检查仅报告状态名称或名称标签在与其他 Stateflow 对象重叠之前跨越其自身名称边界的违规行为。

  • 可以分析库链接模块的内容。默认情况下,输入参数 Follow links 设置为 on

  • 可以分析封装子系统中的内容。默认情况下,输入参数 Look under masks 设置为 graphical

  • 对库模型运行。

  • 允许排除模块和图。

注意

此检查继承并扩展了 mathworks.jmaab.jc_0739 检查的规则。因此,MAB v5.0 中的检查 mathworks.jmaab.jc_0739 从 MAB v6.0 中移除。 (自 R2024b 起)