В этом примере показано, как достичь отсутствующего покрытия путем расширения существующих тестовых случаев после применения конфигураций параметров.
В этом примере создаются контрольные примеры для модели и анализируются результаты анализа. Результаты показывают, что модель состоит из неудовлетворительных целей и не достигает полного охвата. Затем следует применить конфигурации параметров в модели и повторно использовать ранее созданные тестовые примеры для достижения полного охвата модели.
sldvexParameterController модель - это модель круиз-контроля, которая управляет скоростью дроссельной заслонки путем выбора контроллера P или контроллера PI. ControllerModeSelection подсистема использует SelectMode для выбора режима контроллера. Определение перечисляемого типа данных для Selectmode с помощью функции Simulink.defineIntEnumType. Дополнительные сведения о перечисляемых значениях см. в разделе Использование перечисляемых данных в моделях Simulink.
Simulink.defineIntEnumType('EnumForControllerSelection',... {'Pmode','PImode'},[1;2]); SelectMode = Simulink.Parameter; SelectMode.Value = EnumForControllerSelection.Pmode; model = 'sldvexParameterController'; open_system(model);

Установите sldvoptions и проанализируйте модель, используя указанные опции.
opts = sldvoptions; opts.Mode = 'TestGeneration'; opts.ModelCoverageObjectives = 'MCDC'; [ status, files ] = sldvrun(model, opts, true);
После завершения анализа в окне Сводка результатов (Results Summary) отображается следующее: 15 вне 54 цели неудовлетворительны.
В окне Сводка результатов (Results Summary) щелкните Подсветить результаты анализа в модели (Highlight analysis results on model). Дважды щелкните значок ControllerModeSelection подсистема. PI_ModeSelection и P_ModeSelection подсистемы выделены красным цветом и состоят из неудовлетворительных задач.

Чтобы просмотреть отчет о покрытии модели, в окне Сводка результатов (Results Summary) щелкните Смоделировать тесты (Simulate tests) и создайте отчет о покрытии модели. Отчет показывает, что модель не достигает полного охвата.

Полный охват не достигнут, так как значение параметра SelectMode ограничено значением по умолчанию EnumForControllerSelection.Pmode. Следовательно, полный охват не достигнут для PI_ModeSelection подсистема.
При применении конфигураций параметров Simulink Design Verifier обрабатывает параметр как переменную во время анализа и ограничивает значения на основе заданных значений ограничений.
Применение конфигураций параметров для SelectMode путем указания значений ограничения для parameterValue.
controlParameter = [ {'SelectMode'}];
parameterValue = [ {'[EnumForControllerSelection.Pmode EnumForControllerSelection.PImode]'}];
opts.Parameters = 'on';
opts.ParametersUseConfig = 'on';
opts.ParameterNames = controlParameter;
opts.ParameterConstraints = parameterValue;
opts.ParameterUseInAnalysis = {'on'};
Чтобы повторно использовать ранее созданные тестовые примеры, настройте опцию анализа для расширения существующих тестовых примеров и укажите существующий тестовый файл.
opts.ExtendExistingTests = 'on'; opts.IgnoreExistTestSatisfied = 'off'; opts.ExistingTestFile = files.DataFile;
Проанализируйте модель с помощью указанных опций.
[status, fileNames] = sldvrun(model, opts, true);
После завершения анализа в окне Сводка результатов (Results Summary) будет показано, что все цели выполнены.
Чтобы создать отчет о покрытии модели, щелкните Simulate tests и создайте отчет о покрытии модели. Отчет показывает, что модель достигает полного охвата.

Чтобы завершить этот пример, закройте модель.
close_system('sldvexParameterController', 0);