DEENESPTFRRUARHIKOZHNL

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

Guia do utilizadorGERADO POR IA

Serve como classe base para a implementação do lado do servidor e disponibilização de métodos de uma Service-Interface.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3d03b3b797b6 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como classe base para a implementação do lado do servidor e disponibilização de métodos de uma Service-Interface.

A classe serve como classe base do lado do servidor para a implementação de uma Service-Interface em ara::com, da qual a aplicação fornecedora do serviço deriva. Na criação, define-se através do construtor se as chamadas de métodos recebidas são processadas de forma orientada a eventos ou por polling [SWS_CM_00130]. Em métodos declarados como seguros contra exceções, fluxos com erro são sinalizados através do ara::core::Future retornado como código de erro [SWS_CM_00191].

Contexto

A classe {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton serve na Adaptive Platform, no módulo com, como classe base abstrata gerada para a disponibilização do lado do servidor de uma Service-Interface. Um componente fornecedor de serviço específico da aplicação deriva desta classe skeleton para implementar a lógica de negócio funcional do serviço. A classe intermedeia entre a aplicação fornecedora de serviço concreta e o middleware de comunicação ou o binding de protocolo subjacente, tal como SOME/IP (SWS CommunicationManagement §8.1 «Method invocation»). Entre os parceiros de interação encontram-se a aplicação fornecedora de serviço, que cria e possui a instância, a própria classe skeleton, bem como a infraestrutura de comunicação, que recebe pedidos de serviço recebidos, os desserializa e os encaminha para o skeleton ([SWS_CM_10306], [SWS_CM_10307]).

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

Diagrama de contexto: interação entre a aplicação fornecedora de serviço, ServiceSkeleton e o middleware de comunicação. Fontes: [SWS_CM_10306], [SWS_CM_10307], SWS CommunicationManagement §8.1 «Method invocation».

Ciclo de vida

A criação da instância de skeleton é realizada através do construtor, ao qual é passado o modo de processamento pretendido ara::com::MethodCallProcessingMode [SWS_CM_00130]. Este modo define a estratégia de concorrência para chamadas de métodos recebidas: se kEvent ou kEventSingleThread for configurado, as chamadas de métodos recebidas são invocadas diretamente de forma orientada a eventos pelo middleware de comunicação [SWS_CM_10306]. Se, em vez disso, for passado kPoll, o processamento ocorre com base em polling pela aplicação [SWS_CM_10307]. Interpretação: é provável que a instância de skeleton permaneça na posse da aplicação fornecedora de serviço durante toda a disponibilização ativa do serviço e só seja destruída aquando da desativação do serviço. Pergunta Q-ce25321f79393024 (aberta)

Caminho de utilização

O fluxo típico compreende a implementação dos métodos puramente virtuais pela classe fornecedora derivada e a execução posterior aquando da chegada de pedidos. Para chamadas de métodos regulares (request-response), o skeleton define uma interface que retorna um ara::core::Future com o respetivo objeto de saída [SWS_CM_00191], [SWS_CM_99556]. Para métodos fire-and-forget sem resposta de retorno, o skeleton disponibiliza operações puramente virtuais com o tipo de retorno void [SWS_CM_90434]. Em caso de pedidos recebidos, o middleware de comunicação desserializa os dados úteis e encaminha a chamada para a implementação concreta da classe skeleton de acordo com o modo de processamento configurado ([SWS_CM_10306], [SWS_CM_00191]).

Chamada de um método de serviço no SkeletonKommunikations-BindingServiceSkeletonDienstanbieter-ImplementierungEingehende Anfragenachricht (SOME/IP)Nutzdaten deserialisierenvirtual <Method>(inArgs)Executar lógica de negócioara::core::Future<<Method>Output>Antwortnachricht bereitstellen

Diagrama de sequência: fluxo de uma chamada de método através do skeleton. Fontes: [SWS_CM_00191], [SWS_CM_10306], SWS CommunicationManagement §8.1 «Method invocation».

Cenários de erro

Tanto os métodos request-response como os métodos fire-and-forget estão anotados com noexcept ao nível da interface e declarados como seguros contra exceções ([SWS_CM_00191], [SWS_CM_90434]). Erros no processamento de chamadas de métodos regulares não são transmitidos através de exceções C++; em vez disso, o ara::core::Future retornado transporta, em caso de erro, um código de erro correspondente do tipo ara::com::ComErrc ou um ApApplicationError [SWS_CM_00191]. Para métodos fire-and-forget, não estão previstos, segundo a especificação, valores de retorno nem códigos de erro padronizados [SWS_CM_90434].

Este guia foi gerado por um assistente de IA com base na especificação AUTOSAR.

Diagrama de classes 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> função

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> função

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;

Documentação dos métodos

função <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)

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 93c9c81c8712 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função de API [SWS_CM_90434] define a interface puramente virtual de um método fire-and-forget no lado do servidor. Ela é parte integrante da classe de skeleton gerada {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{<service-interface-name>}Skeleton e é disponibilizada por meio do arquivo de cabeçalho {<si-namespace-derived-directory-path-lower>}/{<si-shortname-lower>}_skeleton.h (AUTOSAR_AP_SWS_CommunicationManagement §8.4.5.2.4.1 «{<fnfmethod-name>}»). A função é gerada assim que o atributo ClientServerOperation.fireAndForget == TRUE estiver configurado no modelo de projeto para uma ClientServerOperation.

Para a implementação e o comportamento em tempo de execução, aplicam-se os seguintes aspectos essenciais:

  • Semântica de chamada e parâmetros: O método recebe parâmetros de entrada de modo análogo a métodos regulares conforme [SWS_CM_00191]. Por se tratar de uma comunicação puramente unidirecional, a assinatura possui o tipo de retorno void. Não são transmitidos parâmetros de saída nem valores de retorno ao cliente chamador.
  • Tratamento de erros e segurança contra exceções: A operação é declarada como noexcept=0 e, portanto, especificada como estritamente segura contra exceções (exception safe) ([SWS_CM_90434]). Não existem códigos de erro específicos da aplicação nem outros canais de feedback; a implementação do serviço não deve permitir que exceções C++ escapem do método.
  • Contexto de execução e concorrência: Caso o skeleton seja operado no modo ara::com::MethodCallProcessingMode == kPoll, o processamento de chamadas pendentes de [SWS_CM_90434] ocorre de forma determinística no contexto de thread da chamada de ProcessNextMethodCall() (AUTOSAR_AP_SWS_CommunicationManagement p. 410). Fora do modo de polling, presume-se que a execução ocorra concorrentemente em uma thread de trabalho interna do middleware de comunicação. Pergunta Q-08f014e191f9aab0 (aberta)

Esta nota de utilização foi gerada automaticamente com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#7660b1e9
Content hash
7660b1e9
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

função <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)

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: fe8609b23651 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função puramente virtual <Method> destina-se à disponibilização do lado do fornecedor de um método dentro de uma classe Skeleton para operações cliente-servidor sem semântica fire-and-forget [SWS_CM_00191]. Os programadores de aplicações implementam esta interface na classe skeleton derivada da interface de serviço para receber chamadas recebidas. Como parâmetros de entrada, são transmitidos todos os argumentos modelados cuja direção está definida como in ou inout [SWS_CM_00191].

A execução ocorre de forma assíncrona através do tipo de retorno ara::core::Future, o qual, em caso de sucesso, contém o objeto Output tipificado com os valores de resultado [SWS_CM_00191], [SWS_CM_99556]. O método está especificado como noexcept e seguro quanto a exceções; códigos de erro síncronos normalizados não estão estipulados [SWS_CM_00191]. Se ocorrer um erro durante o processamento, a implementação disponibiliza-o de forma assíncrona através do ara::core::Future, quer como código de erro do tipo ara::com::ComErrc quer como ApApplicationError específico do modelo [SWS_CM_00191].

O contexto de chamada e o comportamento de simultaneidade dependem do modo de processamento ara::com::MethodCallProcessingMode transmitido ao construtor de ServiceSkeleton aquando da instanciação [SWS_CM_00130]:

  • Se tiver sido configurado kEvent ou kEventSingleThread, o método é chamado de forma orientada a eventos pelo middleware assim que uma mensagem de pedido SOME/IP correspondente tiver sido recebida e desserializada [SWS_CM_10306].
  • No modo kPoll, por outro lado, a chamada ocorre de forma sincronizada na thread da aplicação de serviço quando esta executa explicitamente ProcessNextMethodCall() na instância do skeleton [SWS_CM_10307], [SWS_CM_00199].

Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação da AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#cab36989
Content hash
cab36989
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