DEENESPTFRRUARHIKOZHNL

类 {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton

用户指南人工智能生成

用作在服务器端实现和提供服务接口(Service-Interface)方法的基类。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 3d03b3b797b6 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用作在服务器端实现和提供服务接口(Service-Interface)方法的基类。

该类用作在 ara::com 中实现服务接口的服务器端基类,服务提供者应用程序派生自该类。在创建时,通过构造函数确定传入的方法调用是通过事件驱动还是轮询方式进行处理 [SWS_CM_00130]。对于声明为异常安全的方法,异常流程会通过返回的 ara::core::Future 作为错误码进行指示 [SWS_CM_00191]。

上下文

在 Adaptive Platform 中,类 {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton 在模块 com 中用作生成的抽象基类,用于在服务器端提供服务接口。特定于应用程序的服务提供者组件派生自该 Skeleton 类,以实现服务的业务功能逻辑。该类在具体服务提供者应用程序与通信中间件或底层协议绑定(如 SOME/IP)之间进行中介(SWS CommunicationManagement §8.1 “Method invocation”)。交互伙伴包括创建并拥有该实例的服务提供者应用程序、Skeleton 类本身,以及接收、反序列化传入服务请求并将其转发给 Skeleton 的通信基础设施([SWS_CM_10306]、[SWS_CM_10307])。

Context Provider Dienstanbieter-Implementierung Skeleton ServiceSkeleton Provider->Skeleton erbt von / implementiert Binding Kommunikations-Binding / Middleware Skeleton->Binding 返回 Future / 结果 Binding->Skeleton leitet Methodenaufrufe weiter

上下文图:服务提供者应用程序、ServiceSkeleton 与通信中间件之间的交互。来源:[SWS_CM_10306]、[SWS_CM_10307]、SWS CommunicationManagement §8.1 “Method invocation”。

生命周期

Skeleton 实例的创建通过构造函数进行,并向其传递所需的处理模式 ara::com::MethodCallProcessingMode [SWS_CM_00130]。该模式指定了传入方法调用的并发策略:如果配置为 kEvent 或 kEventSingleThread,传入的方法调用将由通信中间件直接以事件驱动方式调用 [SWS_CM_10306]。如果改传 kPoll,则由应用程序以基于轮询的方式进行处理 [SWS_CM_10307]。解释:Skeleton 实例大概在整个活动服务提供期间都保留在服务提供者应用程序的所有权中,直到服务关闭时才被销毁。 问题 Q-ce25321f79393024 (未决)

使用路径

典型流程包括派生提供者类实现纯虚方法,以及随后在请求到达时执行。对于常规方法调用(请求-响应),Skeleton 定义了一个接口,该接口返回带有相应输出对象的 ara::core::Future [SWS_CM_00191]、[SWS_CM_99556]。对于没有响应的 Fire-and-Forget 方法,Skeleton 提供返回类型为 void 的纯虚操作 [SWS_CM_90434]。当请求到达时,通信中间件对有效负载数据进行反序列化,并根据配置的处理模式将调用转发给 Skeleton 类的具体实现([SWS_CM_10306]、[SWS_CM_00191])。

在 Skeleton 上调用服务方法Kommunikations-BindingServiceSkeletonDienstanbieter-ImplementierungEingehende Anfragenachricht (SOME/IP)Nutzdaten deserialisierenvirtual <Method>(inArgs)执行业务逻辑ara::core::Future<<Method>Output>Antwortnachricht bereitstellen

时序图:通过 Skeleton 进行方法调用的流程。来源:[SWS_CM_00191]、[SWS_CM_10306]、SWS CommunicationManagement §8.1 “Method invocation”。

错误场景

请求-响应方法与 Fire-and-Forget 方法在接口层级均带有 noexcept 注解,并被声明为异常安全的([SWS_CM_00191]、[SWS_CM_90434])。处理常规方法调用时的错误不会通过 C++ 异常传递;相反,在发生错误时,返回的 ara::core::Future 会传输类型为 ara::com::ComErrc 的相应错误码或 ApApplicationError [SWS_CM_00191]。根据规范,Fire-and-Forget 方法既没有返回值,也没有标准化的错误码 [SWS_CM_90434]。

本指南由 AI 助手基于 AUTOSAR 规范生成。

UML 类图

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G n__hierarchical_namespace_list_lower_skeleton____skeleton_____service_i379 { <service-interface-name>}Skeleton + <FnFMethod>() + <Method>()

方法

Provision of a fire-and-forget method (ClientServerOperation. fireAndForget ==TRUE)

virtual void {<fnfmethod-name>} ({<fnfmethod-in-arg-derived-type-0to N>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept=0;
<Method> 函数

Provision of a method (ClientServerOperation. fireAndForget ==FALSE)

virtual ara::core::Future< {<method-name>}Output > {<method-name>} ( {<method-in-arg-derived-type-0toN>} {<method-in-arg-symbol-0toN>}) noexcept=0;

方法文档

函数 <FnFMethod> [SWS_CM_90434] Upstream: RS_CM_00215, RS_AP_00114

virtual void {<fnfmethod-name>} ({<fnfmethod-in-arg-derived-type-0to N>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept=0;

Provision of a fire-and-forget method (ClientServerOperation. fireAndForget ==TRUE)

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 93c9c81c8712 来源 未决问题(1)
译自德文指南AI 生成gemini-3.8-flash-low · 2026-10-13 · 德文原文

API 函数 [SWS_CM_90434] 定义了服务端 fire-and-forget 方法的纯虚接口。它是生成的 Skeleton 类 {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{<service-interface-name>}Skeleton 的组成部分,并通过头文件 {<si-namespace-derived-directory-path-lower>}/{<si-shortname-lower>}_skeleton.h 提供 (AUTOSAR_AP_SWS_CommunicationManagement §8.4.5.2.4.1 “{<fnfmethod-name>}”)。一旦在 ClientServerOperation 的设计模型中配置了属性 ClientServerOperation.fireAndForget == TRUE,就会生成该函数。

以下核心要点适用于实现和运行时行为:

  • 调用语义与参数:该方法根据 [SWS_CM_00191] 接收输入参数,与常规方法类似。由于这是纯单向通信,签名具有返回类型 void。既不向调用客户端传输输出参数,也不传输返回值。
  • 错误处理与异常安全性:该操作声明为 noexcept=0,因此被规范为严格异常安全(exception safe)([SWS_CM_90434])。既不存在特定于应用程序的错误码,也不存在其他反馈通道;服务实现绝不允许任何 C++ 异常从该方法中逃逸。
  • 执行上下文与并发性:如果 Skeleton 在 ara::com::MethodCallProcessingMode == kPoll 模式下运行,则挂起的 [SWS_CM_90434] 调用将在 ProcessNextMethodCall() 调用的线程上下文中确定性地处理 (AUTOSAR_AP_SWS_CommunicationManagement 第410页)。在轮询模式之外,执行大概率会在通信中间件的内部工作线程中并发进行。 问题 Q-08f014e191f9aab0 (未决)

本使用说明基于 AUTOSAR R25-11 规范自动生成。

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

Header-Datei#include "{<si-namespace-derived-directory-path-lower>}/{ <si-shortname-lower>}_skeleton.h"
Scopeclass {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
{<fnfmethod-in-arg-symbol-0toN>}As per {<method-in-arg-symbol-0toN>} in [SWS_CM_00191]

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_90434
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90434@rel:R25-11#5125dd6b
Content hash
5125dd6b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90434
Status: valid/unmigrated Version: rel:R25-11#f1dee805 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_90434@rel:R25-11#f1dee805
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#293042c22026-09-30
  • R19-11rel:R19-11#bbdaa18c2026-10-14
  • R20-11rel:R20-11#e392aff42026-10-14
  • R21-11rel:R21-11#e392aff42026-10-14
  • R22-11rel:R22-11#256b25262026-10-14
  • R23-11rel:R23-11#256b25262026-10-14
  • R24-11rel:R24-11#60298f242026-10-14
  • R25-11rel:R25-11#f1dee8052026-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

函数 <Method> [SWS_CM_00191] Upstream: RS_CM_00211, RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< {<method-name>}Output > {<method-name>} ( {<method-in-arg-derived-type-0toN>} {<method-in-arg-symbol-0toN>}) noexcept=0;

Provision of a method (ClientServerOperation. fireAndForget ==FALSE)

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

纯虚函数 <Method> 用于在 Skeleton 类内提供服务端方法,以用于不带即发即弃(Fire-and-Forget)语义的客户端-服务器操作 [SWS_CM_00191]。应用程序开发者在派生自服务接口的 Skeleton 类中实现该接口,以接收传入的调用。所有建模的参数都作为输入参数传递,其方向定义为 in 或 inout [SWS_CM_00191]。

执行通过返回类型 ara::core::Future 异步进行,在成功情况下该返回类型包含带有结果值的类型化 Output 对象 [SWS_CM_00191]、[SWS_CM_99556]。该方法被指定为 noexcept 且异常安全;未规定标准化的同步错误码 [SWS_CM_00191]。如果在处理时发生错误,实现会通过 ara::core::Future 异步提供该错误,要么作为类型为 ara::com::ComErrc 的错误码,要么作为模型特定的 ApApplicationError [SWS_CM_00191]。

调用上下文和并发行为取决于处理模式 ara::com::MethodCallProcessingMode,该模式在实例化时传递给 ServiceSkeleton 的构造函数 [SWS_CM_00130]:

  • 如果配置了 kEvent 或 kEventSingleThread,一旦接收并反序列化了相应的 SOME/IP 请求消息,中间件就会以事件驱动的方式调用该方法 [SWS_CM_10306]。
  • 相反,在 kPoll 模式下,当服务应用在 Skeleton 实例上显式执行 ProcessNextMethodCall() 时,调用在服务应用的线程中同步进行 [SWS_CM_10307]、[SWS_CM_00199]。

本文本由 AI 创建,且完全基于 AUTOSAR R25-11 的规范数据。

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

Header-Datei#include "{<si-namespace-derived-directory-path-lower>}/{ <si-shortname-lower>}_skeleton.h"
Scopeclass {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
{<method-in-arg-symbol-0toN>}The symbol name of method argument[0..N] in the ordered list of method arguments, with ClientServerOperation. direction == in or direction == inout given by ClientServerOperation. ArgumentDataPrototype[0..N]. shortName

Rückgabewert

TypBeschreibung
ara::core::Future< {<method-name> }Output >• If successful: an ara::core::Future containing an Output object as per [SWS_CM_99556] • If unsuccessful: an ara::core::Future containing a corresponding ara::com::ComErrc or ApApplicationError.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CM_00191
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00191@rel:R25-11#48c4839c
Content hash
48c4839c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00191
Status: valid/unmigrated Version: rel:R25-11#c5e59178 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_00191@rel:R25-11#c5e59178
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b57cf7ff2026-09-30
  • R19-11rel:R19-11#ef1fdf6b2026-10-14
  • R20-11rel:R20-11#0d8e3ab22026-10-14
  • R21-11rel:R21-11#e5b231ad2026-10-14
  • R22-11rel:R22-11#b1ef31032026-10-14
  • R23-11rel:R23-11#071cc7ef2026-10-14
  • R24-11rel:R24-11#95a8f1ee2026-10-14
  • R25-11rel:R25-11#c5e591782026-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