分析 Requirements Table 模块以解决建模问题
如果您有Simulink® Design Verifier™,您可以通过分析模块中的建模问题来验证Requirements Table模块中的需求。通过分析发现的问题会在仿真中产生错误,但手动检测起来很困难。当您分析表格时,您还可以选择将整个模型纳入分析中。
表分析检测到以下问题:
如果该模块可以执行至少一个数据未分配值的场景,需求集不完整。请参阅不完整性问题。
如果需求集定义的至少一个数据在仿真中可以等于多个值,需求集不一致。请参阅不一致性问题。
如果在写入数据之前定义使用数据的需求,则该需求集可能会导致先读后写错误。请参阅检测先读后写问题。
如果有多个或没有互斥穷举需求处于活动,则这些需求存在排他性问题。请参阅检测 Requirements Table 模块中的排他性问题。
分析表格
为了分析需求,请打开Requirements Table模块。在表 选项卡的分析部分中,点击分析表。如果模块中存在问题,则分析结果窗格将显示其他信息。
将整个模型纳入分析
默认情况下,Requirements Table模块假定输入数据是独立生成的。如果输入数据不是独立的,您可能需要过度指定您的需求以防止出现问题。您可以通过以下方式防止此问题:
配置模块以在整个模型上下文中识别数据来源。在表 选项卡的分析部分中,展开分析表菜单并启用包括整个模型。
根据物理或数学限制如何阻止数据成为某些值来指定假设。请参阅将假设添加到需求中。
灵活需求的分析限制
根据您如何定义数据之间的关系,您可以建立两种类型的需求:刚性和灵活。除了单个需求之外,模块中的需求集也可以是刚性的或灵活的。
严格需求
如果需求后条件指定了精确的值,或者需求仅指定了一个动作,则该需求是严格的。您可以使用双等号 ==
来表达这些需求后条件。例如,具有后条件 y == 0
的需求是严格的。如果需求集集中的每个需求都是刚性的,那么该需求集就是刚性的。
灵活的需求
如果需求后条件可以满足一系列值,则该需求是灵活的。例如,具有后条件 y >= 0
或 y >= 0 && y < -2
的需求是灵活的。此外,指定多个值的后条件也能创建灵活的需求。例如,具有后条件 u == 3 || u == 4
的需求是灵活的。如果需求集至少有一个需求是灵活的,那么整个需求集都是灵活的。
如果需求灵活,且需求使用以下情况,则不能使用表分析:
持久变量。
数组作为Requirements Table模块输出,或启用了视为设计模型输出进行分析属性的输入。
不兼容的函数会导致分析表时出现错误。错误消息标识了对应的函数。