DEENESPTFRRUARHIKOZHNL

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

Guide utilisateurGÉNÉRÉ PAR IA

Sert de classe de base pour l'implémentation côté serveur et la mise à disposition des méthodes d'une Service-Interface.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3d03b3b797b6 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert de classe de base pour l'implémentation côté serveur et la mise à disposition des méthodes d'une Service-Interface.

La classe sert de classe de base côté serveur pour l'implémentation d'une Service-Interface dans ara::com, dont dérive l'application fournisseuse de services. Lors de la création, le constructeur définit si les appels de méthode entrants sont traités de manière événementielle ou par scrutation (polling) [SWS_CM_00130]. Dans le cas de méthodes déclarées sûres vis-à-vis des exceptions, les exécutions défaillantes sont signalées sous forme de code d'erreur via le ara::core::Future renvoyé [SWS_CM_00191].

Contexte

Dans l'Adaptive Platform, au sein du module com, la classe {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{ <service-interface-name>}Skeleton sert de classe de base abstraite générée pour la mise à disposition côté serveur d'une Service-Interface. Un composant fournisseur de services propre à l'application dérive de cette classe Skeleton afin d'implémenter la logique métier fonctionnelle du service. La classe sert d'intermédiaire entre l'application concrète fournisseuse de services et le middleware de communication ou la liaison de protocole sous-jacente telle que SOME/IP (SWS CommunicationManagement §8.1 « Method invocation »). Parmi les partenaires d'interaction figurent l'application fournisseuse de services qui crée et possède l'instance, la classe Skeleton elle-même ainsi que l'infrastructure de communication qui reçoit, désérialise et transmet les requêtes de service entrantes au Skeleton ([SWS_CM_10306], [SWS_CM_10307]).

Context Provider Dienstanbieter-Implementierung Skeleton ServiceSkeleton Provider->Skeleton erbt von / implementiert Binding Kommunikations-Binding / Middleware Skeleton->Binding fournit Future / résultat Binding->Skeleton leitet Methodenaufrufe weiter

Diagramme de contexte : interaction entre l'application fournisseuse de services, le ServiceSkeleton et le middleware de communication. Sources : [SWS_CM_10306], [SWS_CM_10307], SWS CommunicationManagement §8.1 « Method invocation ».

Cycle de vie

La création de l'instance du Skeleton s'effectue via le constructeur auquel le mode de traitement souhaité ara::com::MethodCallProcessingMode est transmis [SWS_CM_00130]. Ce mode définit la stratégie de concurrence pour les appels de méthode entrants : si kEvent ou kEventSingleThread est configuré, les appels de méthode arrivants sont directement appelés de façon événementielle par le middleware de communication [SWS_CM_10306]. Si kPoll est transmis à la place, le traitement s'effectue par scrutation (polling) par l'application [SWS_CM_10307]. Interprétation : l'instance du Skeleton demeure probablement la propriété de l'application fournisseuse de services pendant toute la mise à disposition active du service et n'est détruite que lors de l'arrêt du service. Question Q-ce25321f79393024 (ouverte)

Parcours d'utilisation

Le déroulement typique comprend l'implémentation des méthodes virtuelles pures par la classe fournisseuse dérivée et l'exécution ultérieure lors de requêtes entrantes. Pour les appels de méthode standard (Request-Response), le Skeleton définit une interface qui renvoie un ara::core::Future avec l'objet de sortie correspondant [SWS_CM_00191], [SWS_CM_99556]. Pour les méthodes Fire-and-Forget sans réponse en retour, le Skeleton met à disposition des opérations virtuelles pures avec le type de retour void [SWS_CM_90434]. Lors de requêtes entrantes, le middleware de communication désérialise les données utiles et transmet l'appel à l'implémentation concrète de la classe Skeleton selon le mode de traitement configuré ([SWS_CM_10306], [SWS_CM_00191]).

Appel d’une méthode de service sur le SkeletonKommunikations-BindingServiceSkeletonDienstanbieter-ImplementierungEingehende Anfragenachricht (SOME/IP)Nutzdaten deserialisierenvirtual <Method>(inArgs)Exécuter la logique métierara::core::Future<<Method>Output>Antwortnachricht bereitstellen

Diagramme de séquence : déroulement d'un appel de méthode via le Skeleton. Sources : [SWS_CM_00191], [SWS_CM_10306], SWS CommunicationManagement §8.1 « Method invocation ».

Scénarios d'erreur

Aussi bien les méthodes Request-Response que les méthodes Fire-and-Forget sont annotées au niveau de l'interface avec noexcept et déclarées comme sûres vis-à-vis des exceptions ([SWS_CM_00191], [SWS_CM_90434]). Les erreurs lors du traitement d'appels de méthode standard ne sont pas transmises via des exceptions C++ ; à la place, le ara::core::Future renvoyé transporte en cas d'erreur un code d'erreur correspondant de type ara::com::ComErrc ou un ApApplicationError [SWS_CM_00191]. Pour les méthodes Fire-and-Forget, conformément aux spécifications, ni valeurs de retour ni codes d'erreur standardisés ne sont prévus [SWS_CM_90434].

Ce guide a été généré par un assistant IA sur la base de la spécification AUTOSAR.

Diagramme 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éthodes

<FnFMethod> fonction

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> fonction

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;

Documentation des méthodes

fonction <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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 93c9c81c8712 Provenance Questions ouvertes (1)
traduit du guide allemandGénéré par l'IAgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction d'API [SWS_CM_90434] définit l'interface purement virtuelle d'une méthode « fire-and-forget » côté serveur. Elle fait partie intégrante de la classe skeleton générée {<hierarchical-namespace-list-lower-skeleton>}::skeleton::{<service-interface-name>}Skeleton et est fournie via le fichier d'en-tête {<si-namespace-derived-directory-path-lower>}/{<si-shortname-lower>}_skeleton.h (AUTOSAR_AP_SWS_CommunicationManagement §8.4.5.2.4.1 « {<fnfmethod-name>} »). La fonction est générée dès que l'attribut ClientServerOperation.fireAndForget == TRUE est configuré dans le modèle de conception pour une ClientServerOperation.

Les aspects essentiels suivants s'appliquent à l'implémentation et au comportement à l'exécution :

  • Sémantique d'appel et paramètres : La méthode accepte des paramètres d'entrée de manière analogue aux méthodes régulières selon [SWS_CM_00191]. S'agissant d'une communication purement unidirectionnelle, la signature possède le type de retour void. Aucun paramètre de sortie ni aucune valeur de retour ne sont transmis au client appelant.
  • Traitement des erreurs et sécurité vis-à-vis des exceptions : L'opération est déclarée comme noexcept=0 et est ainsi spécifiée comme strictement sûre vis-à-vis des exceptions (exception safe) ([SWS_CM_90434]). Il n'existe ni codes d'erreur spécifiques à l'application ni autres canaux de retour ; l'implémentation de service ne doit laisser aucune exception C++ s'échapper de la méthode.
  • Contexte d'exécution et concurrence : Si le skeleton est exploité en mode ara::com::MethodCallProcessingMode == kPoll, le traitement des appels en attente de [SWS_CM_90434] s'effectue de manière déterministe dans le contexte de thread de l'appel de ProcessNextMethodCall() (AUTOSAR_AP_SWS_CommunicationManagement p. 410). En dehors du mode d'interrogation (polling), l'exécution devrait probablement avoir lieu de façon concurrente dans un thread de travail interne du middleware de communication. Question Q-08f014e191f9aab0 (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#056fd09e
Content hash
056fd09e
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

fonction <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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fe8609b23651 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction virtuelle pure <Method> sert à la mise à disposition côté fournisseur d'une méthode au sein d'une classe Skeleton pour des opérations client-serveur sans sémantique « fire-and-forget » [SWS_CM_00191]. Les développeurs d'applications implémentent cette interface dans la classe squelette dérivée de l'interface de service afin de recevoir les appels entrants. Sont transmis comme paramètres d'entrée tous les arguments modélisés dont la direction est définie comme in ou inout [SWS_CM_00191].

L'exécution s'effectue de manière asynchrone via le type de retour ara::core::Future, qui contient en cas de succès l'objet Output typé avec les valeurs de résultat [SWS_CM_00191], [SWS_CM_99556]. La méthode est spécifiée comme noexcept et sûre vis-à-vis des exceptions ; aucun code d'erreur synchrone standardisé n'est imposé [SWS_CM_00191]. Si une erreur survient lors du traitement, l'implémentation la met à disposition de manière asynchrone via le ara::core::Future, soit sous forme de code d'erreur de type ara::com::ComErrc, soit sous forme de ApApplicationError spécifique au modèle [SWS_CM_00191].

Le contexte d'appel et le comportement de concurrence dépendent du mode de traitement ara::com::MethodCallProcessingMode qui est transmis au constructeur de ServiceSkeleton lors de l'instanciation [SWS_CM_00130] :

  • Si kEvent ou kEventSingleThread a été configuré, la méthode est appelée de manière événementielle par le middleware dès qu'un message de requête SOME/IP correspondant a été reçu et désérialisé [SWS_CM_10306].
  • Dans le mode kPoll, l'appel s'effectue en revanche de manière synchronisée dans le thread de l'application de service lorsque celle-ci exécute explicitement ProcessNextMethodCall() sur l'instance de squelette [SWS_CM_10307], [SWS_CM_00199].

Ce texte a été créé par une IA et se base exclusivement sur les données de spécification d'AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#2eb59d7d
Content hash
2eb59d7d
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