В этом примере показано, как найти нарушение свойства с помощью анализа доказательства свойства Verifier™ Simulink ® Design. Вы моделируете требования безопасности как свойства, а затем проверяете модель проекта на соответствие требованиям.
При выполнении анализа доказательства свойств Simulink Design Verifier генерирует контрпример, который используется для отладки нарушения свойства.
The sldvdemo_cruise_control_verification модель содержит модель-ссылку на sldvdemo_cruise_control_defective модель проекта. Модель проекта является системой круиз-контроля, которая состоит из ПИ-контроллера, которая вычисляет выход дросселя на основе различия между фактической и целевой скоростью.
open_system('sldvdemo_cruise_control_verification');

Свойства безопасности для выхода дросселя смоделированы в Safety Properties подсистема верификации блоком Assertion.
open_system('sldvdemo_cruise_control_verification/Safety Properties');

На вкладке Design Verifier нажмите «Доказать свойства».
После завершения анализа окно Сводных данных результатов сообщает, что одна цель была сфальсифицирована.
Создается модель тестовой обвязки, и открывается диалоговое окно Signal Builder, в котором отображается контрпример.

В диалоговом окне Signal Builder нажмите кнопку Start ▸.
В окне Diagnostic Viewer отображается ошибка, указывающая, что симуляция была завершена, поскольку в это время произошла проверка типа «assertion» 0.04.
Вы также можете отлаживать нарушение свойства с помощью Model Slicer. Для получения дополнительной информации смотрите Отладку Свойства Доказывание нарушений при помощи Slicer модели.
Ошибочное поведение, проявляемое в примере счетчика, фиксируется в sldvdemo_cruise_control_verification_fixed модель.
open_system('sldvdemo_cruise_control_verification_fixed');

В рабочем процессе проверки свойств может потребоваться перепроектировать систему и/или переопределить свойство и выполнить такие итерации.
Откройте ссылочную модель sldvdemo_cruise_control_fixed и откройте Controller подсистема. В этой подсистеме обновленная модель проекта сбрасывает выход дросселя, когда Активно Управление.
На вкладке Design Verifier нажмите «Доказать свойства». После завершения анализа окно Сводных данных результатов сообщает, что цель действительна.