Когда вы запускаете Polyspace® на сгенерированном коде, программное обеспечение автоматически считывает следующие информации из сгенерированного кода:
initialize()
функции
terminate()
функции
step()
функции
Список переменных параметра
Список входных переменных
Если при запуске Программу автоматического доказательства Кода, программное обеспечение использует эту информацию, чтобы сгенерировать main
функция, что:
Инициализирует параметры с помощью опции Polyspace Parameters (-variables-written-before-loop)
.
Функции инициализации вызовов с помощью опции Initialization functions (-functions-called-before-loop)
.
Инициализирует входные параметры с помощью опции Inputs (-variables-written-in-loop)
.
Вызывает step
функция с помощью опции Step functions (-functions-called-in-loop)
.
Вызывает terminate
функция с помощью опции Termination functions (-functions-called-after-loop)
.
main
функция концептуально выглядит так:
init parameters \\ -variables-written-before-loop init_fct() \\ -functions-called-before-loop while(1){ \\ start main loop init inputs \\ -variables-written-in-loop step_fct() \\ -functions-called-in-loop } terminate_fct() \\ -functions-called-after-loop
Программа автоматического доказательства кода использует, это сгенерировало main
функция, чтобы выполнить последующий анализ.
Для Кода С++, который сгенерирован с Embedded Coder®, initialize()
шаг
, и terminate()
функции и сопоставленные переменные являются или членами класса или имеют глобальную область видимости.