-stub-embedded-coder-lookup-table-functions)Заглушка автогенерированных функций, которые используют интерполяционные таблицы и моделируют их более точно
Эта опция доступна только для кода, сгенерированного моделью. Опция актуальна, только если вы генерируете код из Simulink® модель, которая использует блоки Интерполяционной таблицы, используя MathWorks® продукты генерации кода.
Укажите, что верификация должна заглушить автогенерированные функции, которые используют определенные виды интерполяционных таблиц в своем теле. Интерполяционные таблицы в этих функциях используют линейную интерполяцию и не допускают экстраполяции. То есть результат использования интерполяционной таблицы всегда находится между нижней и верхней границами таблицы.
Если вы запускаете верификацию из Simulink, используйте опцию Stub интерполяционные таблицы в Simulink Configuration Parameters, которая выполняет ту же задачу.
Пользовательский интерфейс (только для настольных продуктов): В Polyspace® строение проекта, опция находится на Inputs & Stubbing узле.
Командная строка и файл опций: Используйте опцию -stub-embedded-coder-lookup-table-functions. См. «Информация о командной строке».
Если вы используете эту опцию, верификация является более точной и имеет меньше оранжевых проверок. Верификация функций интерполяционной таблицы обычно неточна. Программное обеспечение должно делать определенные предположения об этих функциях. Чтобы избежать пропуска ошибки времени выполнения, верификация принимает, что результат использования интерполяционной таблицы находится в пределах полной области значений, разрешенного типом данных результата. Это предположение может вызвать много недоказанных результатов (оранжевые проверки), когда вызывается функция интерполяционной таблицы. При помощи этой опции вы сужаете предположение. Для функций, которые используют интерполяционные таблицы с линейной интерполяцией и без экстраполяции, результат находится, по крайней мере, в границах таблицы.
Опция актуальна, только если ваша модель имеет блоки Интерполяционной таблицы. В сгенерированном коде функции, соответствующие блокам Интерполяционной таблицы, также используют интерполяционные таблицы. Имена функции следуют определенным соглашениям. Верификация использует соглашения об именовании, чтобы идентифицировать, используют ли интерполяцию в интерполяционных таблицах функций линейную интерполяцию и нет экстраполяции. Затем верификация заменяет такие функции заглушками для более точной верификации.
Для автогенерированных функций, которые используют интерполяционные таблицы с линейной интерполяцией и без экстраполяции, верификация:
Не проверяет на ошибки времени выполнения в теле функции.
Вызывает заглушку функции вместо фактической функции в местах вызова функции. Заглушка гарантирует, что результат использования интерполяционной таблицы находится в границах таблицы.
Чтобы идентифицировать, использует ли интерполяция в интерполяции интерполяционная таблица в функции, верификация использует имя функции. В результатах анализа вы видите, что функция не анализируется. Если вы поместите курсор на имя функции, появится следующее сообщение:
Function has been recognized as an Embedded Coder Lookup-Table function.
It was stubbed by Polyspace to increase precision.
Unset the -stub-embedded-coder-lookup-table-functions option to analyze the code below.
Верификация не заглушает автогенерированные функции, которые используют интерполяционные таблицы.
Опция применяется только к автогенерированным функциям. Если вы интегрируете свою собственную C/C + + S-Функцию с помощью интерполяционных таблиц с моделью, эти функции не следуют соглашениям об именовании для автогенерированных функций. Эта опция не заставляет их упрямиться. Если вы хотите того же поведения для функций рукописной интерполяционной таблицы, что и автогенерированные функции, используйте опцию -code-behavior-specifications и сопоставьте свою функцию с __ps_lookup_table_clip функция.
Если вы запускаете верификацию из Simulink, опция включена по умолчанию. В целях сертификации, если вы хотите, чтобы инструмент верификации был независимым от инструмента генерации кода, отключите эту опцию.
Параметр: -stub-embedded-coder-lookup-table-functions |
| По умолчанию: On |
Пример (Code Prover): Polyspace Code Prover -sources |
Пример (Код Prover Server):
Полипространство -code-prover-server -sources file_name |