Main Content

addComponent

AUTOSAR アーキテクチャ モデルへのコンポーネントの追加

R2020a 以降

説明

components = addComponent(archCM,compNames) は、compNames 引数で指定した 1 つ以上のコンポーネントをコンポジションまたはアーキテクチャ モデル archCM に追加します。

archCM 引数は、addCompositionautosar.arch.createModel または autosar.arch.loadModel への以前の呼び出しにより返されるコンポジションまたはアーキテクチャ モデルのハンドルです。components 出力引数は、autosar.arch.Component オブジェクトである 1 つ以上のコンポーネント ハンドルを返します。

components = addComponent(archCM,compNames,'Kind',value) では、すべての追加するコンポーネントのコンポーネント タイプを指定できます。有効な Classic コンポーネント タイプは、Application (Classic のモデル化の既定の設定)、SensorActuatorComplexDeviceDriverEcuAbstraction および ServiceProxy です。有効な Adaptive コンポーネント タイプは AdaptiveApplication です。

すべて折りたたむ

AUTOSAR Classic アーキテクチャ モデルで、次を実行します。

  1. Sensors という名前のコンポジションを追加し、コンポジションの中に、PedalSnsr および ThrottleSnsr という名前の AUTOSAR センサー/アクチュエータ コンポーネントを追加します。

  2. モデルの最上位レベルで、Controller1 という名前のアプリケーション コンポーネントと Actuator という名前のセンサー/アクチュエータ コンポーネントを追加します。

% Create AUTOSAR classic architecture model
modelName = 'myArchModel';
archModel = autosar.arch.createModel(modelName);

% Add a composition
composition = addComposition(archModel,'Sensors');

% Add 2 components inside Sensors
names = {'PedalSnsr','ThrottleSnsr'};
sensorSWCs = addComponent(composition,names,'Kind','SensorActuator');
layout(composition); % auto-arrange layout

% Add components at architecture model top level
addComponent(archModel,'Controller1');
actuator = addComponent(archModel,'Actuator');
set(actuator,'Kind','SensorActuator');
layout(archModel);  % Auto-arrange layout

既定では、autosar.arch.createModelは、Classic Platform の AUTOSAR アーキテクチャ モデルを作成します。同じアーキテクチャ モデル内で Classic コンポーネントと Adaptive コンポーネントを混在させることはサポートされていません。

R2023a 以降

AUTOSAR Adaptive アーキテクチャ モデルで、次を実行します。

  1. Sensors という名前のコンポジションを追加し、コンポジションの中に、Sensor1 および Sensor2 という名前の 2 つのセンサーの Adaptive アプリケーション コンポーネントを追加します。

  2. モデルの最上位レベルで、Filter という名前の Adaptive アプリケーション コンポーネントを追加します。

% Create AUTOSAR adaptive architecture model
modelName = 'myArchAdaptive';
archModel = autosar.arch.createModel(modelName,'platform','Adaptive');

% Add a composition
composition = addComposition(archModel,'Sensors');

% Add 2 components inside Sensors
names = {'Sensor1','Sensor2'};
sensorSWCs = addComponent(composition,names,'Kind','AdaptiveApplication');
layout(composition); % auto-arrange layout

% Add a component at architecture model top level
filterSWC = addComponent(archModel,'Filter'); % defaults to AdaptiveApplication

% Or explicitly set the component kind to AdaptiveApplication
set(filterSWC,'Kind','AdaptiveApplication');  
layout(archModel);  % Auto-arrange layout

Classic アーキテクチャのモデリング コンポーネントと Adaptive アーキテクチャのモデリング コンポーネントを混在させることはサポートされていません。

入力引数

すべて折りたたむ

1 つ以上のコンポーネントを追加する AUTOSAR コンポジションまたはアーキテクチャ モデル。この引数は、addCompositionautosar.arch.createModel または autosar.arch.loadModel への以前の呼び出しにより返されるコンポジションまたはアーキテクチャ モデルのハンドルです。

例: archModel

指定したコンポジションまたはアーキテクチャ モデルに追加するコンポーネントの名前。

例: {'PedalSnsr','ThrottleSnsr'}

指定したコンポジションまたはアーキテクチャ モデルに追加する AUTOSAR コンポーネントのタイプ。指定したタイプは、すべての追加するコンポーネントに適用されます。

有効な Classic コンポーネント タイプは、Application (Classic のモデル化の既定の設定)、SensorActuatorComplexDeviceDriverEcuAbstraction および ServiceProxy です。有効な Adaptive コンポーネント タイプは AdaptiveApplication です (Adaptive のモデル化の既定の設定)。

例: 'Kind','SensorActuator'

出力引数

すべて折りたたむ

autosar.arch.Component オブジェクトであり、コンポーネント プロパティをもつ 1 つ以上の AUTOSAR コンポーネント ハンドルを返します。

バージョン履歴

R2020a で導入

すべて展開する