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

Этот пример показывает, как избежать ненужных образцовых сборок представления при переанализе модели. Рассмотрите случай, где вы выполняете генерацию тестов, и анализ превышает максимальное аналитическое время. В заданное аналитическое время 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. Повторно анализируйте модель путем изменения sldvptions

Чтобы повторно анализировать модель, вы выбираете расширять опцию существующих тестов и обновляете максимальное аналитическое время. Опция представления модели Reuse установлена в 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);

Похожие темы