Main Content

createCompositionAsModel

AUTOSAR ARXML ソフトウェア コンポジションの Simulink 表現の作成

説明

createCompositionAsModel(ar,CompositionName) は AUTOSAR ソフトウェア コンポジション CompositionName に対応する Simulink® モデルを作成します。コンポジションの記述は以前に AUTOSAR XML ファイルからインポートした AUTOSAR 情報の一部です。これは arxml.importer オブジェクト ar で表されます。インポーターにより、インポートされる AUTOSAR コンポジションの初期の Simulink 表現が作成されます。この初期表現が、AUTOSAR の構成やモデルベース デザインの開始点となります。詳細については、AUTOSAR ARXML インポーターを参照してください。

[mdl, sts] = createCompositionAsModel(ar,CompositionName,Name,Value) は、Simulink モデルの作成に、1 つ以上の Name,Value のペア引数を使用して追加オプションを指定します。

すべて折りたたむ

ファイル ThrottlePositionControlComposition.arxml から AUTOSAR ソフトウェア コンポジション /Company/Components/ThrottlePositionControlComposition をインポートします。ARXML ファイルは、既定の MATLAB® パス上の matlabroot/examples/autosarblockset/data にあります。コンポジションの初期の Simulink 表現を作成します。

ar = arxml.importer('ThrottlePositionControlComposition.arxml');
names = getComponentNames(ar,'Composition')
names =
  1×1 cell array
    {'/Company/Components/ThrottlePositionControlComposition'}
createCompositionAsModel(ar,'/Company/Components/ThrottlePositionControlComposition');

AUTOSAR ソフトウェア コンポジション /pkg/rootComposition を XML ファイル mySWCs.arxml からインポートし、コンポジションの初期の Simulink 表現を作成します。コンポジション内に含まれるコンポーネント mySwc1mySwc2 の場合、新しく作成するのではなく、既存の Simulink コンポーネント モデルを使用します。

ar = arxml.importer('mySWCs.arxml')
createCompositionAsModel(ar,'/pkg/rootComposition','ComponentModels',{'mySwc1','mySwc2'})

AUTOSAR ソフトウェア コンポジション /pkg/rootComposition を XML ファイル mySWCs.arxml からインポートし、コンポジションの初期の Simulink 表現を作成します。AUTOSAR データ型に対応する Simulink データ オブジェクトをデータ ディクショナリ ardata.sldd に配置します。

ar = arxml.importer('mySWCs.arxml')
createCompositionAsModel(ar,'/pkg/rootComposition','DataDictionary','ardata.sldd')

ファイル ThrottlePositionControlComposition.arxml から AUTOSAR ソフトウェア コンポジション /Company/Components/ThrottlePositionControlComposition をインポートします。ARXML ファイルは、既定の MATLAB パス上の matlabroot/examples/autosarblockset/data にあります。コンポジションの初期の Simulink 表現を作成します。

インポートされた各コンポーネントに対して、インポーターはインターフェイス、データ型などの共有可能な AUTOSAR プロパティをデータ ディクショナリ ardata.sldd に格納します。その後、コンポジション内のコンポーネントは格納されたプロパティを共有できます。

ar = arxml.importer('ThrottlePositionControlComposition.arxml')
createCompositionAsModel(ar,'/Company/Components/ThrottlePositionControlComposition',...
    'ModelPeriodicRunnablesAs','Auto',...
    'DataDictionary','ardata.sldd','ShareAUTOSARProperties',true);

共有プロパティを表示するには、コンポーネント モデルの AUTOSAR ディクショナリを開きます。この例では、ThrottlePositionSensor を開きます。AUTOSAR ディクショナリ ノード ardata.sldd を展開します。共有されたコンポーネント インターフェイスなどの読み取り専用プロパティを表示したり、コンポジションおよびコンポーネントのエクスポートに関する XML オプションを変更したりできます。

autosar_ui_launch('ThrottlePositionSensor')

AUTOSAR ソフトウェア コンポジション /pkg/rootComposition を XML ファイル mySWCs.arxml からインポートし、コンポジションの初期の Simulink 表現を作成します。AUTOSAR の周期的なランナブルを周期的レートをもつ Function-Call Subsystem としてモデル化します。

ar = arxml.importer('mySWCs.arxml')
createCompositionAsModel(ar,'/pkg/rootComposition',...
  'ModelPeriodicRunnablesAs','FunctionCallSubsystem')

AUTOSAR ソフトウェア コンポジション /pkg/rootComposition を XML ファイル mySWCs.arxml からインポートし、コンポジションの初期の Simulink 表現を作成します。PredefinedVariant Senior を使用してモデル作成時にコンポーネントの変動点を解決します。

ar = arxml.importer('mySWCs.arxml')
createCompositionAsModel(ar,'/pkg/rootComposition',...
  'PredefinedVariant','/pkg/body/Variants/Senior');

AUTOSAR ソフトウェア コンポジション /pkg/rootComposition を XML ファイル mySWCs.arxml からインポートし、コンポジションの初期の Simulink 表現を作成します。SwSystemconstantValueSet A と B を使用してモデル作成時にコンポーネント内の変動点を解決します。

ar = arxml.importer('mySWCs.arxml')
createCompositionAsModel(ar,'/pkg/rootComposition',...
  'SystemConstValueSets',{'/pkg/body/SystemConstantValues/A','/pkg/body/SystemConstantValues/B'});

入力引数

すべて折りたたむ

XML ファイルから以前にインポートした AUTOSAR 情報。arxml.importer オブジェクト ハンドルとして指定されます。

ソフトウェア コンポジションの短縮名の絶対パス。

例: '/Company/Powertrain/Components/RootComposition'

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に配置しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して各名前と値を区切り、Name を引用符で囲みます。

例: 'ModelPeriodicRunnablesAs','AtomicSubsystem' は AUTOSAR の周期的なランナブルを周期的レートをもつアトミック サブシステムとしてモデル化するようにインポーターに指示します。

コンポジションの Simulink 表現を作成する際に使用する既存のアトミック ソフトウェア コンポーネント モデルの名前。この関数では、新しく作成する代わりに、指定した既存のコンポーネント モデルがコンポジション モデルに組み込まれます。

例: 'ComponentModels',{'mySwc1','mySwc2'}

XML ファイル内の AUTOSAR データ型に対応するデータ オブジェクトのインポート先にする Simulink データ ディクショナリ。指定されたディクショナリがまだ存在しない場合は、インポーターが作成します。その後、そのデータ ディクショナリにモデルが関連付けられます。

'ShareAUTOSARProperties' 引数に true を指定した場合、指定されたデータ ディクショナリにインターフェイス、データ型などの共有可能な AUTOSAR プロパティも格納され、コンポジションのコンポーネント間で共有されます。

例: 'DataDictionary','ardata.sldd'

既定では、createCompositionAsModel は ARXML ファイル内で検出した AUTOSAR の周期的なランナブルをインポートし、周期的レートをもつアトミック サブシステムとしてモデル化します。アトミック サブシステムが使用できない状況の場合、この関数によって周期的なランナブルは周期的レートをもつ Function-Call Subsystem としてモデル化されます。

周期的なランナブルをアトミック サブシステムとしてのみモデル化するには、'AtomicSubsystem' を指定します。アトミック サブシステムが使用できない状況の場合、関数はエラーをスローします。

周期的なランナブルを Function-Call Subsystem としてのみモデル化するには、'FunctionCallSubsystem' を指定します。

詳細については、複数のランナブルをもつ AUTOSAR ソフトウェア コンポーネントのインポートを参照してください。

例: 'ModelPeriodicRunnablesAs','AtomicSubsystem'

AUTOSAR XML ファイルで定義された PredefinedVariant へのパス。PredefinedVariant は、複数の有効な可能性のある組み合わせの中で、AUTOSAR ソフトウェア コンポーネントに適用するシステム定数値の組み合わせを記述します。この引数を使用して、モデルの作成時に AUTOSAR ソフトウェア コンポーネント内の変動点を解決します。指定した場合、インポーターは PredefinedVariant を使用して、変動点を制御する入力として機能する SwSystemconst データを初期化します。

詳細については、事前定義値の組み合わせを使用した AUTOSAR バリアントの制御を参照してください。

例: 'PredefinedVariant','/pkg/body/Variants/Senior'

AUTOSAR コンポジションのモデル化において一般的なタスクのパフォーマンスを改善するために、コンポジションのインポートでインターフェイス、データ型といった共有可能なコンポーネント プロパティを Simulink データ ディクショナリに格納できます。その後、コンポジション内のコンポーネントは格納されたプロパティを共有できます。

20 個を超えるソフトウェア コンポーネントを含むコンポジションの場合、コンポーネント間で AUTOSAR プロパティを共有することで、インポート、ディクショナリ ナビゲーション、AUTOSAR 検証、コード生成といったコンポジション ワークフローのパフォーマンスを大幅に改善できます。コンポーネント間でのプロパティの複製を制限することで、コンポーネント モデルのファイル サイズを削減できます。

共有された AUTOSAR ディクショナリは、AUTOSAR コンポジションとコンポーネントのプロパティを一元的に表示および構成するための場所を提供します。共有されたコンポーネント インターフェイスなどの読み取り専用プロパティを表示したり、コンポジションおよびコンポーネントのエクスポートに関する XML オプションを変更したりできます。

AUTOSAR プロパティを共有するには、true を指定します。インポートされた各コンポーネントに対して、関数はインターフェイス、データ型などの共有可能な AUTOSAR プロパティを 'DataDictionary' 引数で指定された Simulink データ ディクショナリに格納します。'DataDictionary' 引数を指定しなければなりません。

詳細については、AUTOSAR コンポジションのインポートと AUTOSAR ディクショナリの共有を参照してください。

例: 'ShareAUTOSARProperties',true

AUTOSAR XML ファイルで定義された 1 つ以上の SystemConstValueSet へのパス。SystemConstValueSet は、AUTOSAR ソフトウェア コンポーネントに適用する一連のシステム定数値を指定します。この引数を使用して、モデルの作成時に AUTOSAR ソフトウェア コンポーネント内の変動点を解決します。指定した場合、インポーターは SystemConstValueSet を使用して、変動点を制御する入力として機能する SwSystemconst データを初期化します。

詳細については、事前定義値の組み合わせを使用した AUTOSAR バリアントの制御を参照してください。

例: 'SystemConstValueSets','{'/pkg/body/SystemConstantValues/A','/pkg/body/SystemConstantValues/B'}'

出力引数

すべて折りたたむ

作成されたモデルへのハンドルを返す変数。

インポートに成功した場合は true を返す変数。そうでない場合は false を返します。

ヒント

オブジェクト関数 arxml.importer を呼び出す入力の最後にセミコロン (;) を付けない場合、インポーターは指定された XML ファイルの AUTOSAR の内容をリストします。この情報には、AUTOSAR パッケージ構造のソフトウェア コンポーネントへのパスが含まれます。これは、createCompositionAsModel および createComponentAsModel への呼び出しで指定できます。

バージョン履歴

R2017b で導入