Многозадачность

Точки входа задачи, критические разделы, исключительные задачи

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

Аналитические опции

Enable automatic concurrency detection for Code Prover (-enable-concurrency-detection)Автоматически обнаружьте определенные семейства функций многопоточности
OIL files selection (-osek-multitasking)Настройте многозадачную настройку из НЕФТЯНОГО определения файла
ARXML files selection (-autosar-multitasking)Настройте многозадачную настройку из определений файла ARXML
Tasks (-entry-points)Задайте функции, которые служат задачами к вашему многозадачному приложению
Cyclic tasks (-cyclic-tasks)Задайте функции, которые представляют циклические задачи
Interrupts (-interrupts)Задайте функции, которые представляют nonpreemptable прерывания
Critical section details (-critical-section-begin -critical-section-end)Задайте функции, которые начинают и заканчивают критические разделы
Temporally exclusive tasks (-temporal-exclusions-file)Задайте функции точки входа, которые не могут выполниться одновременно

Темы

Подготовьте скрипты к анализу Polyspace

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

Анализируйте многозадачные программы в Polyspace

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

Меры защиты для совместно используемых переменных в многозадачном коде

Защитите совместно используемые переменные при помощи критического раздела, временного исключения, приоритетов или запрета прерываний.

Сопутствующая информация

Глобальные переменные (Polyspace Code Prover Access)