exponenta event banner

Временные исключительные задачи (-temporal-exclusions-file)

Укажите функции точек входа, которые не могут выполняться одновременно

Описание

Эта опция недоступна для кода, сгенерированного в моделях MATLAB ® или Simulink ®.

Укажите функции точек входа, которые не могут выполняться одновременно. Выполнение функций не может перекрываться друг с другом.

Задать опцию

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

файл командной строки и параметров: Использовать параметр -temporal-exclusions-file. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

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

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

Анализ Bug Finder использует информацию о временном исключении для поиска дефектов параллелизма, таких как гонка данных. См. раздел Дефекты параллелизма.

Настройки

По умолчанию нет

Щелкните, чтобы добавить поле. В каждом поле введите разделенный пробелами список функций. Polyspace ® считает, что функции в списке не могут выполняться одновременно.

Введите имена функций вручную или выберите их из списка.

  • Щелкните для добавления поля и введите имена функций.

  • Щелкните, чтобы перечислить функции в коде. Выберите функции из списка.

Зависимости

Чтобы включить этот параметр в интерфейсе пользователя настольных продуктов, сначала выберите этот параметр. Configure multitasking manually.

Совет

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

Однако если общая переменная является указателем или массивом, программное обеспечение использует спецификации только для определения того, является ли переменная общей защищенной глобальной переменной. При проверке ошибок во время выполнения в программе Code Prover программное обеспечение не учитывает ваши спецификации и считает, что к переменной можно обращаться одновременно.

Информация командной строки

Для параметра командной строки создайте файл временных исключений в следующем формате:

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

  • В пределах строки задачи разделяются пробелами.

Для ввода комментариев начните с #. Пример см. в файле polyspaceroot\polyspace\examples\cxx\Code_Prover_Example\sources\temporal_exclusions.txt. Здесь, polyspaceroot является папкой установки Polyspace, например C:\Program Files\Polyspace\R2019a.

Параметр: -temporal-exclusions-file
По умолчанию нет
Значение: Имя файла временных исключений
Пример (поиск ошибок): polyspace-bug-finder -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"
Пример (проверка кода): polyspace-code-prover -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"
Пример (сервер поиска ошибок): polyspace-bug-finder-server -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"