Выберите AUTOSAR XML (ARXML) и Code Files for Polyspace Analysis

Эта тема описывает компонентно-ориентированный подход к проверке кода 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 использование синтаксиса выбора файла.

Адаптируйте Linux 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/*'

Для получения дополнительной информации о:

Примеры выбора файла

Некоторое общее использование опций выбора файла:

  • Задавать только файлы 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'

Смотрите также

Похожие темы