Верификация компонента

Используя верификацию компонента, можно протестировать компонент проекта в модели с одним из этих подходов:

  • System analysis. В контексте модели, которая содержит компонент, вы используете систематическую симуляцию контроллеров с обратной связью, чтобы проверить компоненты в модели системы управления. Можно затем протестировать алгоритмы управления с моделью.

  • Component analysis. Когда автономные компоненты, для высокого уровня доверия к алгоритму компонента, проверяют компонент в изоляции от остальной части системы.

    Проверка автономных компонентов обеспечивает несколько преимуществ:

    • Можно использовать анализ, чтобы фокусироваться на фрагментах проекта, который вы не можете протестировать из-за физических ограничений системы, которой управляют.

    • Для симуляций разомкнутого цикла можно протестировать модель объекта управления без управления с обратной связью.

    • Можно использовать этот подход, когда модель еще не доступна или когда необходимо симулировать модель системы управления в ускоренном режиме по причинам производительности.

Инструменты Simulink Coverage для верификации компонента

Путем изоляции компонента, чтобы проверить и при помощи инструментов, которые обеспечивает программное обеспечение Simulink® Coverage™, вы создаете тесты, чтобы расширить осциллограф тестирования на большие модели. Вы можете:

  • Достигните 100%-го покрытия модели — Если определенные компоненты модели не записывают 100%-е покрытие, модель верхнего уровня не может достигнуть 100%-го покрытия. Путем проверки этих компонентов индивидуально, можно создать тесты, которые полностью задают интерфейс компонента, позволяя компоненту записать 100%-е покрытие.

  • Отладьте компонент — Чтобы проверить, что каждый компонент модели удовлетворяет заданным конструктивным требованиям, можно создать тесты, которые проверяют, что определенные компоненты выполняют, когда они были спроектированы, чтобы выполнить.

  • Протестируйте робастность компонента — Чтобы проверить, что компонент обрабатывает неожиданные входные параметры и вычисления правильно, можно создать тесты, которые генерируют данные. Затем протестируйте возможности обработки ошибок в компоненте.

Рабочий процесс для верификации компонента

Эта диаграмма иллюстрирует два подхода для верификации компонента.

  1. Выберите свой подход для верификации компонента:

    • Для симуляций с обратной связью проверьте компонент в контексте его контейнерной модели путем логгирования сигналов к тому компоненту и хранения их в файле данных. Если те сигналы не составляют полный тестовый набор, генерируют модель тестовой обвязки и добавляют или изменяют тесты в Signal Builder.

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

  2. Подготовьте компонент к верификации.

  3. Создайте и регистрируйте тесты. Можно также объединить данные о тесте в один файл данных.

    Файл данных содержит данные о тесте для симуляции компонента. Если вы не можете достигнуть ожидаемых результатов с определенным набором тестов, добавьте новые тесты или измените существующие тесты в файле данных. Объедините тесты в один файл данных.

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

  4. Выполните тесты в программном обеспечении в цикле или процессоре в режиме цикла.

  5. После того, как у вас будет полный тестовый набор, вы можете:

    • Симулируйте модель и выполните тесты к:

      • Покрытие записи.

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

    • Вызовите Code Generation Verification (CGV) API, чтобы выполнить сгенерированный код для модели, которая содержит компонент в симуляции, программное обеспечение в цикле (SIL) или процессор в режиме (PIL) цикла.

      Примечание

      Чтобы выполнить модель в различных режимах выполнения, вы используете API CGV, чтобы проверить числовую эквивалентность результатов. Смотрите Программируемую Верификацию Генерации кода (Embedded Coder).

Проверьте компонент независимо от контейнерной модели

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

  • Блоки Model

  • Атомарные подсистемы

  • Stateflow® атомарные подграфики

  1. В зависимости от типа компонента примите одни из следующих мер:

    • Блоки Model — Открывают модель, на которую ссылаются.

    • Атомарные подсистемы — Извлечение содержимое подсистемы в ее собственную модель Simulink.

    • Атомарные подграфики — Извлечение содержимое Stateflow атомарный подграфик в его собственную модель Simulink.

  2. Создайте модель тестовой обвязки для:

    • Модель, на которую ссылаются,

    • Извлеченная модель, которая содержит содержимое атомарной подсистемы или атомарного подграфика

  3. Добавьте или измените тесты в Signal Builder модели тестовой обвязки.

  4. Регистрируйте входные сигналы от Signal Builder до тестового модуля.

  5. Повторите шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.

  6. Объедините данные о тесте в один файл.

  7. В зависимости от ваших целей примите одни из этих мер:

    • Выполните тесты к:

      • Покрытие записи.

      • Выходные значения записи и убеждаются, что они равняются ожидаемым значениям.

    • Вызовите Code Generation Verification (CGV) API, чтобы выполнить тесты в программном обеспечении в цикле (SIL) или процессоре в режиме (PIL) цикла на сгенерированном коде для модели, которая содержит компонент.

Если тесты не достигают ожидаемых результатов, повторите шаги 3 - 5.

Проверьте блок Model в контексте контейнерной модели

Используйте системный анализ для:

  • Проверьте блок Model в контексте контейнерной модели блока.

  • Анализируйте контроллер с обратной связью.

  1. Регистрируйте входные сигналы к компоненту путем симуляции контейнерной модели или анализируйте модель при помощи программного обеспечения Simulink Design Verifier™.

  2. Если вы хотите добавить тесты в свой тестовый набор или изменить существующие тесты, создайте модель тестовой обвязки с регистрируемыми сигналами.

  3. Добавьте или измените тесты в Signal Builder в модели тестовой обвязки.

  4. Регистрируйте входные сигналы от Signal Builder до тестового модуля.

  5. Повторите шаги 3 и 4, пока вы не будете удовлетворены тестовым набором.

  6. Объедините данные о тесте в один файл.

  7. В зависимости от ваших целей выполнить одно из следующих действий:

    • Выполните тесты к:

      • Покрытие записи.

      • Выходные значения записи и убеждаются, что они равняются ожидаемым значениям.

    • Вызовите Code Generation Verification (CGV) API, чтобы выполнить тесты в программном обеспечении в цикле (SIL) или процессоре в режиме (PIL) цикла на сгенерированном коде для модели.

Если тесты не достигают ожидаемых результатов, повторите шаги 3 - 5.