Polyspace® для AUTOSAR запускает статический анализ программы реализации кода компонентов программного обеспечения AUTOSAR. Анализ ищет возможные ошибки времени выполнения или несоответствие с техническими требованиями в AUTOSAR XML (ARXML).
Чтобы запустить Polyspace на реализации кода компонентов программного обеспечения AUTOSAR, предоставьте эту информацию:
Папка ARXML: Эта папка содержит весь .arxml
файлы, которые задают вашу модель AUTOSAR. Файлы задают типы данных, runnables, события и другую информацию о компонентах программного обеспечения в вашей модели AUTOSAR.
Обратите внимание на то, что Polyspace может проанализировать XML-схему AUTOSAR только для релизов 3.0 и позже.
Папка исходного кода: Эта папка содержит реализацию кода С компонентов программного обеспечения. .c
файлы в этой папке содержат функции, реализующие AUTOSAR runnables и другие вызванные функции. Папка может также содержать заголовочные файлы, на которые ссылаются в ваших исходных файлах.
Если вы ссылаетесь на заголовочные файлы, расположенные в другой папке, можно обеспечить то местоположение отдельно.
Анализ анализирует ваши файлы ARXML, читает ваши исходные файлы и создает проект Polyspace с отдельным модулем для каждого компонента программного обеспечения. Polyspace Code Prover™ затем проверяет каждый модуль на ошибки времени выполнения или нарушения ограничений данных в ARXML во времени выполнения.
Эта тема показывает, как запустить Polyspace на реализации кода компонентов программного обеспечения AUTOSAR. Можно запустить Polyspace от пользовательского интерфейса десктопных решений Polyspace или командной строки:
В пользовательском интерфейсе анализ происходит на двух шагах: создание проекта Polyspace от ARXML и папок кода и рабочей Программы автоматического доказательства Кода на проекте.
В командной строке анализ может быть сделан в одном выстреле с polyspace-autosar
команда.
Чтобы выполнить шаги в этом примере, используйте демонстрационные файлы в |
В десктопных решениях Polyspace можно создать проект Polyspace в пользовательском интерфейсе. Каждый модуль в проекте содержит исходные файлы, реализующие один компонент программного обеспечения. Можно запустить верификацию на одном модуле или всех модулях вместе.
Укажите заранее, что проект должен быть создан из технических требований AUTOSAR.
Выберите File> New. В окне Project-Properties выберите Create from AUTOSAR specification.
Задайте папку верхнего уровня, содержащую ваши файлы ARXML и все папки, содержащие исходные файлы. Нажмите Run.
Программное обеспечение анализирует ваши технические требования ARXML и реализацию кода С и создает проект Polyspace. Каждый модуль в ссылках проекта C файлы, которые реализуют один компонент программного обеспечения. Имя модуля соответствует полностью определенному имени компонента программного обеспечения, как задано в ARXML. Смотрите Преимущества Polyspace для AUTOSAR.
Если программное обеспечение не удается проанализировать ваши технические требования ARXML или сталкивается с проблемами компиляции с вашим кодом, смотрите дополнительные детали во вкладке Command output или Project status. Исследуйте проблему далее и зафиксируйте свои файлы ARXML или код соответственно. Смотрите Анализ Polyspace Поиска и устранения неисправностей Кода AUTOSAR.
В некоторых случаях вам придется обеспечить дополнительные пути, чтобы включать папки или макроопределения, чтобы диагностировать ошибки.
Чтобы задать пути, чтобы включать файлы, которые непосредственно не находятся под исходной папкой, используйте поле Specify additional include folders.
Это поле соответствует опции -I
из polyspace-autosar
.
Чтобы задать определения типов и макроопределения, которые не находятся в ваших исходных файлах, используйте поле Specify additional macro definitions. Задайте файл с определениями.
Это поле соответствует опции -include
из polyspace-autosar
.
Задавать один из усовершенствованных параметров командной строки, сопоставленных с polyspace-autosar
, используйте поле Advanced settings.
Например:
Вы можете хотеть, чтобы верификация была выполнена на удаленном кластере и результатах, загруженных на Метрики Polyspace. Введите эту расширенную настройку:
-extra-project-options "-add-to-results-repository -batch -scheduler localhost"
localhost
указывает, что тот же компьютер служит сервером и клиентом. Замените его на имя вашего сервера. См. также Run Bug Finder or Code Prover analysis on a remote cluster (-batch)
и Upload results to Polyspace Metrics (-add-to-results-repository)
.Вы можете хотеть задать компилятор и целевую архитектуру. По умолчанию компиляция проектов, созданных из технических требований AUTOSAR, использует gnu4.7 компилятор и i386 архитектуру.
Чтобы задать visual11.0 компилятор с x86_64 архитектурой, введите эту опцию:
-extra-project-options "-compiler visual11.0 -target x86_64"
Compiler (-compiler)
и Target processor type (-target)
.
Если проект создается, можно изменить некоторые аналитические опции по умолчанию. Например, можно сгенерировать отчет после анализа с помощью опций в разделе Reporting. Для получения дополнительной информации о том, как задать опции, смотрите, Задают Аналитические Опции Polyspace.
Вам не нужны опции в этих разделах для проекта, сгенерированного из описания AUTOSAR:
Входные параметры и Блокирование: Внешние ограничения данных в ваших файлах ARXML извлечены автоматически, когда вы создаете проект Polyspace. Вы не можете явным образом задать внешние ограничения.
Многозадачность: Вы не можете выполнить многозадачный анализ с проектом Polyspace, потому что каждый модуль анализирует реализацию одного компонента программного обеспечения. Чтобы обнаружить гонки данных, создайте отдельный проект для целого приложения и явным образом добавьте свои исходные папки. Задайте файлы ARXML, важные для многозадачности, и запустите Средство поиска Ошибки. Для получения дополнительной информации смотрите ARXML files selection (-autosar-multitasking)
.
Верификация программы автоматического доказательства кода: main
функция сгенерирована (в файле psar_prove_main.c
) когда вы создаете проект Polyspace из описания AUTOSAR. main
функции вызовов функции, которые реализуют выполнимые сущности в компонентах программного обеспечения. Сгенерированный main
необходим для анализа Программы автоматического доказательства Кода. Вы не можете изменить свойства этого main
функция.
Проверьте каждый модуль индивидуально или все модули. Верификация модуля проверяет реализацию кода соответствующего компонента программного обеспечения против технических требований ARXML и также проверяет на ошибки времени выполнения. Смотрите Преимущества Polyspace для AUTOSAR.
Чтобы проверить один модуль, выберите модуль и нажмите Run Code Prover. Чтобы проверить все модули, из выпадающего списка около Run Code Prover, выбирают Run All Modules.
Если вы обновляете свой код или технические требования ARXML, можно повторно анализировать модули. Чтобы начаться, щелкните правой кнопкой по своему проекту и выберите Update AUTOSAR Project. Воссоздайте свой проект и повторно выполните верификацию на модулях.
Если вы изменяете код только для определенных компонентов программного обеспечения, только затронутые модули воссоздаются. Модули, соответствующие другим компонентам программного обеспечения, остаются неизменными.
Смотрите результаты Polyspace анализа на коде AUTOSAR.
Запуститесь polyspace-autosar
команда с путями к вашему ARXML и папке исходного кода. Команда анализирует ARXML и исходные файлы, создает проект Polyspace и анализирует все модули в проекте для ошибок времени выполнения или нарушения ограничений данных в ARXML.
На первом показе задайте путь к своему ARXML и исходным файлам явным образом. В более поздних запусках задайте файл psar_project.xhtml
созданный в предыдущем запуске. Анализ обнаруживает изменения в ARXML и исходных файлах начиная с последнего запуска и повторно анализирует только те модули где измененная реализация компонента программного обеспечения. Если спецификация ARXML изменилась начиная с предыдущего анализа новый анализ повторно анализирует все модули.
Например, можно запустить эти команды в .bat
скрипт. На первом показе этот скрипт ищет технические требования ARXML в папке arxml
в текущей папке и исходных файлах C в папке code
. Результаты хранятся в папке polyspace
в текущей папке. В более поздних запусках, аналитические повторные использования результат предыдущего пробегает файл psar_project.xhtml
и обновляет результаты только для компонентов программного обеспечения, измененных начиная с последнего запуска.
echo off set POLYSPACE_AUTOSAR_PATH=C:\Program Files\Polyspace\R2019a\polyspace\bin IF NOT EXIST polyspace\psar_project.xhtml ( "%POLYSPACE_AUTOSAR_PATH%\polyspace-autosar" -create-project polyspace -arxml-dir arxml -sources-dir code ) ELSE ( "%POLYSPACE_AUTOSAR_PATH%\polyspace-autosar" -update-project polyspace\psar_project.xhtml ) Pause |
Можно также запустить Программу автоматического доказательства Кода на реализации кода компонентов программного обеспечения AUTOSAR со скриптами MATLAB®. Смотрите polyspaceAutosar
.
Смотрите результаты Polyspace анализа на коде AUTOSAR.
AUTOSAR runnable not implemented
| Invalid result of AUTOSAR runnable implementation
| Invalid use of AUTOSAR runtime environment function