DEENESPTFRRUARHIKOZHNL

模块 ara::com — Communication Management

模块指南人工智能生成

为面向服务的通信提供类型化接口,并对传输协议进行抽象。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 45902037e92f 来源 未决问题(2)
因果锚点:R25-11 自 R25-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

为面向服务的通信提供类型化接口,并对传输协议进行抽象。

Functional Cluster Communication Management(ara::com)通过标准化的 Proxy 和 Skeleton 接口(SWS_CommunicationManagement 第55页、ARAComAPI 第1页)实现 Adaptive 应用程序之间面向服务的交互。它利用 OfferService() 和 FindService()([SWS_CM_00101]、[SWS_CM_00122])调节动态服务发现,并提供集成了 E2E 和 SecOC 保护的同步与异步方法、事件和字段([SWS_CM_00141]、[SWS_CM_90420])。当服务暂时中断时,中间件会拦截连接中断,并在服务重新可用后自动更新现有的 Proxy 对象(ARAComAPI 第32页)。

Functional Cluster Communication Management(ara::com)构成了 AUTOSAR Adaptive Platform 中面向服务架构(SOA)的核心骨干,并通过 Proxy-Skeleton 模式将应用逻辑与具体传输协议解耦(SWS_CommunicationManagement 第55页、ARAComAPI 第1页)。在消费者端基于形式化接口描述生成的 Proxy 类以及在提供者端生成的 Skeleton 类,通过类型安全的 C++ API 提供方法、事件和字段([SWS_CM_00130]、[SWS_CM_00131])。

服务的提供与动态查找通过 Service Discovery 处理(SWS_CommunicationManagement 第67页)。提供者通过 OfferService() 提供其服务([SWS_CM_00101]),而消费者则通过 FindService() 同步或通过 StartFindService() 异步查找匹配的实例([SWS_CM_00122]、[SWS_CM_00123])。在此过程中,实例可通过 ara::core::InstanceSpecifier 进行基于模型的寻址,并在运行时解析为具体的 ara::com::InstanceIdentifier([SWS_CM_00118]、[SWS_CM_00622])。

服务发现与 Proxy 初始化Consumer AppProxyara::com MiddlewareSkeletonProvider AppOfferService()Registriere Service-Instanz (SOME/IP SD / IPC)StartFindService(Handler, InstanceSpecifier)Handler-Callback(ServiceHandleContainer)Proxy::Create(handle)Proxy 实例(就绪可通信)

时序图:服务提供、异步查找与 Proxy 创建的过程。来源:[SWS_CM_00101]、[SWS_CM_00123]、[SWS_CM_10438]、AUTOSAR_EXP_SensorInterfaces 第16页

在数据传输方面,ara::com 支持通过 ara::core::Future 的请求-响应方法([SWS_CM_00191]、[SWS_CM_00196])以及用于事件和字段的发布-订阅模式(AUTOSAR_EXP_ARAComAPI 第68页)。订阅者通过 Subscribe() 进行注册([SWS_CM_00141]),并通过 GetNewSamples() 读取传入的数据([SWS_CM_00701])。为提升性能,提供者通过 Allocate() 提供数据,并通过 Send() 以零拷贝方式移交所有权([SWS_CM_90437]、[SWS_CM_90438])。

为确保传输安全,该平台集成了端到端保护(E2E)、通过 Freshness Value Management(FVM)实现的加密认证(SecOC)以及针对经典网络的信号到服务转换([SWS_CM_90420]、[SWS_CM_11288]、[SWS_CM_10174]、SWS_CommunicationManagement 第222页)。错误状态通过诸如 ComErrorDomain 和 ComE2EErrorDomain 等类型安全的错误域进行标准化信号通知([SWS_CM_10432]、[SWS_CM_10474])。如果与某个服务的连接断开,Proxy 的状态将转换为 kSubscriptionPending;在该服务重新可用后,中间件会透明地更新内部寻址,从而无需重新实例化 Proxy 即可继续通信(ARAComAPI 第32页)。

面向服务通信的角色与系统架构

Functional Cluster Communication Management(ara::com)构成了 AUTOSAR Adaptive Platform 的信息技术核心骨干,并实现了隔离的应用进程之间以及跨 ECU 边界的面向服务通信(Service-Oriented Architecture,SOA)(SWS_CommunicationManagement 第55页)。核心原则是严格的 Proxy-Skeleton 设计模式(ARAComAPI 第1页):基于形式化的软件接口描述(Service Interface),基于模型的代码生成器为服务消费者生成类型化的 Proxy 类,并为服务提供者生成 Skeleton 类([SWS_CM_00130]、[SWS_CM_00131])。应用程序逻辑仅与这些抽象层交互,而诸如 SOME/IP、IPC 或 DDS 等协议特定的绑定及其序列化则直至集成和部署阶段才进行绑定(AUTOSAR_AP_EXP_ARAComAPI 第124页)。

为满足平台要求,ara::com 与其他功能集群紧密协作(SWS_CommunicationManagement 第34页)。在运行时,Execution Management 监控进程生命周期,而 Identity and Access Management(IAM)则通过基于策略的访问检查(Policy Decision Point)在方法、事件和字段级别阻止未经授权的交互(SWS_CommunicationManagement 第215页)。此外,安全事件会直接报告给入侵检测系统管理器(IdSM)的 EventReporter(SWS_CommunicationManagement 第34页)。

ComArchitecture ConsumerApp Adaptive Application (Konsument) Proxy ara::com Proxy (Fassade) ConsumerApp->Proxy Methodenaufruf / Subscribe BindingClient Communication Binding (Client-Stack) Proxy->BindingClient Serialisierung Network Netzwerk / IPC Transport (SOME/IP, DDS, SHM) BindingClient->Network Datagramm / IPC BindingServer Communication Binding (Server-Stack) Network->BindingServer Empfang Skeleton ara::com Skeleton (Basisklasse) BindingServer->Skeleton Deserialisierung ProviderApp Adaptive Application (Provider) Skeleton->ProviderApp Method Dispatch / Events

上下文图:ara::com 的嵌入以及通过绑定实现的应用层解耦。来源:SWS_CommunicationManagement 第55页、ARAComAPI 第1页

通过 Proxy 和 Skeleton 的服务发现与实例化

动态服务查找(Service Discovery)控制本地和分布式通信关系的建立(SWS_CommunicationManagement 第67页)。服务提供者通过调用 Skeleton 上的 OfferService() 来通知其可用性([SWS_CM_00101])。当服务终止或停止提供时,StopOfferService() 将撤回该服务提议([SWS_CM_00111])。消费者通过 FindService() 同步或通过 StartFindService() 异步查找匹配的服务实例([SWS_CM_00122]、[SWS_CM_00123]、ARAComAPI 第103页)。后者会注册一个 FindServiceHandler,在实例拓扑发生任何更改时都会收到通知,直到通过 StopFindService() 显式停止搜索([SWS_CM_00125]、[SWS_CM_00383])。

为了将源代码与固定的网络和实例 ID 解耦,该接口允许使用 ara::core::InstanceSpecifier 通过抽象模型路径进行寻址([SWS_CM_00622]、[SWS_CM_00623]、AUTOSAR_AP_EXP_ARAComAPI 第124页)。中间件通过配置的 Service Instance Manifest 将这些说明符解析为具体的 ara::com::InstanceIdentifier([SWS_CM_00118]、[SWS_CM_11520]、ARAComAPI 第1页)。找到的服务在 ServiceHandleContainer 中作为类型化描述符(HandleType)提供([SWS_CM_10383]、AUTOSAR_EXP_SensorInterfaces 第16页)。消费者通过静态工厂方法 Proxy::Create() 或构造函数创建绑定的 Proxy 实例以进一步使用其功能([SWS_CM_10438]、[SWS_CM_00131])。

服务发现与 Proxy 初始化Consumer AppProxyara::com MiddlewareSkeletonProvider AppOfferService()Registriere Service-Instanz (SOME/IP SD / IPC)StartFindService(Handler, InstanceSpecifier)Handler-Callback(ServiceHandleContainer)Proxy::Create(handle)Proxy 实例(就绪可通信)

时序图:服务提供、异步查找与 Proxy 创建的过程。来源:[SWS_CM_00101]、[SWS_CM_00123]、[SWS_CM_10438]、AUTOSAR_EXP_SensorInterfaces 第16页

交互模式:方法调用与异步处理

方法调用反映了同步和异步的请求-响应范式。客户端通过 Proxy 上的函数调用运算符 operator() 触发方法([SWS_CM_00196])。默认情况下,ara::core::Future 用作封装结果或错误状态的返回类型([SWS_CM_00191]、ARAComAPI 第1页)。消费者可以灵活选择同步方式:通过 get() 进行阻塞式获取、通过 wait_for() 或 wait_until() 进行超时监控等待,或通过 then() 注册基于事件的回调例程(ARAComAPI 第1页)。对于不带反馈的纯单向通知,存在返回 void 的 fire-and-forget 方法([SWS_CM_90434]、[SWS_CM_90435])。

在提供者侧,MethodCallProcessingMode 定义了传入调用的执行策略([SWS_CM_00301]、[SWS_CM_00130])。在事件驱动模式(kEvent 或 kEventSingleThread)下,方法调用立即在由中间件管理的工作线程中执行(AUTOSAR_SWS_CommunicationManagement 第60页)。在轮询模式(kPoll)下,应用程序通过定期调用 ProcessNextMethodCall() 来确定性地自行控制处理时机([SWS_CM_00199]、EXP_SWArchitecture 第68页)。方法实现内部通过 ara::core::Promise 生成结果,并返回关联的 Future(ARAComAPI 第1页)。

方法调用与分发模式Consumer AppProxyara::com TransportSkeletonProvider Appoperator()(args)返回 ara::core::FutureRequest PDU sendenRequest empfangenaltMethodCallProcessingMode::kEventAsynchroner Methodenaufruf (Worker-Thread)MethodCallProcessingMode::kPollProcessNextMethodCall()应用程序线程中的同步方法调用将结果传递给 PromiseResponse PDU sendenResponse empfangenFuture::get() 返回结果

时序图:kPoll 和 kEvent 调度下 Proxy 与 Skeleton 之间的方法调用。来源:[SWS_CM_00196]、[SWS_CM_00199]、AUTOSAR_SWS_CommunicationManagement 第60页

发布-订阅模式下的事件与字段通信

连续数据流和状态变更的分发通过发布-订阅模式下的事件和字段进行(SWS_CommunicationManagement 第67页)。活动订阅者通过 Subscribe() 声明其接收意愿,并指定要保留的最大样本数(maxSampleCount)([SWS_CM_00141]、[SWS_CM_12002])。订阅状态通过 GetSubscriptionState() 查询,或通过 SetSubscriptionStateChangeHandler() 经由回调异步监控([SWS_CM_00310]、[SWS_CM_00316]、[SWS_CM_01110])。终止订阅通过 Unsubscribe() 进行([SWS_CM_00151])。

数据接收既可以通过 SetReceiveHandler() 以事件驱动方式进行,也可以通过周期性读取接收缓冲区进行([SWS_CM_00181]、[SWS_CM_11356])。通过 GetNewSamples(),消费者传递一个函数对象(Lambda),该对象针对每个到达的样本以类型化的 SamplePtr 被调用([SWS_CM_00701]、[SWS_CM_11610])。为避免复制开销(零拷贝),Skeleton 通过 Allocate() 分配内存,并通过 Send() 将类型化指针 SampleAllocateePtr 在完全转移所有权的情况下发送至传输层([SWS_CM_90438]、[SWS_CM_90437]、[SWS_CM_00308]、AUTOSAR_EXP_ARAComAPI 第63页、ARAComAPI 第1页)。

字段在事件概念的基础上扩展了 Getter 和 Setter 语义(AUTOSAR_EXP_ARAComAPI 第68页)。消费者通过 Get() 读取该字段,或通过 Set() 对其进行写入([SWS_CM_00112]、[SWS_CM_00113])。在服务器端,这些请求分别由 RegisterGetHandler() 和 RegisterSetHandler() 提供服务([SWS_CM_00114]、[SWS_CM_00116])。当服务器通过 Update() 更新状态时,该字段会自动充当通知器,并将更改分发给所有已注册的订阅者([SWS_CM_00119]、ARAComAPI 第1页)。

采用零拷贝分配的发布-订阅流程Provider AppSkeletonMiddleware / BufferProxyConsumer AppSubscribe(maxSampleCount)Abonnement registrierenSetReceiveHandler(callback)Allocate()SampleAllocateePtrSend(std::move(ptr))将样本放入缓冲区 / 传输Notify receiveHandlerCallback aufrufenGetNewSamples(lambda)执行带有 SamplePtr 的 Lambda

时序图:零拷贝分配、事件发布、订阅与 GetNewSamples 消费。来源:[SWS_CM_00141]、[SWS_CM_00701]、[SWS_CM_90437]、AUTOSAR_EXP_ARAComAPI 第63页

安全保障、服务转换与平台集成

对于安全相关和确定性的数据流,ara::com 集成了符合 AUTOSAR 标准的端到端保护(E2E)和认证(AUTOSAR_AP_TR_SystemTests 第132页)。通过 GetProfileCheckStatus() 和 GetE2EStateMachineState(),消费者可以检查所接收数据的完整性和验证状态([SWS_CM_90420]、[SWS_CM_90421]、[SWS_CM_11554])。在服务器端,应用程序通过 SetTransportFaultConditionHandler() 注册错误处理例程,以便在方法级别对 E2E 和传输缺陷做出标准化响应([SWS_CM_00093]、[SWS_CM_00094]、[SWS_CM_00100]、EXP_SWArchitecture 第68页)。

外部报文的加密完整性与真实性由 Secure Onboard Communication(SecOC)保障(SWS_CommunicationManagement 第222页)。为此,中间件集成了可替换的 Freshness Value Management 库(FVM),该库通过 GetRxFreshness()、GetTxFreshness() 和 Initialize() 管理 Freshness 值([SWS_CM_11288]、[SWS_CM_11289]、[SWS_CM_11290]、SWS_CommunicationManagement 第226页)。诊断和安全功能通过诸如 SetVerificationStatus() 等特定接口监控或控制验证([SWS_CM_19999]、AUTOSAR_AP_EXP_SWArchitecture 第70页)。

为了与 AUTOSAR Classic Platform 实现互操作性,ara::com 支持基于信号的通信(Signal-to-Service Translation)(SWS_CommunicationManagement 第146页、TPS_ManifestSpecification 第476页)。根据 [SWS_CM_10174] 和 [SWS_CM_80001],经典的信号 IPDU 与 SOME/IP 报文可以通过同一个套接字传输。如果存在基于信号的 SecOC 配置,中间件将直接从清单的 PDU-Triggering 中读取保护参数([SWS_CM_11346]、SWS_CommunicationManagement 第228页)。

SecurityPipeline IncomingPdu Eingehende Nachricht (SOME/IP / Signal-PDU) SecOcCheck SecOC 校验(Authenticator / MAC) IncomingPdu->SecOcCheck SecOC konfiguriert E2eCheck E2E 校验(CRC、Counter、Data ID) IncomingPdu->E2eCheck Kein SecOC FreshnessCheck FVM: Freshness Value Verifikation SecOcCheck->FreshnessCheck Authenticator 有效 FaultHandler TransportFaultConditionHandler / ErrorDomain SecOcCheck->FaultHandler MAC 无效 FreshnessCheck->E2eCheck Freshness 有效 FreshnessCheck->FaultHandler Freshness 无效 DispatchApp 交付给应用程序 / Skeleton E2eCheck->DispatchApp E2E OK (ProfileCheckStatus::kOk) E2eCheck->FaultHandler E2E-Fehler (kRepeated, kWrongSequence)

活动图:传入报文的 E2E 与 SecOC 保护流水线。来源:[SWS_CM_90420]、[SWS_CM_11288]、SWS_CommunicationManagement 第222页

发生错误时的行为

ara::com 的错误管理基于 AUTOSAR 核心框架的类型安全错误域和返回码([SWS_CM_11334]、[SWS_CM_11335])。通用通信层的错误汇总在 ComErrorDomain 中,并通过枚举器 ComErrc 进行编码([SWS_CM_10432])。发生 E2E 校验错误时,ComE2EErrorDomain 通过枚举值 ComE2EErrc 指示具体的校验错误,例如校验和偏差或无效计数器([SWS_CM_10474]、[SWS_CM_12510]、[SWS_CM_12511])。对于 SecOC Freshness 错误,类似地存在带有 ComSecOcFvmErrc 的 ComSecOcFvmErrorDomain([SWS_CM_12521]、[SWS_CM_12522])。

若在运行期间发生连接中断,Proxy 的订阅状态将从 kSubscribed 变为 kSubscriptionPending([SWS_CM_00310]、[SWS_CM_00316]、ARAComAPI 第32页)。在此阶段,方法调用将失败并报错。如果服务提供者随后通过 Service Discovery 恢复,中间件会透明地更新 Proxy 的内部寻址,而无需消费者重新实例化 Proxy 对象;重新同步成功后,状态会自动恢复为 kSubscribed(ARAComAPI 第32页)。根据系统规范,应用程序软件自身负责时间期限和超时监控(Deadline Monitoring)(TPS_ManifestSpecification 第504页)。

ProxyRecovery Initial Proxy erzeugt (kSubscribed) ServiceDown 服务不可达 (kSubscriptionPending) Initial->ServiceDown Service geht offline / SD-Timeout Reconnected Dienst wiederhergestellt (kSubscribed) ServiceDown->Reconnected Service sendet OfferService() / Adress-Update Reconnected->ServiceDown Erneuter Verbindungsausfall

状态图:提供者可用性变更时 Proxy 实例的生命周期与连接状态。来源:[SWS_CM_00310]、[SWS_CM_00316]、ARAComAPI 第32页

进一步详细证据

主要需求和系统接口在 AUTOSAR 规范中的划分如下:

本指南由 AI 策展助手基于 AUTOSAR Adaptive Release R25-11 编写。

<SI-Namespace>::proxy

Service Interface Proxy

<SI-Namespace>::proxy::fields

Service proxy Field class, one for each Field defined in the ServiceInterface in the role field.

<SI-Namespace>::proxy::methods

Service proxy fire-and-forget method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget==TRUE) defined in the S

Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) defined in the ServiceInterfac

<SI-Namespace>::proxy::triggers

Service proxy Trigger class, one for each Trigger defined in the ServiceInterface in the role trigger.

<SI-Namespace>::skeleton

Service skeleton class

<SI-Namespace>::skeleton::fields

Service skeleton Field class, one for each Field defined in the ServiceInterface in the role field.

<SI-Namespace>::skeleton::triggers

Service skeleton Trigger class, one for each Trigger defined in the ServiceInterface in the role trigger.

apext::com::secoc

Defines a class representing the SecOc Freshness Value Manager error domain

继承自 ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the SecOc Freshness Value Manager

继承自 ara::core::Exception

A container to hold the length of freshness value in bits and the freshness value itself

FVM 类

A freshness value management interface to be implemented by the OEM/stack vendor

Returns a reference to the apext::com::secoc::ComSecOcFvmErrorDomain object

constexpr const ara::core::ErrorDomain & GetComSecOcFvmErrorDomain () noexcept;

Creates an instance of ara::core::ErrorCode

constexpr ara::core::ErrorCode MakeErrorCode (apext::com::secoc::Com SecOcFvmErrc errorCode, ara::core::ErrorDomain::SupportDataType data) noexcept;

Defines the error codes for the apext::com::secoc::ComSecOcFvmErrorDomain

enum class ComSecOcFvmErrc : ara::core::ErrorDomain::CodeType {...};

ara::com

Defines a class representing the Communication error domain.

继承自 ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the API.

继承自 ara::core::Exception

The exact definition of ara::com::FindServiceHandle is Communication Management implementation specific

Unique identifier of a specific AdaptivePlatformServiceInstance, to distinguish different instances of exactly the same service

Emulates a std::unique_ptr to an event sample. The ara::com::SamplePtr behaves as a std::unique_ptr as long as the event/ field is subscrib ≙ std::unique_ptr

Specifies a Service Identifier The exact type may be overridden by the Communication Management software provider

Specifies a Service Version

Returns a reference to the ara::com::ComErrorDomain object

constexpr const ara::core::ErrorDomain & GetComErrorDomain () noexcept;

Creates an instance of ara::core::ErrorCode

ComErrc 枚举

Defines the error codes for the ara::com::ComErrorDomain

enum class ComErrc : ara::core::ErrorDomain::CodeType {...};

Processing modes for the service implementation.

enum class MethodCallProcessingMode : std::uint8_t {...};

The state of the service from GetServiceState()

enum class ServiceState : std::uint8_t {...};

The subscription state of an event.

enum class SubscriptionState : std::uint8_t {...};
EventReceiveHandler 类型别名

Callback function invoked if new event data arrives for an event. The event receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function

using EventReceiveHandler = std::function<void()>;
FieldReceiveHandler 类型别名

Callback function invoked if a new notification arrives for a field. The field receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function

using FieldReceiveHandler = std::function<void()>;
FindServiceHandler 类型别名

Callback function invoked if service availability changes. It takes as input parameter a handle container containing handles for all matching service instances and a ara::com:: FindServiceHandle which can be used to invoke StopFindService() from within the ara::com::FindServiceHandler.

using FindServiceHandler = std::function<void(ServiceHandle Container<T>, FindServiceHandle)>;

Holds a list of ara::com::InstanceIdentifiers. The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per [30] A ara::core::Vector ([SWS_CORE_01301]) for example fulfills these requirements.

using InstanceIdentifierContainer = ara::core::Vector<Instance Identifier>;
SampleAllocateePtr 类型别名

Pointer to an allocated (by Communication Management) data sample. The implementation is allowed to be changed by the Communication Management software provider.

using SampleAllocateePtr = std::unique_ptr<T>;

Holds a list of service handles and is used as a return value of any of the FindService() methods) • [SWS_CM_00122] • [SWS_CM_00622] . The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per [30]. A ara::core::Vector ([SWS_CORE_ 01301]) for example fulfills these requirements.

using ServiceHandleContainer = ara::core::Vector<T>;
ServiceStateHandler 类型别名

Functor used as input arguments for any of the SetServiceStateChangeHandler() methods: • [SWS_CM_01074] • [SWS_CM_01076]

using ServiceStateHandler = std::function<void(ServiceState)>;

Callback function invoked if ara::com::SubscriptionState of an event has changed.

using SubscriptionStateChangeHandler = std::function<void(Subscription State)>;

A function wrapper for the handler function that gets called in case a new trigger arrives for an event. The trigger receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. ≙ std::function

using TriggerReceiveHandler = std::function<void()>;

ara::com::e2e

Defines a class representing the E2E error domain

继承自 ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the E2E APIs

继承自 ara::core::Exception

Returns a reference to the ara::com::e2e::ComE2EErrorDomain object

constexpr const ara::core::ErrorDomain & GetComE2EErrorDomain () noexcept;

Creates an instance of ara::core::ErrorCode

constexpr ara::core::ErrorCode MakeErrorCode (ara::com::e2e::ComE2 EErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;
ComE2EErrc 枚举

Defines the error codes for the ara::com::e2e::ComE2EErrc

enum class ComE2EErrc : ara::core::ErrorDomain::CodeType {...};

The result of the check of a single ara::com::SamplePtr

enum class ProfileCheckStatus : std::uint8_t {...};
SMState 枚举

The state of the E2E supervision after the most recent check of a received sample of the event. If ara::com::e2e::SMState == kValid, and the ara::com::SamplePtr:: GetProfileCheckStatus did not result in an Error then, the last checked sample can be used.

enum class SMState : std::uint8_t {...};

Defines the TransportFaultCondition which represent a single transport-related fault event

enum class TransportFaultCondition : std::uint8_t {...};

Handler type to be called when one or more (determined by the value of the std::size_t) fault conditions are detected ≙ std::size_t

using TransportFaultConditionHandler = std::function<void(Transport FaultCondition, std::size_t)>;

ara::com::runtime

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;

服务接口

VerificationStatus 服务接口

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Verwandte Komponenten in anderen Universen

Spezifikation: AUTOSAR_AP_SWS_CommunicationManagement.pdf (R25-11) · 250 API-Records

function: 179 class: 20 type alias: 20 variable: 13 enumeration: 10 struct: 4 service method: 2 header file: 1 service event: 1

命名空间

服务接口(通过 ara::com 建模)

模块的 UML 类图

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 <SI-Namespace>::proxy cluster_2 <SI-Namespace>::proxy::<SI>Proxy cluster_3 <SI-Namespace>::proxy::fields cluster_4 <SI-Namespace>::proxy::methods cluster_5 <SI-Namespace>::proxy::methods::<Method> cluster_6 <SI-Namespace>::proxy::triggers cluster_7 <SI-Namespace>::skeleton cluster_8 <SI-Namespace>::skeleton::<SI>Skeleton cluster_9 <SI-Namespace>::skeleton::fields cluster_10 <SI-Namespace>::skeleton::triggers cluster_11 apext::com::secoc cluster_12 ara::com cluster_13 ara::com::e2e n_SI_Namespace___proxy___SI_Proxy329 <SI>Proxy n_SI_Namespace___proxy___SI_Proxy__HandleType349 HandleType n_SI_Namespace___proxy__fields___Field_138 <Field> n_SI_Namespace___proxy__methods___FnFMethod_122 <FnFMethod> n_SI_Namespace___proxy__methods___Method_320 <Method> n_SI_Namespace___proxy__methods___Method___Output157 «struct» Output n_SI_Namespace___proxy__triggers___Trigger_725 <Trigger> n_SI_Namespace___skeleton___SI_Skeleton453 <SI>Skeleton n_SI_Namespace___skeleton___SI_Skeleton___Method_Output373 «struct» <Method>Output n_SI_Namespace___skeleton__fields___Field_667 <Field> n_SI_Namespace___skeleton__triggers___Trigger_907 <Trigger> napext__com__secoc__ComSecOcFvmErrorDomain756 ComSecOcFvmErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain napext__com__secoc__ComSecOcFvmErrorDomain756->nara__core__ErrorDomain335 napext__com__secoc__ComSecOcFvmException158 ComSecOcFvmException nara__core__Exception792 ara::core::Exception napext__com__secoc__ComSecOcFvmException158->nara__core__Exception792 napext__com__secoc__FVContainer961 «struct» FVContainer napext__com__secoc__FVM451 FVM nara__com__ComErrorDomain658 ComErrorDomain nara__com__ComErrorDomain658->nara__core__ErrorDomain335 nara__com__ComException152 ComException nara__com__ComException152->nara__core__Exception792 nara__com__FindServiceHandle138 «struct» FindServiceHandle nara__com__InstanceIdentifier581 InstanceIdentifier nara__com__SamplePtr589 SamplePtr nara__com__ServiceIdentifierType24 ServiceIdentifierType nara__com__ServiceVersionType743 ServiceVersionType nara__com__e2e__ComE2EErrorDomain501 ComE2EErrorDomain nara__com__e2e__ComE2EErrorDomain501->nara__core__ErrorDomain335 nara__com__e2e__ComE2EException703 ComE2EException nara__com__e2e__ComE2EException703->nara__core__Exception792