Simulink Design Verifier

重要更新
Requirements Table 模块突出显示不一致和不完整的锁命令需求。

验证需求

在实现设计之前,检查已建模的需求的一致性和完整性。

Simulink Design Verifier 识别控制系统模型中的死逻辑和设计错误。

检测运行时和诊断错误

在运行仿真之前,您可以检测潜在运行时错误和建模问题,包括整数溢出、除以零和数组越界错误;次正规值和其他浮点错误;以及数据有效性错误。使用缺陷检查器进行快速、有针对性的交互式错误检查。 

Simulink Design Verifier 识别模型中的死逻辑和不可达输入条件。

查找死逻辑

查找在仿真和生成代码执行期间无法激活的模型逻辑。此类逻辑无法被测试,通常表明存在逻辑错误。在实现之前,查看分析结果并追溯可能的根本原因以删除这种死逻辑。 

测试报告表显示测试用例 1 在时间间隔内的车辆数据和相对距离值。

分析测试覆盖率缺失

自动生成测试向量,以增强和扩展现有手动创建的测试用例。使用扩展后的测试用例,弥补模型覆盖率以及从 Simulink 模块和 Stateflow 图中调用的 C/C++ 代码覆盖率的不足。

验证形式化安全需求

验证您的设计是否符合使用 MATLAB、Simulink 和 Stateflow 表达的形式化定义的安全需求。

设定建模工作流,包含需求分析、测试生成、模型集成和覆盖率分析。

创建基于需求的测试用例

从系统需求模型生成测试用例。

执行背靠背测试

将模型仿真结果与基于生成代码的 SIL 或 PIL 仿真结果进行比较,以在部署前验证等效性或揭示差异。 

Simulink Design Verifier 突出显示生成的源代码和对应的模型元素,以支持代码覆盖率分析。

生成代码覆盖率测试

生成测试向量以执行生成的 C/C++ 代码,然后查看覆盖率结果以识别仅靠模型覆盖率可能无法揭示的缺口。 

“基于模型的设计支持快速分析需求,重用以前产品的设计,并消除手动编码错误,从而减少了开发时间,使我们能够缩短工期以满足客户的需要。”

Simulink Design Verifier 常见问题解答

Simulink Design Verifier 使用形式化方法识别模型中隐藏的设计错误,验证设计满足功能需求,并为模型覆盖率和自定义目标生成测试用例。

它检测会导致整数溢出、死逻辑、数组访问违规、除以零、次正规值、浮点错误和数据有效性错误的模型元素。

死逻辑指您的模型中在仿真或执行所生成代码期间无法激活的逻辑。由于此逻辑永远无法执行,因此无法被测试,并且可能表明存在设计或实现错误。Simulink Design Verifier 使用形式化分析来识别这种无法激活的逻辑,并帮助您在开发过程的早期检测潜在问题。

它会自动生成测试用例,以满足条件、决策、修正条件/决策 (MCDC) 和自定义覆盖率目标。它还可以从系统需求模型生成基于需求的测试用例。

它可以验证您的设计是否按照使用 MATLAB、Simulink 和 Stateflow 形式化定义的安全需求运行,并且它为每个设计错误或需求违规生成仿真测试用例以进行调试。

是的,配合 IEC Certification Kit(适用于 ISO 26262 和 IEC 61508)和 DO Qualification Kit(适用于 DO-178 和 DO-254),可实现对行业标准的支持。

它分析缺失测试覆盖率,并增强现有手动创建的测试用例,以弥补模型覆盖率以及从 Simulink 模块和 Stateflow 图中调用的生成 C/C++ 代码覆盖率的不足。

它可以在您开始实现设计之前,使用 Requirements Table 模块检查建模需求的一致性和完整性。