SIL および PIL シミュレーションによる AUTOSAR コードの検証
AUTOSAR ソフトウェアの開発の一環として、ソフトウェアインザループ (SIL) およびプロセッサインザループ (PIL) シミュレーションを使用して、AUTOSAR ソフトウェア コンポーネントのコード検証を実行できます。生成されたソース コードを開発用コンピューター上で検証する場合は SIL シミュレーションを使用し、オブジェクト コードを製品ターゲット ハードウェア上で検証する場合は PIL シミュレーションを使用します。詳細については、SIL アプローチまたは PIL アプローチの選択 (Embedded Coder)を参照してください。
コード検証は動作および構造の比較を通じて、コンポーネント モデルと生成されたコードの間の等価性を実証します。次のことを実行できます。
ノーマル モードのシミュレーション結果を SIL または PIL のシミュレーション結果と比較することによって、コンポーネント モデルと生成されたコードの間の数値的な等価性をテストします。
モデル カバレッジとコード カバレッジの比較や、トレーサビリティ解析の実施によって、意図しない機能が存在しないことを示します。
コード カバレッジ メトリクスを生成する SIL および PIL シミュレーションを設定します。
モデルのオブジェクトと生成されたコードの間の双方向トレーサビリティを提供するレポートを生成します。
AUTOSAR Adaptive Platform 向けに構成されたソフトウェア コンポーネント モデルでは、SIL および PIL シミュレーションはサポートされていません。システム ターゲット ファイルが autosar_adaptive.tlc に設定された AUTOSAR ソフトウェア コンポーネント モデルにおいて、[コード インターフェイス] を [モデル参照] に設定することで、Model ブロックのユニットレベルのテスト用に Model ブロック SIL シミュレーションを実行できます。この場合、テスト対象の Model ブロックは AUTOSAR ソフトウェア コンポーネントにマッピングされたモデルを参照できません。
AUTOSAR Classic Platform 向けに構成されたモデルでは、最上位モデルまたは Model ブロックを設定することで SIL および PIL シミュレーションを実行します。
AUTOSAR システム ターゲット ファイル (
[autosar.tlc]) 用に構成された AUTOSAR ソフトウェア コンポーネント モデルは、SIL/PIL マネージャー (Embedded Coder)を使用し、[テスト対象システム] を[最上位モデル]、[SIL/PIL モード] を[ソフトウェアインザループ (SIL)]または[プロセッサインザループ (PIL)]に設定してテストします。あるいは、テスト ハーネス モデル内で Model ブロックを使用して AUTOSAR ソフトウェア コンポーネント モデルを参照できます。AUTOSAR システム ターゲット ファイル (
[autosar.tlc]) 用に構成された AUTOSAR ソフトウェア サブコンポーネント モデルを参照する Model ブロックのユニットレベルのテストには、Model ブロックの SIL または PIL シミュレーションを使用します。Model ブロックで、[シミュレーション モード] を[ソフトウェアインザループ (SIL)]または[プロセッサインザループ (PIL)]に設定し、[コード インターフェイス] を[モデル参照]に設定します。この場合は、シミュレーションを実行する前に、親コンポーネントを作成して AUTOSAR ランタイム環境 (RTE) ヘッダー ファイルを生成しなければなりません。親コンポーネントを作成しないと、SIL シミュレーションまたは PIL シミュレーションが失敗します。AUTOSAR Classic Platform 向けに構成されたモデルでは、関数slbuildを使用し、"ModelReferenceCoderTarget"を指定することで、サブコンポーネント モデルをビルドできます。以下に例を示します。AUTOSAR ソフトウェア コンポーネントから参照されるマッピングされた AUTOSAR サブコンポーネントの例については、AUTOSAR のキャリブレーションと測定のためのサブコンポーネント データの構成を参照してください。slbuild("autosar_subcomponent","ModelReferenceCoderTarget");
複数の AUTOSAR ソフトウェア コンポーネントのコンポジションレベルのテストでは、コンポジション、アーキテクチャ モデル、またはテスト ハーネス モデル内でコンポーネント モデルを参照します。テスト対象の各コンポーネントに対する Model ブロックで、[シミュレーション モード] を
[ソフトウェアインザループ (SIL)]または[プロセッサインザループ (PIL)]に設定し、[コード インターフェイス] を[最上位モデル]に設定します。
詳細については、最上位モデルでのシミュレーション (Embedded Coder)およびModel ブロックでのシミュレーション (Embedded Coder)を参照してください。
Simulink® Test™ ソフトウェアを使用している場合は、テスト ハーネスを使用して次を実行できます。
AUTOSAR ソフトウェア コンポーネントのコンポジションレベルのテストを実行する。詳細については、AUTOSAR コンポジションのテスト (Simulink Test)を参照してください。
AUTOSAR ソフトウェア コンポーネントで Atomic サブシステムのユニットレベルのテストを実行する。詳細については、SIL/PIL マネージャーを使用したサブシステムのコードのユニット テスト (Embedded Coder)を参照してください。
参考
トピック
- AUTOSAR Classic Component Code Generation Files
- SIL シミュレーションおよび PIL シミュレーション (Embedded Coder)
- SIL アプローチまたは PIL アプローチの選択 (Embedded Coder)
- 最上位モデルでのシミュレーション (Embedded Coder)
- Model ブロックでのシミュレーション (Embedded Coder)
- AUTOSAR コンポジションのテスト (Simulink Test)
- SIL/PIL マネージャーを使用したサブシステムのコードのユニット テスト (Embedded Coder)
- 制限とヒント