对大型模型进行分析
大型模型问题的类型
Simulink® Design Verifier™ 软件在分析大型模型时可能会遇到以下一些问题:
无法满足的目标 - 软件证明没有执行这些测试目标的测试用例,并且没有生成任何测试用例。
未确定的目标 - 软件无法满足或证伪这些目标。
有误差的目标 - 当模型组件使用非线性算法时通常会出现此问题,这会影响测试目标。
无法在规定时间内完成分析 - 此问题可能表明模型的某个区域软件遇到了问题,或者您可能需要增加最大分析时间参数的值。
分析挂起 - 如果处理的目标数量在相当长的时间内保持不变,则软件可能遇到了模型与其目标之间的复杂性。
未达到高模型覆盖率 - 当您框架模型上运行测试用例时,模型覆盖率不足以满足您的设计要求。
接下来的几节将描述分析大型模型时要采取的初始步骤。虽然这些步骤涉及测试生成,但您可以在检测设计错误或证明模型中的属性时使用类似的方法。
总结模型层次结构和兼容性
您可以使用测试生成顾问来总结测试生成兼容性、条件和决策目标以及模型和模型组件的死逻辑。
测试生成顾问执行高级分析和快速死逻辑检测。您可以使用结果来更好地了解您的模型,特别是大型模型、复杂模型或您不确定其与 Simulink Design Verifier 兼容性的模型。例如,您可以:
识别与测试用例生成的不兼容性。
识别可能耗时分析的复杂组件。
确定死逻辑的实例。
获取组件层次结构的摘要。
获取推荐的测试生成参数。
要访问测试生成顾问,请在 Design Verifier 选项卡的模式部分中点击测试生成。在准备部分中,点击顾问。有关详细信息,请参阅使用测试生成顾问识别可分析组件。
使用默认参数值
生成测试用例时,通常应该首先使用 Simulink Design Verifier 默认参数值分析模型:
检查您的模型是否与 Simulink Design Verifier 兼容,如 检查模型兼容性以进行分析 中所述。
为了分析模型,使用默认参数值。下表列出了“配置参数”对话框中您可能在分析大型模型时更改的参数默认值。
参数 默认值 描述 最长分析时间(s) 300(秒) 如果分析未在指定时间内完成,则分析超时并终止。
测试套件优化 自动 生成针对多个测试目标的测试用例。
模型覆盖率目标 条件/决策 生成实现条件和决策覆盖率的测试用例。
分析运行时,查看 Simulink Design Verifier 日志窗口中的以下信息:
处理的目标数量 - 处理了多少个目标?处理一定数量的目标后分析是否会挂起?这些问题的答案可能会给您提供一些关于问题所在线索。
满足的目标数量/被证伪的目标数量 - 哪些目标被证伪了?
已用时间 - 分析是否超时,或者是否在指定的最大分析时间内完成?
分析完成后,您可以突出显示模型中的结果并单独查看每个模型对象的分析,如突出显示模型结果中所述。您还可以生成并查看 Simulink Design Verifier HTML 报告。该报告包含满足和伪造目标的模型元素的链接,以便您可以看到模型的哪些部分可能存在问题。有关详细信息,请参阅 查看结果。
对于测试生成分析,如果所有测试目标都已满足,则框架模型上运行测试用例以确定模型覆盖率。
如果模型覆盖率足以满足您的设计要求,则您无需执行任何其他操作。如果覆盖率不够,请采取额外步骤来提高分析性能,如下节所述。
注意
大量伪造的目标和较差的模型覆盖率通常表明您需要更改模型参数值才能获得完整的覆盖率。当 Constant 模块中具有可调参数并且连接到使能子系统或 Switch 模块的触发输入时,可能会发生这种情况。在这些情况下,请按照示例 指定全面覆盖的参数配置 中所述配置 Simulink Design Verifier 参数支持。
修改分析参数
如果分析满足了大多数但不是全部目标,请尝试以下步骤:
增加最大分析时间参数。这使得分析有更多时间来满足所有目标。
将模型覆盖率目标参数设置为决策。选择此选项仅生成实现决策覆盖率的测试用例。这些测试用例是 MCDC 选项的子集。
重新运行分析并查看报告。
如果结果仍然不令人满意,请尝试以下章节中描述的技术。
在完成之前停止分析
在日志窗口中观察已处理的目标的值。如果最大分析时间参数已过去约 50%,而该值没有增加,则模型分析可能无法处理某些目标。如果分析没有进展,请采取以下步骤:
点击日志窗口中的停止。
出现一个对话框,通知您分析已中止并询问您是否仍要生成结果。
点击是保存迄今为止的分析结果。
根据您运行的分析模式,日志窗口列出以下选项:
在模型上突出显示分析结果
生成详细的分析报告
创建框架模型
仿真测试并生成模型覆盖率报告
点击生成详细的分析报告。
在 HTML 报告中,查看以下部分以确定导致问题的模型元素:
当分析停止时目标未决
生成错误的目标
检查那些目标未确定或目标有错误的模型元素,看看是否存在这些问题。请参阅更多信息栏中的页面,了解改进分析的具体技术。
您的模型中存在的问题 更多信息 浮点输入
非线性操作
大型状态空间
大型计时器和时间延迟