Расширьте существующие тесты путем многократного использования представления модели

В этом примере показано, как избежать, чтобы ненужное представление модели создало при переанализе модели. Рассмотрите случай, где вы выполняете генерацию тестов, и анализ превышает максимальное аналитическое время. В заданное аналитическое время Simulink Design Verifier анализирует некоторые цели и сохраняет сгенерированные тесты в MAT-файле.

Чтобы повторно анализировать модель, вы обновляете максимальное аналитическое время и выбираете расширять опцию существующих тестов. Чтобы ускорить анализ, установите опцию представления модели Rebuild на If change is detected. Simulink Design Verifier повторно анализирует модель путем многократного использования представления модели. Для получения дополнительной информации смотрите Представление Модели для Анализа.

Шаг 1. Откройте модель и задайте опции анализа

Сгенерируйте тесты для sldvdemo_cruise_control модель путем определения sldvoptions.

model = 'sldvdemo_cruise_control';
open_system(model);
opts = sldvoptions;
opts.Mode = "TestGeneration";
opts.MaxProcessTime = 10;
opts.RebuildModelRepresentation = "IfChangeIsDetected";

Анализируйте модель при помощи этой команды.

[ status, files ] = sldvrun('sldvdemo_cruise_control', opts, true);

Окно Diagnostic Viewer отображает аналитическую ошибку Генерации тестов.

Simulink Design Verifier has exceeded the maximum processing time. You can extend the time limit by modifying the "Maximum analysis time" edit field on the Design Verifier pane of the configuration dialog or by modifying the "MaxProcessTime" attribute of the options object.

После того, как анализ завершается, окно Results Summary отображает результаты. Программное обеспечение сообщает о 22/24 цели, как удовлетворено и 2/24 цели как нерешенные.

Шаг 2. Повторно анализируйте модель путем изменения sldvoptions

Чтобы повторно анализировать модель, вы выбираете расширять опцию существующих тестов и обновляете максимальное аналитическое время. Опция представления модели Rebuild установлена в If change is detected. Программное обеспечение подтверждает представление модели кэша, не обнаруживает изменения и снова использует представление модели для анализа.

opts.MaxProcessTime =500;
opts.ExtendExistingTests='on';
opts.IgnoreExistTestSatisfied = 'on';
opts.ExistingTestFile=files.DataFile;
sldvrun('sldvdemo_cruise_control', opts, true);

Результаты показывают тот 24/24 целям удовлетворяют, и никакие дополнительные тесты не сгенерированы.

Закройте модель.

close_system('sldvdemo_cruise_control', 0);

Похожие темы