Обработайте несовместимости с автоматическим блокированием

Что такое автоматическое блокирование?

Автоматическое блокирование позволяет вам анализировать модель, которая содержит объекты, которые не поддерживает Simulink® Design Verifier™.

Когда вы включаете автоматическую блокирующую опцию (она включена по умолчанию), программное обеспечение рассматривает только интерфейс неподдерживаемых объектов, не их фактическое поведение. Этот метод позволяет программному обеспечению завершать анализ. Однако анализ может достигнуть только частичных результатов, если какой-либо неподдерживаемый элемент модели влияет на результат симуляции.

Как автоматические блокирующие работы

Если вы включаете автоматическое блокирование, когда анализ Simulink Design Verifier прибывает в неподдерживаемый блок, программное обеспечение “тупики” тот блок. Анализ игнорирует поведение блока, и в результате блок вывод может принять любое значение.

Тупиковый блок тригонометрической функции

Программное обеспечение Simulink Design Verifier не поддерживает блоки Тригонометрической функции, когда параметр Function устанавливается на acos, такой как тот в следующей диаграмме.

При блокировании этого блока во время анализа out_signal может принять любое значение со следующими результатами.

Аналитическая модельРезультат Блокирования out_signal

Поиск ошибок проектирования

  • Если цель ошибки проектирования, которая зависит от out_signal, доказана допустимой, та цель допустима для всех симуляций. В этом случае блокирование не влияло на результаты анализа.

  • Если цель ошибки проектирования, которая зависит от out_signal, сфальсифицирована, анализ не может создать тест. Анализ не может определить, которые вводят к заблокированному блоку, производит вывод, который фальсифицирует цель.

Генерация теста

  • Если цель тестирования, которая зависит от значения out_signal, удовлетворена, анализ не может создать тест. Анализ не может определить, которые вводят к заблокированному блоку, производит вывод, который удовлетворяет цель.

  • Если цель тестирования, которая зависит от значения out_signal, невыполнима, нет никакой симуляции, которая может удовлетворить ту цель. В этом случае блокирование не влияло на результаты анализа.

Доказательство свойства

  • Если цель доказательства, которая зависит от out_signal, доказана допустимой, та цель допустима для всех симуляций. В этом случае блокирование не влияло на результаты анализа.

  • Если цель доказательства, которая зависит от out_signal, сфальсифицирована, анализ не может создать контрпример. Анализ не может определить, которые вводят к заблокированному блоку, производит вывод, который фальсифицирует цель.

Тупиковый блок s-function, содержащий триггеры вызова функции

Модель sfcndemo_sfun_fcncall Simulink в качестве примера имеет Блок s-function. S-функция sfun_fcncall инициировала выполнение подсистем вызова функций f1 subsys1 и f2 subsys2 на первых и вторых элементах первого выходного порта.

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

Чтобы включить поддержку S-функции в Simulink Design Verifier, смотрите Ограничения Поддержки и Факторы для Кода C/C++ и S-функций

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

В этом разделе описываются рабочий процесс для использования автоматического блокирования с простой моделью Simulink как пример.

Следующая модель содержит блок Discrete State-Space, который не совместим с Simulink Design Verifier.

Проверяйте совместимость модели

Из Редактора Simulink существует два способа проверять, совместима ли модель с Simulink Design Verifier:

  • Осуществите проверку совместимости Simulink Design Verifier путем выбора Analysis> Design Verifier> Check Compatibility> Model.

  • Выберите анализ, который вы хотите:

    • Analysis> Design Verifier> Detect Design Errors> Model

    • Analysis> Design Verifier> Generate Tests> Model

    • Analysis> Design Verifier> Prove Properties> Model

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

    Если это находит несовместимые элементы в модели, программное обеспечение анализирует модель и, по умолчанию, гасит несовместимые элементы. Диагностическое Средство просмотра также открывается, перечисляя несовместимости.

    Примечание

    Для получения дополнительной информации, Диагностика вида на море (Simulink).

Включите автоматическое блокирование

Автоматическое блокирование включено по умолчанию. Чтобы изменить автоматические блокирующие настройки, в диалоговом окне Configuration Parameters, на основной панели Design Verifier, выбирают Automatic stubbing of unsupported block and functions. Когда вы запускаете анализ, программное обеспечение говорит вам, что блокирование включено, и анализ продолжается.

Рассмотрите результаты

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

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

Достигните полных результатов

Если ваш анализ не достигает полных результатов из-за блокирования, можно задать замены авторского блока, чтобы дать более точное определение неподдерживаемых блоков. Для получения дополнительной информации выполните шаги в Заменах Блока для Неподдерживаемых Блоков.