共有 AUTOSAR 要素定義のインポートと参照
AUTOSAR ソフトウェア コンポーネントを Simulink® で開発する場合、多くのコンポーネントに共通する AUTOSAR 要素定義をインポートできます。たとえば、複数の製品ラインおよびチームは、インターフェイス、データ型、ソフトウェアのアドレス メソッド (SwAddrMethods) などの要素を共有する場合があります。AUTOSAR 要素定義を共有するメリットは、定義の競合が発生するリスクが減り、コードの統合が容易になることです。
AUTOSAR コンポーネント モデルを作成したら、共有 AUTOSAR 要素のパッケージが含まれる AUTOSAR XML (ARXML) ファイルから定義をインポートします。既定では、インポートされた定義は変更されないようにするために読み取り専用ですが、それらを読み取り/書き込みとしてインポートすることもできます。これで、インポートされた要素をコンポーネント モデルで参照できます。
要素定義をインポートした場合、その依存関係もインポートされます。たとえば、CompuMethod
定義をインポートすると、Unit
定義と PhysicalDimension
定義もインポートされます。ImplementationDataType
をインポートすると、SwBaseType
定義もインポートされます。
AUTOSAR の数値データ型または列挙データ型をインポートする場合は、関数 createNumericType
および関数 createEnumeration
を使用して、対応する Simulink データ型オブジェクトを作成します。
モデルをビルドすると、エクスポートされた ARXML コードには共有要素への参照が含まれます。それらの定義は、インポート元の要素の記述の ARXML ファイルに残ります。要素の記述ファイルは名前、ファイル構造および内容が維持されたままでエクスポートされます。
AUTOSAR 要素定義を設定して再利用するには、次の手順に従います。
共有するコンポーネントについて、AUTOSAR 要素の定義を含む 1 つ以上の ARXML ファイルを作成します。Simulink でリファレンス使用がサポートされている要素には、次のものがあります。
CompuMethod
、Unit
およびDimension
ImplementationDataType
およびSwBaseType
ApplicationDataType
SwSystemConst
、SwSystemConstValueSet
およびPredefinedVariant
SwRecordLayout
SwAddrMethod
ClientServerInterface
、SenderReceiverInterface
、ModeSwitchInterface
、NvDataInterface
、ParameterInterface
およびTriggerInterface
定義のセットを共有する各コンポーネント モデルで、
arxml.importer
関数updateAUTOSARProperties
を使用して、要素定義をモデルに追加します。この例では、定義を共有記述ファイルSwAddrMethods.arxml
からモデル例autosar_swc
にインポートする方法を示します。openExample('autosarblockset/ReuseAUTOSARElementsInComponentModelExample'); modelName = 'autosar_swc'; open_system(modelName); ar = arxml.importer('SwAddrMethods.arxml'); updateAUTOSARProperties(ar,modelName);
オプションで、プロパティと値のペアを使用して、インポートする要素のサブセットを指定できます。詳細については、
updateAUTOSARProperties
を参照してください。インポーターは、モデルに適用された更新の詳細をまとめた HTML レポートを生成します。
モデルは、インポートされた要素をさまざまな方法で参照できます。たとえば、AUTOSAR データ用にインポートされた
SwAddrMethod
値を選択して、キャリブレーションおよび測定用にそのデータをグループ化できます。コンポーネント モデルへの AUTOSAR パッケージのインポートの例を参照してください。モデル コードを生成します。エクスポートされた ARXML コードには、インポートされた要素への参照が含まれます。定義のインポート元の要素の記述ファイルは、名前、ファイル構造および内容を維持したままでエクスポートされます。