Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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

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

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

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

  • 識別可能な要素の AUTOSAR 汎用一意識別子 (UUID)。インポートされた要素に UUID がない場合、何も作成されません。

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

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

ARXML ファイルを Simulink モデルからエクスポートすると、コード ジェネレーターではインポートされた XML ファイル構造、要素情報および UUID が保存され、同時に変更が適用されます。エクスポートされたファイルには次が含まれます。

  • インポートした同じ ARXML ファイルの更新バージョン。

  • [エクスポートされた XML ファイルのパッケージ化][単一のファイル] または [モジュラー] のどちらに設定するかに基づく、1 つ以上の modelname*.arxml ファイル。modelname*.arxml ファイルには次が含まれます。

    • 実装の説明。

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

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

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

% Create Controller model from AUTOSAR component
addpath(fullfile(matlabroot,'help','toolbox','autosar','examples'));
ar = arxml.importer('ThrottlePositionController.arxml');
createComponentAsModel(ar,'/Company/Components/Controller',...
  'ModelPeriodicRunnablesAs','AtomicSubsystem');

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

% In AUTOSAR model, add SwAddrMethod CODE to SwAddrMethods package
arProps = autosar.api.getAUTOSARProperties('Controller');
addPackageableElement(arProps,'SwAddrMethod',...
    '/AUTOSAR_Platform/SwAddrMethods','CODE','SectionType','Code')
% Map step runnable function to SwAddrMethod CODE 
slMap = autosar.api.getSimulinkMapping('Controller');
mapFunction(slMap,'StepFunction','Runnable_Step','SwAddrMethod','CODE')
% Display SwAddrMethod CODE path and step function mapping information
swAddrMethodPath = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',...
    'SectionType','Code')
[arRunnableName,arRunnableSwAddrMethod] = getFunction(slMap,'StepFunction')
swAddrMethodPath =
    {'/AUTOSAR_Platform/SwAddrMethods/CODE'}

arRunnableName =
    'Runnable_Step'

arRunnableSwAddrMethod =
    'CODE'

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

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

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

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

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

関連する例

詳細