此示例显示如何使用Simulink®Design Verifier™属性证明分析来查找属性违规。金宝app您将安全要求作为属性进行模型,然后验证设计模型是否要求要求。
当您执行属性证明分析时,Simulink Design Verifier会生成用于调试属金宝app性冲突的Condenerexample。
这sldvdemo_cruise_control_verification.
模型包含模型引用sldvdemo_cruise_control_defective.
设计模型。设计模型是巡航控制系统,该系统由PI控制器组成,该PI控制器基于实际和目标速度之间的差异计算节气门输出。
Open_System('sldvdemo_cruise_control_verification');
节气门输出的安全性能在其中建模安全性质
断言块验证子系统。
Open_System('sldvdemo_cruise_control_verification / safety properties');
在这一点设计验证者选项卡,单击证明属性。
分析完成后,结果摘要窗口报告称一个目标是伪造的。
生成线束模型,并将“信号构建器”对话框打开并显示CounterExample。
在“信号构建器”对话框中,单击“开始仿真按钮▸。
诊断查看器窗口显示说明终止模拟的错误,因为发生断言0.04
。
可选地,您可以使用模型切片器调试属性冲突。有关更多信息,请参阅使用Model Slicer调试违规的调试属性。
柜台示例展出的错误行为是固定的sldvdemo_cruise_control_verification_fixed.
模型。
Open_System('sldvdemo_cruise_control_verification_fixed');
在“属性证明工作流程”中,可能需要重新设计系统和/或重新定义属性并执行此类迭代。
打开引用的模型sldvdemo_cruise_control_fixed.
并打开控制器
子系统。在此子系统中,更新的设计模型在活动控制处于活动状态时重置节气门输出。
在这一点设计验证者选项卡,单击证明属性。分析完成后,结果摘要窗口报告目标有效。