exponenta event banner

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

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

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

Связанные темы