このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Polyspace 解析用の AUTOSAR XML (ARXML) ファイルとコード ファイルの選択
このトピックでは、Polyspace でのコンポーネント ベースの AUTOSAR コード検証方法について説明します。統合解析方法については、Polyspace で AUTOSAR コードのコンポーネント ベースの解析と統合解析のどちらかを選択するを参照してください。
ARXML およびソース ルート フォルダーのみを指定することによって、AUTOSAR プロジェクトに対して Polyspace® を実行すると、セットアップ エラーが発生する可能性があります。
標準の AUTOSAR ルート フォルダーには、テスト用のファイルや文書化用のファイルなどの余分なファイルが多数含まれています。これらのファイルには
.arxml
や.c
などの拡張子が付けられており、Polyspace がそれらを ARXML またはソース ファイルとして誤って処理し、解析に含める可能性があります。一部のソフトウェア コンポーネントの実装が進行中で未完了である可能性があります。
AUTOSAR プロジェクトの構造に精通していれば、余分で不完全なファイルとフォルダーを解析から除外できます。
ファイル選択をサポートする polyspace-autosar
オプションは、-select-arxml-files
と -select-source-files
です。AUTOSAR 動作の完全修飾名とデータ型ではファイル パスと同様の区切り文字が使用されるため、ファイル選択構文を使用して、-autosar-behavior
で動作を、-autosar-datatype
でデータ型を指定することもできます。
ファイルを選択するための Linux find
コマンドへの適合
ファイル選択構文は、Linux® find
コマンドを厳密にエミュレートします。後ろにファイルの包含と除外が続くルート フォルダーをシェル パターンまたは正規表現を使用して指定します。
たとえば、フォルダー package
で拡張子が .arxml
のすべてのファイルを検索するには、次のように Linux コマンドを使用します。
find package -name '*.arxml'
フォルダー package
内のすべての ARXML ファイルを指定するには、find
に続くコマンドの一部をコピーします。コピーした内容を文字列引数として polyspace-autosar
コマンドのオプション -select-arxml-files
に指定します。
polyspace-autosar -select-arxml-files "package -name '*.arxml'"
find
オプションを単一文字列 (二重引用符内) として指定することによって、ARXML ファイルを選択します。解析中に、これらの 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 Pattern Matching を参照してください。
find
オプションについては、Finding Files を参照してください。
ファイル選択例
ファイル選択オプションの一部の一般的な用途は次のとおりです。
ルート フォルダー
package
内のサブフォルダーsub_package_windowControl
でswc
で始まる ARXML ファイルのみを指定するには、次の構文を使用します。polyspace-autosar -select-arxml-files "package -path 'sub_package_windowControl/*' -name 'swc*.arxml'"
ルート フォルダー
package
内のファイル構造で任意のレベルにあるサブフォルダーtest
から ARXML ファイルを除外するには、次の構文を使用します。polyspace-autosar -select-arxml-files "package -not -path '*/test/*' -name '*.arxml'"
ルート フォルダー
package
内のファイル構造で任意のレベルにあるサブフォルダーのtest
とdocs
から ARXML ファイルを除外するには、次の構文を使用します。polyspace-autosar -select-arxml-files "package -not -path '*/test/*' -not -path '*/docs/*' -name '*.arxml'"
文字列
test
を含む ARXML ファイルを除く、ルート フォルダーpackage
内のすべての ARXML ファイルを含めるには、次の構文を使用します。polyspace-autosar -select-arxml-files "package -name '*.arxml' -not -name '*test*.arxml'"
同様に、-select-source-files
オプションを使用することによって、解析から .c
ファイルと .h
ファイルを包含または除外できます。-select-arxml-files
と違って、このオプションは、既定で、.c
ファイルと .h
ファイルを選択します。たとえば、ルート フォルダー package
内のファイル構造で任意のレベルにあるサブフォルダー test
からソース ファイルを除外するには、次の構文を使用します。
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'