Main Content

AUTOSAR ソフトウェア コンポーネントのポストビルド バリアント条件の構成

AUTOSAR ソフトウェア コンポーネントはバリアントを使用して、定義された条件に基づき、AUTOSAR インターフェイスまたは実装を実行パスで有効または無効にします。コンポーネントの変動点は 2 つ以上のバリアントからの選択を表します。ポストビルド バリアントのバインディングにより、Simulink® でモデル化された AUTOSAR バリアントを、AUTOSAR ランタイム環境 (RTE) 関数呼び出しを使用して AUTOSAR ソフトウェア コンポーネントの起動時以降に有効にするように構成できます。これで、以下が可能になります。

  • ポストビルド変動点を含む AUTOSAR ソフトウェア コンポーネントを ARXML ファイルからインポートする。

  • 共有 PostBuildVariantCriterion および PostBuildVariantCondition 定義を ARXML ファイルからインポートする。

  • コンポーネント モデルで AUTOSAR ポストビルド変動点をモデル化する。

  • PostBuildVariantCriterions および PostBuildVariantConditions を定義する ARXML バリアント記述をエクスポートする。

  • AUTOSAR 関数 Rte_PbCon の呼び出しで C コードを生成する。

コンポーネントに AUTOSAR バリアントをモデル化する Simulink バリアント ブロックが含まれている限り、AUTOSAR コンポーネント モデルの起動時にポストビルド バリアントを作成できます。あるいは、PostBuild 条件を含む ARXML ファイルをインポートし、AUTOSAR Blockset で、定義された各 PostBuildVariantCriterion のパラメーター オブジェクトと、バリアントのアクティベーションのタイミングが startup である関連する Variant Source ブロックと Variant Sink ブロックを作成できます。

ポストビルド条件を作成して構成する方法の例については、matlabroot/help/toolbox/autosar/examples/mAutosarVariantSubsystem.slx からモデルを開いてください。

バリアントのアクティベーションのタイミングを起動に指定するには、コンポーネント モデルでバリアント ブロックの [ブロック パラメーター] を開き、[バリアントのアクティベーションのタイミング][起動] に設定します。このモデルでは、Variant Subsystem ブロックを構成します。

ポストビルド条件をモデル化するには、MATLAB 変数を作成します。このモデルでは、バリアント条件を AUTOSAR.Parameter データ オブジェクト rainSensor として既に定義しています。このオブジェクトを MATLAB 変数のポストビルド条件として構成します。

rainSensor = 2;

Variant Subsystem ブロック ダイアログ ボックスで、ポストビルド定数値を基にしたバリアント条件ロジックを定義します。式または式が含まれる Simulink.Variant オブジェクトを指定できます。

モデルのコードを生成して ARXML をエクスポートすると、次のようになります。

  • エクスポートされた ARXML には、定義したポストビルド バリアント基準および条件の PostBuildVariantCriterion 記述と PostBuildVariantCondition 記述が含まれています。

    <POST-BUILD-VARIANT-CONDITIONS>
        <POST-BUILD-VARIANT-CONDITION>
            <MATCHING-CRITERION-REF DEST="POST-BUILD-VARIANT-CRITERION">
              /vss_pkg/vss_dt/PostBuildCriterions/rainSensor
            </MATCHING-CRITERION-REF>
            <VALUE>1</VALUE>
        </POST-BUILD-VARIANT-CONDITION>
    </POST-BUILD-VARIANT-CONDITIONS>

    AUTOSAR ディクショナリの [XML Options] を使用して、PostBuildVariantCriterions および関連する ValueSets をパッケージとして生成できます。

  • 生成された AUTOSAR C コードには、バリアントのバインディングのポストビルド条件を解決するための関数 Rte_PbCon の呼び出しが含まれています。

    void Runnable_Step(void)
    {
    ...
      /* Outputs for Atomic SubSystem: '<Root>/Variant Subsystem' */
      if (Rte_PbCon_mAutosarVariantSubsystem_c0()) {
    ...
      } else if (Rte_PbCon_mAutosarVariantSubsystem_c1()) {
    ...
      }
      /* End of Outputs for SubSystem: '<Root>/Variant Subsystem' */
    ...
    }

    ソフトウェアインザループ (SIL) シミュレーションでは、モデルのビルドによって、ポストビルド条件の解決に使用される関数 Rte_PbCon のスタブ実装がスタブ フォルダーに生成されます。

参考

| | |

関連する例

詳細