メインコンテンツ

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" を指定することで、サブコンポーネント モデルをビルドできます。以下に例を示します。

    slbuild("autosar_subcomponent","ModelReferenceCoderTarget");
    AUTOSAR ソフトウェア コンポーネントから参照されるマッピングされた AUTOSAR サブコンポーネントの例については、AUTOSAR のキャリブレーションと測定のためのサブコンポーネント データの構成を参照してください。

  • 複数の AUTOSAR ソフトウェア コンポーネントのコンポジションレベルのテストでは、コンポジション、アーキテクチャ モデル、またはテスト ハーネス モデル内でコンポーネント モデルを参照します。テスト対象の各コンポーネントに対する Model ブロックで、[シミュレーション モード][ソフトウェアインザループ (SIL)] または [プロセッサインザループ (PIL)] に設定し、[コード インターフェイス][最上位モデル] に設定します。

詳細については、最上位モデルでのシミュレーション (Embedded Coder)およびModel ブロックでのシミュレーション (Embedded Coder)を参照してください。

Simulink® Test™ ソフトウェアを使用している場合は、テスト ハーネスを使用して次を実行できます。

参考

トピック