Main Content

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

AUTOSAR ソフトウェア コンポーネントのインポート

Simulink® では、AUTOSAR ソフトウェア コンポーネントの記述を ARXML ファイルからインポートし、AUTOSAR ソフトウェア コンポーネントを表すモデルを作成できます。arxml.importer オブジェクトとして実装されている AUTOSAR ARXML インポーターを使用します。詳細については、AUTOSAR ARXML インポーターを参照してください。

次の順序で関数 arxml.importer を使用します。

  1. 関数 arxml.importer を呼び出し、指定した XML ファイルでソフトウェア コンポーネント情報を表すインポーター オブジェクトを作成します。たとえば、次の呼び出しによって、主な AUTOSAR ソフトウェア コンポーネント ファイルである mr_component.arxml と、関連付けられた依存ファイルが指定されます。この依存ファイルには、データ型、実装、およびソフトウェア コンポーネントの記述を完成させるインターフェイス情報が含まれています。

    ar = arxml.importer({'mr_component.arxml','mr_datatype.arxml',...
                         'mr_implementation.arxml','mr_interface.arxml'})

    この呼び出しによって、AUTOSAR ソフトウェア コンポジションと集約されたその AUTOSAR コンポーネントを記述する ARXML ファイル ThrottlePositionControlComposition.arxml が指定されます。ARXML ファイルは、既定の MATLAB® 検索パス上の matlabroot/examples/autosarblockset/data にあります。

    ar = arxml.importer('ThrottlePositionControlComposition.arxml')

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

    この例では、ソフトウェア コンポジション ThrottlePositionControlComposition へのパスは /Company/Components/ThrottlePositionControlComposition です。ソフトウェア コンポーネント Controller へのパスは /Company/Components/Controller です。

    ar =
    The file "path/ThrottlePositionControlComposition.arxml" contains:
      1 Composition-Software-Component-Type:
        '/Company/Components/ThrottlePositionControlComposition'
      2 Application-Software-Component-Type:
        '/Company/Components/Controller'
        '/Company/Components/ThrottlePositionMonitor'
      3 Sensor-Actuator-Software-Component-Type:
        '/Company/Components/AccelerationPedalPositionSensor'
        '/Company/Components/ThrottlePositionActuator'
        '/Company/Components/ThrottlePositionSensor'
  2. 解析されたアトミック ソフトウェア コンポーネントまたはコンポジションを Simulink モデルにインポートするには、関数 createComponentAsModelcreateCompositionAsModel または updateModel を呼び出します。コンポーネントにすべての依存関係を指定していない場合、エラーが表示されます。

    • createComponentAsModel — AUTOSAR ARXML アトミック ソフトウェア コンポーネントの Simulink 表現の作成。

      以下に例を示します。

      createComponentAsModel(ar,'/Company/Components/Controller',...
        'ModelPeriodicRunnablesAs','AtomicSubsystem')

      ModelPeriodicRunnablesAs プロパティは、インポーターが AUTOSAR の周期的なランナブルを、周期的レートをもつアトミック サブシステム (既定値) としてモデル化するか、周期的レートをもつ Function-Call Subsystem としてモデル化するかを制御します。設計によって Function-Call Subsystem が必要とされる場合を除いて AtomicSubsystem を指定します。詳細については、複数のランナブルをもつ AUTOSAR ソフトウェア コンポーネントのインポートを参照してください。

      AUTOSAR データの Simulink データ オブジェクトを Simulink データ ディクショナリにインポートするために、モデル作成で DataDictionary プロパティを設定できます。指定されたディクショナリがまだ存在しない場合は、インポーターが作成します。

      AUTOSAR ランナブルを初期化ランナブルとしてコンポーネントで明示的に指定するには、モデル作成に InitializationRunnable プロパティを使用します。

      詳細については、createComponentAsModel のリファレンス ページと例AUTOSAR コンポーネントの Simulink へのインポートを参照してください。

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

      以下に例を示します。

      createCompositionAsModel(ar,'/Company/Components/ThrottlePositionControlComposition')

      既存の Simulink アトミック ソフトウェア コンポーネント モデルをコンポジション モデルに含めるには、コンポジション モデルの作成に ComponentModels プロパティを使用します。

      詳細については、createCompositionAsModel のリファレンス ページと例AUTOSAR コンポジションの Simulink へのインポートを参照してください。

    • updateModel — ARXML の変更内容の AUTOSAR モデルへの更新。

      次に例を示します。

      open_system('Controller')
      ar2 = arxml.importer('ThrottlePositionControlComposition_updated.arxml');
      updateModel(ar2,'Controller');

      詳細については、updateModel のリファレンス ページ、AUTOSAR ソフトウェア コンポーネントの更新のインポート、および例AUTOSAR コンポーネントの Simulink へのインポートを参照してください。

ソフトウェア コンポーネントまたはコンポジションを Simulink にインポートすると、コンポーネントまたはコンポジション モデルの動作と構成を開発できます。コンポーネントの構成を調整するには、AUTOSAR コンポーネントの構成を参照してください。

AUTOSAR コード生成オプションおよび XML エクスポート オプションを設定するには、AUTOSAR コード生成の構成を参照してください。

AUTOSAR オーサリング ツール (AAT) と Simulink モデルベース デザイン環境の間で AUTOSAR 要素のラウンドトリップをサポートできるようにするために、ARXML インポートでは、インポートされた AUTOSAR XML ファイル構造、要素、および要素の汎用一意識別子 (UUID) を ARXML エクスポート用に保持します。詳細については、AUTOSAR XML ファイル構造と要素情報のラウンド トリップの保存を参照してください。

参考

関連する例

詳細