Эта тема описывает компонентно-ориентированный подход к проверке кода AUTOSAR с Polyspace. Для аналитического подхода интегрирования смотрите, Выбирают Between Component-Based и Integration Analysis of AUTOSAR Code with Polyspace.
Если при запуске Polyspace® на проекте AUTOSAR путем обеспечения только ARXML и исходной корневой папки, вы можете столкнуться с ошибками установки.
Типичная корневая папка AUTOSAR содержит много посторонних файлов, например, файлов для тестирования и документации. Эти файлы могут иметь расширения, такие как .arxml
или .c
, и Polyspace может неправильно обработать их как ARXML или исходные файлы и включать их в анализ.
Реализация некоторых компонентов программного обеспечения может произойти и может быть неполной.
Если вы знакомы со структурой своего проекта AUTOSAR, можно исключить посторонние и неполные файлы и папки от анализа.
polyspace-autosar
опции, что выборами файла поддержки является -select-arxml-files
и -select-source-files
. Поскольку полностью определенные имена поведений AUTOSAR и типов данных используют подобные диафрагмы в качестве путей к файлам, можно также задать поведения с -autosar-behavior
и типы данных с -autosar-datatype
использование синтаксиса выбора файла.
find
Команда к Выбору файловСинтаксис выбора файла тесно эмулирует Linux®
find
команда. Вы задаете корневую папку, сопровождаемую включениями файла и исключениями при помощи шаблонов интерпретатора или регулярных выражений.
Например, чтобы найти все файлы с дополнительным .arxml
в папке package
, вы используете команду Linux:
find package -name '*.arxml' |
Задавать все файлы ARXML в папке package
, скопируйте часть команды после find
. Обеспечьте скопированное содержимое как аргумент строки к опции -select-arxml-files
из polyspace-autosar
команда:
polyspace-autosar -select-arxml-files "package -name '*.arxml'" |
Другими словами, вы выбираете файлы ARXML путем определения корневой папки плюс find
опции как одна строка (в двойных кавычках). Во время анализа эти файлы ARXML не скопированы во временную папку, но выбраны из своих соответствующих местоположений.
Если вы вводите опцию в файл опций (что вы дальнейшее использование с polyspace-autosar
опция -options-file
), вам не нужны двойные кавычки вокруг строки. Можно добавить find
представьте в виде строки к -select-arxml-files
опция. Например, можно ввести эту линию в файл опций:
-select-arxml-files package -name '*.arxml' |
Следующий find
опции обычно требуются для выбора файла. Используйте i
формат опций для нечувствительного к регистру соответствия.
-name
, -iname
: Совпадайте с именами файлов шаблонам интерпретатора.
-path
, -ipath
: Совпадайте с путями к файлам шаблонам интерпретатора.
-regex
, -iregex
: Используйте регулярные выражения для соответствия вместо шаблонов интерпретатора.
Используйте -not
перед опцией, чтобы исключить файлы или папки. Чтобы задать несколько шаблонов в одной строке, просто поместите шаблоны один за другим. Например, чтобы исключить мгновенные подпапки subpackage1
и subpackage2
от корневой папки используйте этот синтаксис:
-not -path 'subpackage1/*' -not -path 'subpackage2/*' |
Для получения дополнительной информации о:
Шаблоны Shell, смотрите Shell Сопоставление с образцом.
find
опции, смотрите Файлы Открытия.
Некоторое общее использование опций выбора файла:
Задавать только файлы ARXML, начинающиеся с swc
в подпапке sub_package_windowControl
в корневой папке package
, используйте этот синтаксис:
polyspace-autosar -select-arxml-files "package -path 'sub_package_windowControl/*' -name 'swc*.arxml'" |
Исключить файлы ARXML из подпапки test
на любом уровне в файловой структуре в корневой папке package
, используйте этот синтаксис:
polyspace-autosar -select-arxml-files "package -not -path '*/test/*' -name '*.arxml'" |
Исключить файлы ARXML из подпапки test
и подпапка docs
на любом уровне в файловой структуре в корневой папке package
, используйте этот синтаксис:
polyspace-autosar -select-arxml-files "package -not -path '*/test/*' -not -path '*/docs/*' -name '*.arxml'" |
Включать все файлы ARXML от корневой папки package
кроме тех файлов ARXML, содержащих строку test
, используйте этот синтаксис:
polyspace-autosar -select-arxml-files "package -name '*.arxml' -not -name '*test*.arxml'" |
Аналогично, можно включать или исключить .c
и .h
файлы от анализа при помощи -select-source-files
опция. В отличие от -select-arxml-files
, эта опция выбирает .c
и .h
файлы по умолчанию. Например, чтобы исключить исходные файлы из подпапки test
на любом уровне в файловой структуре в корневой папке package
, используйте этот синтаксис:
polyspace-autosar -select-source-files "package -not -path '*/test/*'" |
Обратите внимание на то, что с -select-arxml-files
ранее, также необходимо было задать дополнительный шаблон -name '*.arxml'
.
Если имя корневой папки содержит пробелы, заключите имя папки в двойные кавычки. Поскольку имя папки с включениями файла и исключениями уже находится в двойных кавычках, необходимо выйти из дополнительных кавычек. Например, если корневой папкой является C:\sdbx\ARXML dir1
, чтобы задать все файлы ARXML в этой папке, используйте команду:
polyspace-autosar -select-arxml-files "\"C:\sdbx\ARXML dir1\" -name '*.arxml'" |
Дополнительных двойных кавычек вокруг корневой папки оставляют как \"
.
Если вы задаете опцию в файле опций (что вы дальнейшее использование с polyspace-autosar
опция -options-file
), вам не нужны кавычки вокруг find
представьте в виде строки и не должны выходить из дополнительных двойных кавычек. Введите эту линию в файл опций:
-select-arxml-files "C:\sdbx\ARXML dir1" -name '*.arxml' |