Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

AUTOSAR XML ファイル構造と要素情報のラウンド トリップの保存

AUTOSAR オーサリング ツール (AAT) と Simulink® との間の AUTOSAR 要素のラウンド トリップをサポートするために、ARXML インポートでは、インポートされた AUTOSAR XML ファイル構造とコンテンツが ARXML エクスポート用に保存されます。AUTOSAR コンポーネントの ARXML ファイルを Simulink® にインポートすると、インポーターで以下が保存されます。

  • AUTOSAR XML ファイル構造。インポートする ARXML ファイルを、エクスポート対象の ARXML ファイルと比較できます。

  • プロパティ、参照、およびパッケージを含む AUTOSAR 要素情報。インポーターでは、要素間の関係が保存されます。

インポート後に、AUTOSAR ディクショナリで AUTOSAR ソフトウェア コンポーネントの要素とプロパティを表示し、設定できます。AUTOSAR ディクショナリを使用して AUTOSAR 要素を設定します。プロパティの変更内容は、エクスポートされる ARXML 記述に反映されるほか、場合によっては生成される AUTOSAR 準拠の C または C++ コードにも反映されます。詳細については、AUTOSAR の要素とプロパティの設定またはAUTOSAR Adaptive の要素とプロパティの設定を参照してください。

Simulink® で作成した AUTOSAR 要素は、インポートされた XML ファイルとは異なる 1 つ以上の modelname*.arxml ファイルにエクスポートされます。AUTOSAR ディクショナリで XML オプションを設定して新しい要素のファイルのパッケージ化を制御します。たとえば、XML オプション [エクスポートされた XML ファイルのパッケージ化]Single file または Modular に設定できます。詳細については、AUTOSAR XML オプションの設定またはAUTOSAR Adaptive XML オプションの設定を参照してください。

ARXML ファイルを Simulink® モデルからエクスポートすると、コード ジェネレーターではインポートされた XML ファイル構造、要素情報、および UUID を保持したまま変更が適用されます。エクスポートされたファイルには、インポートした同じ ARXML ファイルの更新されたバージョンと、[エクスポートされた XML ファイルのパッケージ化]Single file または Modular のどちらに設定したかに基づき、1 つ以上の modelname*.arxml ファイルが含まれます。modelname*.arxml ファイルには次が含まれます。

  • 実装の説明。

  • AUTOSAR インターフェイスまたはデータ関連要素を Simulink® に追加した場合は、インターフェイスとデータ説明。

Adaptive Platform の場合、AUTOSAR 実行可能ファイルとサービス インスタンスのマニフェストも含まれます。

作業フォルダーで、例の ARXML ファイル ThrottlePositionController.arxml から Controller.slx という名前の Simulink® モデルを作成したとします。

ar = arxml.importer('ThrottlePositionController.arxml');
createComponentAsModel(ar,'/Company/Components/Controller',...
  'ModelPeriodicRunnablesAs','AtomicSubsystem');

作成されたモデルでは、CODE という名前の AUTOSAR ソフトウェア アドレス メソッド (SwAddrMethod) を追加して AUTOSAR ランナブル関数から参照します。

arProps = autosar.api.getAUTOSARProperties('Controller');
addPackageableElement(arProps,'SwAddrMethod',...
    '/AUTOSAR_Platform/SwAddrMethods','CODE','SectionType','Code')
slMap = autosar.api.getSimulinkMapping('Controller');
mapFunction(slMap,'StepFunction','Runnable_Step','SwAddrMethod','CODE')
The function name value 'StepFunction' is obsolete and will be removed in a
future release. For valid function name values, use
autosar.api.getSimulinkMapping(modelName).find("Functions").
The function name value 'StepFunction' is obsolete and will be removed in a
future release. For valid function name values, use
autosar.api.getSimulinkMapping(modelName).find("Functions").

SwAddrMethod CODE パスとステップ関数のマッピング情報を表示します。

swAddrMethodPath = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',...
    'SectionType','Code')
swAddrMethodPath = 1x1 cell array
    {'/AUTOSAR_Platform/SwAddrMethods/CODE'}

[arRunnableName,arRunnableSwAddrMethod] = getFunction(slMap,'StepFunction')
The function name value 'StepFunction' is obsolete and will be removed in a
future release. For valid function name values, use
autosar.api.getSimulinkMapping(modelName).find("Functions").
arRunnableName = 
'Runnable_Step'
arRunnableSwAddrMethod = 
'CODE'

AUTOSAR ディクショナリの [SwAddrMethods] ビュー、およびコード マッピング エディターの [関数] タブで変更を表示できます。

たとえば、コマンド slbuild('Controller') を使用してモデルを作成します。モデルの [エクスポートされた XML ファイルのパッケージ化]Modular に設定されている場合、ビルドで次の ARXML ファイルがエクスポートされます。

  • ThrottlePositionController.arxml — モデルの作成元となった ARXML ファイルの更新バージョン。変更を追跡するには、ARXML ファイルの前のバージョンを、最近エクスポートしたバージョンと比較できます。

  • Controller_implementation.arxml — コンポーネントの実装情報 (常に生成される)。

  • Controller_datatype.arxml — コンポーネント モデルへの SwAddrMethod の変更が反映されたデータ関連情報。このファイルでは、AUTOSAR パッケージ /AUTOSAR_Platform/SwAddrMethods に SwAddrMethod コードが含まれます。

関連する例

詳細