exponenta event banner

Выберите AUTOSAR XML (ARXML) и файлы кода для анализа в пространстве

В этом разделе описывается компонентный подход к проверке кода AUTOSAR с помощью Polyspace. Подход к интеграционному анализу см. в разделе Выбор между компонентным и интеграционным анализом кода AUTOSAR с 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'

См. также

Связанные темы