exponenta event banner

Задание значений ограничения параметров для полного покрытия

Об этом примере

В этом примере описывается, как создать и проанализировать простую модель Simulink ®, для которой создаются тестовые примеры, обеспечивающие покрытие принятия решений. Однако в этом примере полное принятие решения возможно только тогда, когда Simulink Design Verifier™ рассматривает конкретный параметр блока как переменную во время анализа. В этом примере объясняется, как задать конфигурации параметров для использования с анализом.

Следующий рабочий процесс поможет выполнить этот пример.

ЗадачаОписаниеВидишь...
1

Создайте пример модели.

Пример построения модели

2

Укажите переменную в качестве значения параметра блока «Константа».

Параметризовать блок константы

3

Ограничение значения переменной, заданного блоком «Константа».

Автоматическое генерация ограничения параметров

4

Создайте тестовые примеры для модели и интерпретируйте результаты.

Анализ примерной модели

5

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

Моделирование тестовых примеров

Пример построения модели

Создайте простую модель Simulink для использования в следующем примере.

  1. Создайте пустую модель Simulink.

  2. Скопируйте следующие блоки в пустой редактор Simulink Editor:

    • Из библиотеки «Источники»:

      • Два блока ввода для инициирования входных сигналов

      • Блок константы для управления переключателем

    • Из библиотеки маршрутизации сигналов: блок мультипортового коммутатора для обеспечения простой логики

    • Из библиотеки Sinks: блок Outport для приема выходного сигнала

  3. Дважды щелкните блок Multiport Switch, чтобы открыть его диалоговое окно и указать его параметр Number of data ports как 2.

  4. Подключите блоки таким образом, чтобы модель выглядела следующим образом.

  5. На вкладке Моделирование (Simulation) щелкните стрелку справа от раздела Подготовка (Prepare) и выберите Параметры модели (Model Settings).

  6. В диалоговом окне «Параметры конфигурации» выберите решатель. В разделе Выбор решателя (Solver selection) задайте для опции Тип (Type) значение Fixed-step, а затем установите для параметра Решатель значение discrete (no continuous states).

  7. На панели Диагностика (Diagnostics) задайте для параметра Автоматический выбор решателя (Automatic solver parameter none.

  8. Нажмите кнопку ОК, чтобы применить изменения и закрыть диалоговое окно Параметры конфигурации (Configuration Parameters).

  9. Сохранение модели как ex_defining_params_example для использования в следующей процедуре.

Параметризовать блок константы

Параметризуйте блок Константа (Constant) в модели, указав переменную в качестве значения параметра Константа (Constant) блока Константа (Constant):

  1. Дважды щелкните на блоке «Константа».

  2. В поле «Постоянное значение» введите A.

  3. Нажмите кнопку «ОК», чтобы применить изменение и закрыть диалоговое окно «Параметр блока константы».

  4. Сохраните модель.

Переменная предварительной загрузки рабочей области

Предварительная загрузка значения переменной рабочей области MATLAB ®A на который ссылается блок «Константа»:

  1. На вкладке Моделирование (Modeling) выберите Параметры модели (Model Settings) > Свойства модели (Model Properties).

  2. Перейдите на вкладку Обратные вызовы.

  3. В PreLoadFcn, введите:

    A = int8(1);
  4. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Свойства модели (Model Properties) и сохранить изменения.

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

  6. Откройте модель.

    При открытии модели PreLoadFcn определяет переменную A типа int8 значение которого равно 1.

Автоматическое генерация ограничения параметров

Использование таблицы параметров для ограничения переменной A к указанным значениям.

  1. На вкладке Приложения щелкните стрелку справа от раздела Приложения.

    В разделе Проверка модели (Model Verification), Проверка (Validation) и Тест (Test) щелкните Проверка конструкции (Design Verifier).

  2. На вкладке «Design Verifier» в разделе «Prepare» в раскрывающемся меню параметров режима выберите «Settings».

  3. В диалоговом окне «Параметры конфигурации» выберите «Design Verifier» > «Parameters».

  4. Выберите Включить настройку параметров.

  5. Выберите Использовать таблицу параметров.

  6. Щелкните Найти в модели (Find in Model).

    Таблица параметров заполняется параметрами из модели. По возможности он автоматически генерирует значения ограничений для каждого параметра в зависимости от типа данных и расположения параметра в модели.

    В этом случае появляется строка для параметра A которое вы определили. Строка таблицы для A отображает следующую информацию:

    • В столбце «Имя» имя параметра (A).

    • В столбце «Ограничение» ограничение, указанное для параметра A. Таблица параметров автоматически генерирует значения ограничений. {1, 2}.

    • В столбце «Значение» значение A в базовом рабочем пространстве. Это значение равно 1.

    • В столбце «Элемент модели» компонент модели, в котором A проживает (ex_defining_params_example/Constant).

    • В столбце Использовать (Use) установлен флажок, указывающий, настроены ли указанные в таблице значения ограничений для анализа.

  7. В таблице параметров в строке параметра Aубедитесь, что установлен флажок Использовать.

    Если эта конфигурация параметров включена, во время анализа Simulink Design Verifier параметр A принимает только int8 значения 1 и 2.

  8. В диалоговом окне «Параметры конфигурации» нажмите кнопку «ОК».

  9. Сохраните модель.

Анализ примерной модели

Проанализируйте модель, используя только что созданную конфигурацию параметров, и создайте отчет об анализе:

  1. На вкладке Design Verifier в разделе Mode выберите Test Generation. Щелкните Создать тесты (Generate Tests).

    Simulink Design Verifier анализирует модель для создания тестовых примеров.

  2. Когда программное обеспечение заканчивает свой анализ в окне Резюме Результатов Свидетельства Дизайна Simulink, избранный Производят отчет о подробном анализе.

    Программа отображает HTML-отчет с именем ex_defining_params_example_report.html.

    Оставьте окно Сводка результатов (Results Summary) открытым для следующей процедуры.

  3. В оглавлении отчета Simulink Design Verifier щелкните Test Cases.

  4. Щелкнуть Test Case 1 для отображения подраздела для этого тестового случая.

    В этом разделе содержится подробная информация о тестовом примере 1, созданном Simulink Design Verifier для удовлетворения цели покрытия в модели. В этом тестовом случае значение 1 для параметра A удовлетворяет поставленной цели.

  5. Выполните прокрутку вниз до раздела «Test Case 2» в главе «Test Cases».

    В этом разделе содержится подробная информация о тестовом случае 2, который удовлетворяет другой цели покрытия в модели. В этом тестовом случае значение 2 для параметра A удовлетворяет поставленной цели.

Моделирование тестовых примеров

Смоделировать созданные тестовые примеры и просмотреть отчет о покрытии, полученный в результате моделирования:

  1. В окне Сводка результатов Simulink Design Verifier выберите Создать модель кабельных трасс.

    Программа создает и открывает модель кабельных трасс с именем ex_defining_params_example_harness.

  2. Блок «Входы» в модели кабельных трасс представляет собой блок построителя сигналов, содержащий сигналы тестовых примеров. Дважды щелкните блок «Inputs» (Входы), чтобы просмотреть сигналы тестового случая в блоке «Signal Builder» (Построитель сигналов).

  3. В диалоговом окне Signal Builder нажмите кнопку Run all.

    Программное обеспечение Simulink последовательно моделирует каждый тестовый случай, собирает данные покрытия для каждого моделирования и отображает HTML-отчет о результатах комбинированного покрытия в конце последнего моделирования.

  4. В отчете о покрытии модели просмотрите раздел Сводка:

    В этом разделе обобщаются результаты покрытия для модели кабельных трасс и ее подсистемы «Тестовый блок». Обратите внимание на то, что подсистема обеспечивает 100% -ный охват принятия решений.

  5. В разделе Summary выберите подсистему Test Unit.

    В отчете отображаются подробные результаты покрытия для подсистемы блока тестирования.

    В этом разделе показано, что блок многопортового коммутатора достигает 100% покрытия принятия решений, поскольку в тестовых случаях выполняется каждый из путей переключения.

См. также