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 つ以上の
ファイルにエクスポートされます。AUTOSAR ディクショナリで XML オプションを設定して新しい要素のファイルのパッケージ化を制御します。たとえば、XML オプション [エクスポートされた XML ファイルのパッケージ化] を modelname
*.arxml[単一のファイル]
または [モジュラー]
に設定できます。詳細については、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.arxmlController.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 コードが含まれます。