AUTOSAR コンポジションおよびコンポーネントの追加とコンポーネント実装のリンク
AUTOSAR アーキテクチャ モデルを作成した後は、AUTOSAR ソフトウェア設計の最上位レベルの作成を始めます。コンポジション エディターと Simulink® ツールストリップの [モデル化] タブを使用して、AUTOSAR コンポジションおよびコンポーネントを追加し、接続します。
前の手順で、ローカルの作業フォルダー例を開いて空の AUTOSAR アーキテクチャ モデルを作成しました。必要な場合は、この手順を繰り返し、作業フォルダーを開いて空のモデルを作成します。
スロットル位置制御アプリケーションを作成するときに、最終結果を示すモデル例 autosar_tpc_composition を参照できます。MATLAB® コマンド ウィンドウに次のコマンドを入力して、モデル例を開きます。
openExample("autosar_tpc_composition");アーキテクチャ キャンバスへのコンポジションとコンポーネントの追加
通常、AUTOSAR コンポジションには、共通の目的をもつ一連の AUTOSAR コンポーネントとコンポジションが含まれます。スロットル位置制御アプリケーションの作成の一環として、このチュートリアルでは 4 つのセンサー コンポーネントをセンサー コンポジション内に配置します。ツールストリップの [プラットフォーム] の選択を [Classic Platform] に設定すると、モデルが Classic アーキテクチャのモデル化用に構成されることに注意してください。
センサー コンポジションとそのコンポーネントを AUTOSAR アーキテクチャ モデルに追加するには、以下を行います。
アーキテクチャ モデル キャンバスで、Software Composition ブロックを追加し、Sensors という名前を付けます。たとえば、[モデル化] タブで [ソフトウェア コンポジション] を選択し、キャンバスに Software Composition ブロックを挿入します。強調表示された名前フィールドに
Sensorsと入力します。
コンポジションを追加するには、Software Composition ブロックを開き、ソフトウェア コンポーネントを追加します。
Sensorsブロックを開き、モデル キャンバスにコンポジションの内容が表示されるようにします。コンポジション内に、TPS_Primary、TPS_Secondary、Monitor、およびPedalSensorという名前の AUTOSAR ソフトウェア コンポーネントを追加します。たとえば、[モデル化] タブで [Classic コンポーネント] を選択して 1 つずつ作成できます。
次に、要求側ポートと提供側ポートをコンポーネントに追加してから、コンポーネント ポートを他のコンポーネント ブロックまたはコンポジションのルート端子に接続します。コンポーネントの要求側ポートと提供側ポートを追加するために、このチュートリアルでは Software Component ブロックを、ポートが既に定義されている実装モデルにリンクします。
実装モデルをリンクしてコンポーネントの動作を定義
AUTOSAR アプリケーションの動作はその AUTOSAR ソフトウェア コンポーネントで定義されます。AUTOSAR アーキテクチャ モデルへの Software Component ブロックの挿入が終わると、Simulink の動作をコンポーネントに追加できるようになります。各 Software Component ブロックでは、以下を実行できます。
ブロック インターフェイスに基づいてモデルを作成する。
実装モデルにリンクする。
AUTOSAR XML (ARXML) コンポーネント記述からモデルを作成する。
このチュートリアルでは、わかりやすくするために、AUTOSAR コンポーネントごとに 1 つの Simulink 実装モデルを提供しています。
コンポーネント
TPS_Primary用のautosar_tpc_throttle_sensor1.slxコンポーネント
TPS_Secondary用のautosar_tpc_throttle_sensor2.slxコンポーネント
Monitor用のautosar_tpc_throttle_sensor_monitor.slxコンポーネント
PedalSensor用のautosar_tpc_pedal_sensor.slx
Simulink 動作をコンポーネントに追加するには、以下を実行します。
アーキテクチャ モデルで、
Sensorsコンポジション ブロックがまだ開いていない場合は開きます。コンポジション内で、各 AUTOSAR センサー コンポーネントを、その動作を実装する Simulink モデルにリンクします。たとえば、
TPS_Primaryコンポーネント ブロックを選択し、表示される省略記号にカーソルを合わせ、キュー [モデルにリンク] を選択します。
[モデルにリンク] ダイアログ ボックスで、実装モデル
autosar_tpc_throttle_sensor1.slxに移動します。
コンポーネントを実装モデルにリンクするには、[OK] をクリックします。
コンポーネント
TPS_Secondary、Monitor、およびPedalSensorをそれぞれの実装モデルにリンクします。各モデルをリンクしたら、コンポーネント ポートが見やすいよう、対応するコンポーネント ブロックのサイズを変更できます。
Software Component ブロックを指定した実装モデルにリンクすると、ブロックとモデル インターフェイスが一致するように更新されます。ルートの Inport ブロックおよび Outport ブロックを使用するモデルにリンクした場合、モデルの信号端子はバス端子に変換されます。モデル コンテンツを表示するには、コンポーネント ブロックを開きます。
コンポーネントを相互に接続し、コンポジションのルート端子にも接続します。
コンポーネントを相互に接続するには、コンポーネント提供側ポートから別のコンポーネントの受信側ポートに線をドラッグするか、[モデル化] ツールストリップの [接続] セクションで [スマート接続] ボタンをクリックします。
コンポーネントを
Sensorsコンポジション境界のルートレベルの端子に接続するには、コンポーネント ポートからSensorsコンポジション境界へクリックしてドラッグします。

オプションで、モデル例
autosar_tpc_compositionのルート端子の名前を完全に一致させるために、端子の名前TPS_HwIOおよびTPS_HwIO1をTPS1_HwIOおよびTPS2_HwIOに変更します。
アーキテクチャ モデルの最上位レベルの完了
スロットル位置制御アプリケーションを完了するには、以下を行います。
アーキテクチャ モデルの最上位レベルに戻ります。2 つの Classic Component ブロックを追加して、
ControllerおよびActuatorという名前を付けます。AUTOSAR コンポーネント
ControllerとActuatorをそれぞれの Simulink 実装モデルautosar_tpc_controller.slxとautosar_tpc_actuator.slxにリンクします。Sensorsコンポジション、Controllerコンポーネント、Actuatorコンポーネントを相互に、またアーキテクチャ モデルの境界に接続します。
インターフェイスとデータ型は、データ ディクショナリ
tpc_interfaces.slddで定義されています。このデータ ディクショナリをソフトウェア アーキテクチャ モデルにリンクします。[モデル化] タブの [設計] セクションで、[インターフェイスとタイプ] 、 [既存のディクショナリをリンク] を選択します。インターフェイスやデータ型の問題をチェックするには、アーキテクチャ モデルを更新します。[モデル化] タブで [モデルの更新] を選択します。問題が見つかった場合、そのモデルをモデル例
autosar_tpc_compositionと比較します。モデルに固有の名前 (
myTPC_Composition.slxなど) を付けて保存します。
次に、AUTOSAR アーキテクチャ モデルで集約されたコンポーネントの動作をシミュレーションします。