DEENESPTFRRUARHIKOZHNL

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

Guía del usuarioGENERADO POR IA

Sirve como clase base para la implementación en el lado del servidor y la provisión de métodos de una Service-Interface.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 3d03b3b797b6 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como clase base para la implementación en el lado del servidor y la provisión de métodos de una Service-Interface.

La clase sirve como clase base del lado del servidor para implementar una Service-Interface en ara::com, de la cual deriva la aplicación proveedora del servicio. Al crearla, se determina mediante el constructor si las llamadas a métodos entrantes se procesan controladas por eventos o por sondeo [SWS_CM_00130]. En los métodos declarados como seguros ante excepciones, las ejecuciones erróneas se señalan como código de error a través del ara::core::Future devuelto [SWS_CM_00191].

Contexto

La clase {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton sirve en la Adaptive Platform, dentro del módulo com, como clase base abstracta generada para la provisión del lado del servidor de una Service-Interface. Un componente proveedor de servicios específico de la aplicación deriva de esta clase skeleton para implementar la lógica de negocio funcional del servicio. La clase intermedia entre la aplicación proveedora de servicios concreta y el middleware de comunicación o el binding de protocolo subyacente, como SOME/IP (SWS CommunicationManagement §8.1 «Method invocation»). Entre los interlocutores de interacción se encuentran la aplicación proveedora del servicio, que crea y posee la instancia, la propia clase skeleton, así como la infraestructura de comunicación, que recibe las solicitudes de servicio entrantes, las deserializa y las reenvía al skeleton ([SWS_CM_10306], [SWS_CM_10307]).

Context Provider Dienstanbieter-Implementierung Skeleton ServiceSkeleton Provider->Skeleton erbt von / implementiert Binding Kommunikations-Binding / Middleware Skeleton->Binding proporciona Future / resultado Binding->Skeleton leitet Methodenaufrufe weiter

Diagrama de contexto: interacción entre la aplicación proveedora del servicio, ServiceSkeleton y el middleware de comunicación. Fuentes: [SWS_CM_10306], [SWS_CM_10307], SWS CommunicationManagement §8.1 «Method invocation».

Ciclo de vida

La creación de la instancia del skeleton se realiza a través del constructor, al que se transfiere el modo de procesamiento deseado ara::com::MethodCallProcessingMode [SWS_CM_00130]. Este modo establece la estrategia de concurrencia para las llamadas a métodos entrantes: si se configura kEvent o kEventSingleThread, las llamadas a métodos entrantes son invocadas inmediatamente y controladas por eventos por el middleware de comunicación [SWS_CM_10306]. Si en su lugar se transfiere kPoll, el procesamiento se realiza mediante sondeo por parte de la aplicación [SWS_CM_10307]. Interpretación: es de suponer que la instancia del skeleton permanezca bajo la posesión de la aplicación proveedora del servicio durante toda la provisión activa del servicio y solo se destruya al apagar el servicio. Pregunta Q-ce25321f79393024 (abierta)

Ruta de uso

El flujo típico comprende la implementación de los métodos puramente virtuales por parte de la clase proveedora derivada y la posterior ejecución al recibir solicitudes entrantes. Para llamadas regulares a métodos (Request-Response), el skeleton define una interfaz que devuelve un ara::core::Future con el objeto de salida correspondiente [SWS_CM_00191], [SWS_CM_99556]. Para métodos Fire-and-Forget sin respuesta, el skeleton proporciona operaciones puramente virtuales con el tipo de retorno void [SWS_CM_90434]. Ante solicitudes entrantes, el middleware de comunicación deserializa los datos útiles y reenvía la llamada a la implementación concreta de la clase skeleton según el modo de procesamiento configurado ([SWS_CM_10306], [SWS_CM_00191]).

Llamada a un método de servicio en el SkeletonKommunikations-BindingServiceSkeletonDienstanbieter-ImplementierungEingehende Anfragenachricht (SOME/IP)Nutzdaten deserialisierenvirtual <Method>(inArgs)Ejecutar lógica de negocioara::core::Future<<Method>Output>Antwortnachricht bereitstellen

Diagrama de secuencia: flujo de una llamada a método a través del skeleton. Fuentes: [SWS_CM_00191], [SWS_CM_10306], SWS CommunicationManagement §8.1 «Method invocation».

Escenarios de error

Tanto los métodos Request-Response como los métodos Fire-and-Forget están anotados a nivel de interfaz con noexcept y declarados como seguros ante excepciones ([SWS_CM_00191], [SWS_CM_90434]). Los errores al procesar llamadas a métodos regulares no se transmiten mediante excepciones de C++; en su lugar, el ara::core::Future devuelto transporta en caso de error un código de error correspondiente del tipo ara::com::ComErrc o un ApApplicationError [SWS_CM_00191]. Para los métodos Fire-and-Forget, según la especificación no se prevén valores de retorno ni códigos de error estandarizados [SWS_CM_90434].

Esta guía ha sido generada por un asistente de IA a partir de la especificación AUTOSAR.

Diagrama de clases 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>()

Métodos

<FnFMethod> función

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> función

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;

Documentación de los métodos

función <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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 93c9c81c8712 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función de la API [SWS_CM_90434] define la interfaz puramente virtual de un método fire-and-forget en el lado del servidor. Forma parte de la clase Skeleton generada {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{<service-interface-name>}Skeleton y se proporciona a través del archivo de encabezado {<si-namespace-derived-directory-path-lower>}/{<si-shortname-lower>}_skeleton.h (AUTOSAR_AP_SWS_CommunicationManagement §8.4.5.2.4.1 «{<fnfmethod-name>}»). La función se genera en cuanto se configura el atributo ClientServerOperation.fireAndForget == TRUE para una ClientServerOperation en el modelo de diseño.

Para la implementación y el comportamiento en tiempo de ejecución se aplican los siguientes aspectos esenciales:

  • Semántica de invocación y parámetros: El método recibe parámetros de entrada de manera análoga a los métodos regulares conforme a [SWS_CM_00191]. Al tratarse de una comunicación puramente unidireccional, la signatura posee el tipo de retorno void. No se transmiten ni parámetros de salida ni valores de retorno al cliente llamante.
  • Tratamiento de errores y seguridad frente a excepciones: La operación está declarada como noexcept=0 y, por tanto, especificada como estrictamente segura frente a excepciones (exception safe) ([SWS_CM_90434]). No existen códigos de error específicos de la aplicación ni otros canales de notificación; la implementación del servicio no debe permitir que se escapen excepciones C++ del método.
  • Contexto de ejecución y concurrencia: Si el Skeleton se opera en el modo ara::com::MethodCallProcessingMode == kPoll, el procesamiento de las invocaciones pendientes de [SWS_CM_90434] tiene lugar de forma determinista en el contexto de hilo de la invocación de ProcessNextMethodCall() (AUTOSAR_AP_SWS_CommunicationManagement p. 410). Fuera del modo de sondeo (polling), es de suponer que la ejecución tenga lugar de forma concurrente en un hilo de trabajo interno del middleware de comunicación. Pregunta Q-08f014e191f9aab0 (abierta)

Esta nota de uso se ha generado automáticamente a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#be31614f
Content hash
be31614f
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

función <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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: fe8609b23651 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función puramente virtual <Method> sirve para la provisión del lado del proveedor de un método dentro de una clase Skeleton para operaciones cliente-servidor sin semántica Fire-and-Forget [SWS_CM_00191]. Los desarrolladores de aplicaciones implementan esta interfaz en la clase skeleton derivada de la interfaz de servicio para recibir llamadas entrantes. Como parámetros de entrada se transfieren todos los argumentos modelados cuya dirección esté definida como in o inout [SWS_CM_00191].

La ejecución se lleva a cabo de forma asincrónica a través del tipo de retorno ara::core::Future, el cual, en caso de éxito, contiene el objeto tipado Output con los valores de resultado [SWS_CM_00191], [SWS_CM_99556]. El método está especificado como noexcept y seguro frente a excepciones; no se prescriben códigos de error sincrónicos estandarizados [SWS_CM_00191]. Si ocurre un error durante el procesamiento, la implementación lo proporciona de forma asincrónica a través del ara::core::Future, bien como un código de error de tipo ara::com::ComErrc o bien como un ApApplicationError específico del modelo [SWS_CM_00191].

El contexto de llamada y el comportamiento de concurrencia dependen del modo de procesamiento ara::com::MethodCallProcessingMode que se transfiere al constructor de ServiceSkeleton durante la instanciación [SWS_CM_00130]:

  • Si se configuró kEvent o kEventSingleThread, el método es invocado por el middleware guiado por eventos en cuanto se recibe y deserializa el mensaje de solicitud SOME/IP correspondiente [SWS_CM_10306].
  • En el modo kPoll, en cambio, la llamada se realiza de forma sincronizada en el subproceso de la aplicación de servicio cuando esta ejecuta explícitamente ProcessNextMethodCall() en la instancia del skeleton [SWS_CM_10307], [SWS_CM_00199].

Este texto fue elaborado por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#c6b83153
Content hash
c6b83153
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