DEENESPTFRRUARHIKOZHNL

命名空间 ara::com::runtime

用户指南人工智能生成

在运行时将抽象实例说明符解析为用于服务通信的具体标识符。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 4a9d404013ef 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

在运行时将抽象实例说明符解析为用于服务通信的具体标识符。

命名空间 ara::com::runtime 在通信管理中提供用于解析通信端点的核心运行时服务 AUTOSAR_AP_SWS_CommunicationManagement 第39页。其核心函数 ResolveInstanceIDs 将类型为 ara::core::InstanceSpecifier 的抽象模型标识符转换为可供 Proxy 和 Skeleton 使用的具体 ara::com::InstanceIdentifierContainer [SWS_CM_00118]。若在部署中形式有效的标识符映射失败,该异常安全函数将在 ara::core::Result 内返回错误代码 ComErrc::kInstanceIDNotResolvable。因此,调用方必须在服务实例化前评估 Result 对象。

上下文

命名空间 ara::com::runtime 为 AUTOSAR Adaptive Platform 的通信管理(ara::com)提供核心运行时功能 AUTOSAR_AP_SWS_CommunicationManagement 第39页。其主要功能职责在于在运行时将抽象软件架构与具体通信基础设施解耦。虽然应用程序和软件组件在其接口中通过抽象模型标识符(ara::core::InstanceSpecifier)绑定到端口,但通信中间件在建立连接时需要以 ara::com::InstanceIdentifier 对象的形式获取具体的寻址和实例化数据 [SWS_CM_00118]。

在头文件 ara/com/runtime.h 中声明的函数 ResolveInstanceIDs 构成了这两个抽象层之间的桥梁 [SWS_CM_00118]。它接收一个 ara::core::InstanceSpecifier 并将其转换为 ara::com::InstanceIdentifierContainer AUTOSAR_AP_SWS_CommunicationManagement 第40页。解释:具体的映射在内部可能基于执行上下文中存储的清单和部署配置,从而使应用程序代码保持可移植性,且免受硬编码的网络或协议地址的影响。 问题 Q-8fab6de1c39a065a (未决)

context app Applikation (Port) spec ara::core::InstanceSpecifier app->spec referenziert runtime ara::com::runtime::ResolveInstanceIDs spec->runtime Eingabeparameter container ara::com::InstanceIdentifierContainer runtime->container erzeugt Result instances ara::com::InstanceIdentifier container->instances beinhaltet n Matches instances->app Bindung Proxy/Skeleton

上下文图:ara::com::runtime 在应用程序架构与通信部署之间的定位。来源:[SWS_CM_00118]、AUTOSAR_AP_SWS_CommunicationManagement 第39页。

使用路径

命名空间 ara::com::runtime 的典型应用发生在自适应应用程序的初始化和启动阶段,即通过服务 Proxy 或服务 Skeleton 建立通信关系之前 AUTOSAR_AP_SWS_CommunicationManagement 第41页。服务 Consumer 或 Provider 在此过程中经历确定性的解析路径:

  • 确定说明符:应用程序实例化或引用为相应通信端口定义的类型为 ara::core::InstanceSpecifier 的标识符。
  • 解析实例:将标识符传递给函数 ara::com::runtime::ResolveInstanceIDs [SWS_CM_00118]。
  • 检查结果:该调用返回一个类型为 ara::core::Result<ara::com::InstanceIdentifierContainer> 的对象,对其检查执行是否成功或是否存在错误状态 [SWS_CM_00118]。
  • 处理容器:成功时,ara::com::InstanceIdentifierContainer 包含若干实例标识符,其数量与在部署中找到的匹配项数量成正比 [SWS_CM_00118]。应用程序可以针对性地选择一个实例,或者遍历所有可用实例。
  • 实例化 Proxy 或 Skeleton:随后使用解析得到的 ara::com::InstanceIdentifier 对象创建具体的 Proxy 或 Skeleton 实例 AUTOSAR_AP_SWS_CommunicationManagement 第42页。
通过 ara::com::runtime::ResolveInstanceIDs 进行实例解析Applikationara::com::runtimeDeployment-RegistryResolveInstanceIDs(instanceSpecifier)Instanzzuordnung abfragenKonfigurierte InstanceIdentifiersaltTreffer gefunden填充 InstanceIdentifierContainerResult(InstanceIdentifierContainer)不存在映射关系Result::FromError(ComErrc::kInstanceIDNotResolvable)

顺序图:通过 ResolveInstanceIDs 进行实例解析的调用和处理流程。来源:[SWS_CM_00118]、AUTOSAR_AP_SWS_CommunicationManagement 第41页。

错误场景

命名空间 ara::com::runtime 中的接口遵循平台范围内健壮、无异常的错误处理范式。根据规范,ResolveInstanceIDs 被声明为 noexcept,并具有异常安全级别 exception safe [SWS_CM_00118]。因此,错误绝不会通过 C++ 异常来指示,而是完全通过错误单子 ara::core::Result 传递 AUTOSAR_AP_SWS_CommunicationManagement 第47页。

核心指定错误场景涉及错误代码 ComErrc::kInstanceIDNotResolvable [SWS_CM_00118]。当传入的 ara::core::InstanceSpecifier 形式有效,但在当前系统配置或清单中无法映射到任何现有 ara::com::InstanceIdentifier 时,就会出现此错误 [SWS_CM_00118]。在实践中,这表明建模与部署之间存在差异,例如服务 Provider 未部署在另一台机器上,或者清单中缺少绑定。对于该错误适用回滚语义(rollback_semantics):不会创建部分状态或绑定资源,以便调用方可以检查配置或转换到已定义的错误状态 [SWS_CM_00118]。

本指南基于 AUTOSAR Adaptive Platform Release R25-11 的规范。

函数

Translates an ara::core::InstanceSpecifier to a ara::com:: InstanceIdentifierContainer. The length/size of the ara::com:: InstanceIdentifierContainer is relative to the number of matches.

ara::core::Result< ara::com::InstanceIdentifierContainer > Resolve InstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept;

自由函数文档

函数 ResolveInstanceIDs [SWS_CM_00118] Upstream: RS_CM_00200, RS_AP_00114, RS_AP_00115, RS_AP_00120, RS_AP_00121, RS_AP_00119, RS_AP_00127, RS_AP_00137

ara::core::Result< ara::com::InstanceIdentifierContainer > Resolve InstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept;

Translates an ara::core::InstanceSpecifier to a ara::com:: InstanceIdentifierContainer. The length/size of the ara::com:: InstanceIdentifierContainer is relative to the number of matches.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6e1dc546a5e1 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

命名空间 ara::com::runtime 中的同步函数 ResolveInstanceIDs([SWS_CM_00118])将类型为 ara::core::InstanceSpecifier 的基于模型的标识符解析为具体的物理技术实例。作为结果,它返回一个包含所分配 ara::com::InstanceIdentifier 的 ara::core::Result<ara::com::InstanceIdentifierContainer>(EXP ARAComAPI §4 “InstanceSpecifier Resolution”)。

该容器映射了配置的部署:

在发生错误时,如果 InstanceSpecifier 虽然在形式上有效,但无法分配给任何现有的 InstanceIdentifier,则 ara::core::Result 会返回错误代码 ComErrc::kInstanceIDNotResolvable([SWS_CM_00118])。该函数被声明为 noexcept 且异常安全。

在典型的应用场景中,不需要直接调用,因为 Proxy 和 Skeleton API 提供了直接接受 InstanceSpecifier 的重载(EXP ARAComAPI §4 “InstanceSpecifier Resolution”)。手动解析主要用于跨进程交换特定技术的 InstanceIdentifier 或有针对性地选择绑定的高级场景(EXP ARAComAPI §4 “InstanceSpecifier Resolution”)。

此文本由 AI 基于 AUTOSAR 规范生成。

实现者指南即将推出(复杂度 I2)

Header-Datei#include "ara/com/runtime.h"
Scopenamespace ara::com::runtime
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
metaModelIdentifierThe ara::core::InstanceSpecifier to be translated.

Rückgabewert

TypBeschreibung
ara::core::Result<ara::com::InstanceIdentifierContainer >An ara::com::InstanceIdentifierContainer if successful, otherwise an error code indicating the error

Fehler

FehlercodeBeschreibung
ComErrc::kInstanceIDNotResolvablerollback_semantics The ara::core::InstanceSpecifier is valid but could not be resolved/mapped to an existing ara::com:: InstanceIdentifier
Siehe auch: [SWS_CORE_08001]

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00118
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00118@rel:R25-11#173c3566
Content hash
173c3566
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00118
Status: valid/unmigrated Version: rel:R25-11#7fda17bf Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00118@rel:R25-11#7fda17bf
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0f70035f2026-09-30
  • R19-11rel:R19-11#f7400f912026-10-14
  • R20-11rel:R20-11#41c24bfc2026-10-14
  • R21-11rel:R21-11#29fd954c2026-10-14
  • R22-11rel:R22-11#e6a302622026-10-14
  • R23-11rel:R23-11#2a18d23a2026-10-14
  • R24-11rel:R24-11#09c394e82026-10-14
  • R25-11rel:R25-11#7fda17bf2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill