Указатель с автоматическим заглушением

Что такое автоматическое заглушение?

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

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

Как автоматически заглушаться Работами

Если вы включаете автоматическое упругость, когда анализ Simulink Design Verifier приходит к неподдерживаемому блоку, программное обеспечение «заглушает» этот блок. Анализ игнорирует поведение блока, и в результате выход блока может взять любое значение.

Тригонометрический функциональный блок заглушки

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

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

Модель анализаРезультат упрямства out_signal

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

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

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

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

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

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

Проверка свойств

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

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

Заглушка Блока s-function, содержащая триггеры вызова функции

Пример модели Simulink sfcndemo_sfun_fcncall имеет блок S-Function. S-функция sfun_fcncall инициирует выполнение подсистем вызова функций f1 subsys1 и f2 subsys2 на первом и втором элементах первого выходного порта.

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

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

Анализируйте модель с помощью автоматического упругости

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

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

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

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

Чтобы запустить проверку совместимости Simulink Design Verifier:

  • На вкладке Design Verifier нажмите Check Compatibility.

  • Выберите анализ, который необходимо выполнить.

    Чтобы запустить анализ Simulink Design Verifier, на вкладке Design Verifier, в разделе Mode, выберите любую из следующих опций:

    • Выберите Design Error Detection, затем нажмите Detect Design Errors.

    • Выберите Test Generation, затем нажмите Generate Tests.

    • Выберите Property Proving, затем нажмите Prove Properties.

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

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

    Примечание

    Для получения дополнительной информации см. Раздел «Просмотр диагностики».

Включите автоматическое заглушение

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

Просмотр результатов

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

Неподдерживаемые блоки

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

Цель не определилась из-за упрямства

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

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