exponenta event banner

Создание заглушек для таблиц поиска встроенного кодера (-stub-embedded-coder-lookup-table-functions)

Заглушка автоматически созданных функций, использующих таблицы подстановки и моделирующих их более точно

Описание

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

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

Задать опцию

Если выполняется проверка из Simulink, используйте опцию Stub lookup tables в 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
По умолчанию: Вкл.
Пример (проверка кода): polyspace-code-prover -sources file_name -stub-embedded-coder-lookup-table-functions
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -stub-embedded-coder-lookup-table-functions
Представлен в R2016b