Main Content

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

AUTOSAR Adaptive サービス インスタンス識別の構成

AUTOSAR Adaptive コンポーネント内の要求側ポートおよび提供側ポートのサービス インスタンス識別を構成できます。Adaptive ソフトウェア コンポーネント モデルをビルドすると、次のようになります。

  • エクスポートされた ARXML ファイルからサービスへのインスタンス マッピングについて記述したサービス インスタンス マニフェスト ファイルが含まれている。

  • 生成された C++ コードは、ara::com 関数呼び出しで構成されたサービス インスタンス情報を使用する。

サービス インスタンス識別を構成するには、次のようにします。

  1. AUTOSAR ディクショナリを開き、[XML Options] を選択します。XML オプション [Identify Service Instance Using] を、サービス インスタンス情報を生成する形式を示すように設定します。[InstanceIdentifier] または [InstanceSpecifier] を選択します。選択する形式が、生成された関数 Proxy および関数 Skeleton でのサービス インスタンスの特定に使用されます。

  2. ディクショナリの要求側ポートおよび提供側ポートのビューに移動します。リストされたそれぞれのポートについて [Manifest attributes] を表示するよう選択します。それぞれのポートについて、XML オプションで選択したサービス インスタンスの形式に基づいて [Instance Specifier] または [Instance Identifier] の値を調べます。値を入力することも、既存の値を受け入れることもできます。

モデルをビルドすると、サービス インスタンス マニフェスト ファイル model_ServiceInstanceManifest.arxml が生成されます。マニフェスト ファイルには、サービス インターフェイスの展開、サービス インスタンスからポートへのマッピング、および Adaptive コンポーネントのサービス インターフェイスが記述されます。

生成された C++ コードで、ara::com の関数呼び出しは、構成されたサービス インスタンス情報を使用します。たとえば、[InstanceIdentifier] 形式を選択し、要求側ポートについて [Instance Identifier] を 1 を設定した場合、生成された関数呼び出しはその構成を使用します。

// Model initialize function
void autosar_LaneGuidanceModelClass::initialize()
{
  {
    ara::com::ServiceHandleContainer< company::chassis::required::proxy::
      RequiredInterfaceProxy::HandleType > handles;
    handles = company::chassis::required::proxy::RequiredInterfaceProxy::
      FindService(ara::com::InstanceIdentifier("1"));
...

関連する例

詳細