Приближения

Приближения во время анализа модели

Simulink® Design Verifier™ программного обеспечения пытается сгенерировать входы и параметры для достижения целей. Однако может быть бесконечное количество значений для поиска программного обеспечения. Чтобы создать разумные пределы на анализ, программное обеспечение выполняет приближения, чтобы упростить анализ. Программное обеспечение регистрирует любые приближения, выполненные в главе «Аналитическая информация» HTML-отчета Simulink Design Verifier. Описание этой главы см. в разделе «Информация об анализе».

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

Редко приближение может привести к тестам, которые не достигают целей тестирования или демонстрируют ошибку проектирования, или контрпримерам, которые не могут фальсифицировать цели доказательства. Например, предположим, что программное обеспечение генерирует сигнал теста, который должен достичь цели путем превышения порога; ошибка округления с плавающей точкой может помешать этому сигналу достичь порогового значения.

Типы приближений

Программное обеспечение Simulink Design Verifier выполняет следующие приближения при анализе модели:

Преобразование числа с плавающей точкой в рациональное

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

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

  • Ошибка округления не учитывается.

  • Верхняя и нижняя границы чисел с плавающей запятой не рассматриваются.

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

Линеаризация двумерных интерполяционных таблиц для типов данных с плавающей точкой

Программное обеспечение Simulink Design Verifier не поддерживает нелинейную арифметику для типов данных с плавающей точкой. Если ваша модель содержит какие-либо 2-D Lookup Table блоки или n-D Lookup Table блоки, где n = 2, со всеми следующими характеристиками, программа аппроксимирует нелинейную двумерную интерполяцию с линейной интерполяцией путем подбора плоскостей к каждому интерполяционному интервалу.

БлокОсобенности

n-D Lookup Table блок, n = 2:

  • Interpolation method параметр Linear.

  • Extrapolation method параметр Clip или Linear.

  • Оба входных и выходных сигнала имеют тип данных с плавающей точкой.

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

Если ваша модель содержит интерполяционные таблицы следующих характеристик, Simulink Design Verifier автоматически преобразует исходную интерполяционную таблицу в новую интерполяционную таблицу, состоящую из точек прерывания, которые равномерно разнесены в каждом из соответствующих размерностей.

БлокОсобенности

n-D Lookup Table блок, n = 1 или n = 2:

  • Interpolation method параметр Linear.

  • Extrapolation method параметр Clip .

  • Index search method параметр Linear search или Binary search.

  • Входной и выходной сигналы оба имеют один и тот же тип и оба являются целым типом или типом с фиксированной точкой.

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

Если Simulink Design Verifier применяет такие приближения к вашей модели, отчет Simulink Design Verifier включает детали аппроксимации.

Пока Циклы

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

Поведение while цикл приближения согласован во всех режимах анализа, как описано в следующей таблице.

Режим анализаЦикл While Приближения
Поиск ошибок проектированияУстанавливает количество while Итерации цикла к 3. Не сообщает о мертвой логике или допустимых целях.
ТестУстанавливает количество while Итерации цикла к 3. Не сообщает о неудовлетворительных целях.
Проверка свойствУстанавливает количество while Итерации цикла к 3. Не сообщает о допустимых целях.