什么是模块替换?
使用 Simulink® Design Verifier™,您可以定义规则以在模型中自动替换模块。例如,您可以通过创建一条规则来解决与软件不兼容的模块,该规则将模型中不受支持的 Simulink 模块替换为功能等效的受支持的模块。或者,您可以通过创建规则来自定义用于分析的模块,该规则为模型中的特定模块添加约束或目标。
执行模块替换时,软件会复制您的模型并替换副本中的模块,而不会改变原始模型。这样,您就可以轻松自定义模型进行分析。
Simulink Design Verifier 软件使用以下方法自动替换模型中的模块:
替换模块库
定义在什么条件下替换哪些模块的规则
您可以用任何内置模块、库模块或子系统替换任何模块。
模块替换是可扩展的,允许您定义自己的替换模块库和自定义模块替换规则。使用模块替换,您可以
解决不兼容问题,例如模型中存在不受支持的模块。
自定义一个模块进行分析,比如:
对其输入信号添加约束
向其输出信号添加目标
消除子系统或 Model 模块的内容以简化分析
注意
您可以使用自动插桩作为模块替换的替代方案来解决不兼容问题。自动插桩用具有相同接口的元素替换不受支持的模块。有关详细信息,请参阅 使用自动插桩处理不兼容问题。
模块替换对测试生成的影响
如果被替换的模块与模型的其他部分共享功能,则替换模块可能会影响测试用例的生成。在替换模块之前,请了解这些模块或共享信号的功能依存关系。请参阅Highlight Functional Dependencies。替换模块还会影响其他分析工作流程,例如属性证明。
例如,您可以使用为输入信号添加目标的替换模块来自定义一个用于分析的模块。如果另一个子系统依赖于该信号,则替换模块会有效地为该子系统添加一个目标。
在此示例中,二维查找表中 u1 的断点范围是 5–7。开关阈值 8 超出了 u1 查找表范围。

无需替换二维查找表而生成的测试满足两个目标:触发器不大于 Switch 模块阈值 8,并且触发器大于 Switch 模块阈值 8。
满足的目标

blkrep_rule_lookup2D_normal.m 模块替换规则用包含 2-D 查找表和 MATLAB® Function 模块的封装子系统替换 2-D 查找表。

MATLAB Function 模块将分析限制在表的断点范围内。