什么是模块替换?
使用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® 功能模块的掩码子系统替换 2-D 查找表。
MATLAB 函数模块将分析限制在表的断点范围内。