Sert à la mise à disposition côté serveur d'un service et au traitement des appels de méthode entrants.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9f566e4418f7ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert à la mise à disposition côté serveur d'un service et au traitement des appels de méthode entrants.
La classe <SI-Namespace>::skeleton::<SI>Skeleton sert de base côté serveur pour la mise à disposition d'un service dans l'AUTOSAR Adaptive Platform et rattache les événements, les champs ainsi que les méthodes au middleware. Après l'instanciation avec un identifiant d'instance, le service est rendu disponible pour les consommateurs sur le réseau via OfferService() et peut être retiré avec StopOfferService()[SWS_CM_00101], [SWS_CM_00111]. Selon le mode de traitement configuré, les appels de méthode entrants sont soit traités de manière événementielle, soit doivent être déclenchés activement par l'application via scrutation (polling). Comme les opérations de copie sont supprimées, la propriété de l'instance reste strictement au sein de l'application de service créatrice.
Contexte
La classe modèle <SI-Namespace>::skeleton::<SI>Skeleton constitue le point de terminaison côté serveur pour la mise à disposition d'une Service Interface sur l'AUTOSAR Adaptive Platform. En tant que passerelle entre la logique applicative et la couche de communication, le squelette encapsule la liaison spécifique au middleware et fournit des éléments d'interface typés. Pour ce faire, la classe déclare des variables membres pour les événements via events::<Event>[SWS_CM_99557], pour les champs via fields::<Field>[SWS_CM_99558], pour les déclencheurs via triggers::<Trigger>[SWS_CM_99559] ainsi que pour les paramètres de sortie de méthode via <MethodOutArgType>[SWS_CM_11550]. Interprétation : pour fournir la fonctionnalité de service proprement dite, l'application de service dérive généralement une classe concrète de <SI>Skeleton afin d'implémenter les méthodes d'interface. Question Q-0cd48946e67c75b4 (ouverte)
Cycle de vie
L'instanciation d'un squelette s'effectue en définissant l'attribution d'instance et le mode de traitement pour les appels de méthode (ara::com::MethodCallProcessingMode, par défaut kEvent). Les constructeurs valides acceptent un ara::core::InstanceSpecifier[SWS_CM_00152], un unique ara::com::InstanceIdentifier[SWS_CM_00130] ou un ensemble d'identifiants via un ara::com::InstanceIdentifierContainer[SWS_CM_00153]. La cardinalité du point de terminaison de service étant unique, le constructeur de copie [SWS_CM_00134] et l'opérateur d'assignation par copie [SWS_CM_11548] sont explicitement supprimés (delete). Les ressources peuvent toutefois être transférées via le constructeur de déplacement [SWS_CM_00135] ainsi que l'opérateur d'assignation par déplacement [SWS_CM_11549].
Directement après la construction, l'instance de service est créée localement, mais n'est pas encore visible sur le réseau de communication. La publication pour les consommateurs de service n'a lieu qu'avec l'appel de OfferService()[SWS_CM_00101], EXP_ARAComAPI p. 10. Si le service ne doit plus être proposé, StopOfferService() retire la mise à disposition [SWS_CM_00111], EXP_ARAComAPI p. 10. Le squelette peut ensuite être proposé à nouveau ou détruit via le destructeur virtuel ~<SI>Skeleton()[SWS_CM_11370].
Le déroulement standard pour la mise à disposition d'un service s'articule selon les étapes suivantes :
Configuration et enregistrement de gestionnaires : avant de proposer le service, des gestionnaires spécifiques à l'application peuvent être enregistrés. Via SetTransportFaultConditionHandler(), un gestionnaire d'erreurs de transport est enregistré soit directement [SWS_CM_00093], soit avec un exécuteur dédié pour les tâches asynchrones [SWS_CM_00094] ; il peut être retiré si nécessaire via UnsetTransportFaultConditionHandler()[SWS_CM_00095]. Les traitements d'erreurs de bout en bout (End-to-End) peuvent être surchargés via la méthode virtuelle E2EErrorHandler()[SWS_CM_10470].
Mise à disposition du service : l'application de service appelle OfferService()[SWS_CM_00101]. Un appel réussi renvoie un ara::core::Result<void> vide et active l'instance de service sur le réseau.
Traitement des requêtes entrantes : si le squelette a été instancié dans le mode MethodCallProcessingMode::kPoll, l'application doit exécuter activement les appels clients en attente en appelant ProcessNextMethodCall()[SWS_CM_00199]. L'appel de méthode est exécuté dans le contexte de ce thread ; la valeur de retour signale si d'autres appels sont en attente.
Arrêt du service : avant la destruction de l'instance, l'offre est terminée avec StopOfferService()[SWS_CM_00111].
Diagramme de séquence : séquence d'interaction entre l'application serveur, le squelette de service et la couche de communication pendant le fonctionnement du service. Sources : [SWS_CM_00101], [SWS_CM_00111], [SWS_CM_00199], [SWS_CM_00093]
Scénarios d'erreur
Lors de l'utilisation de la classe squelette, plusieurs scénarios d'erreur et préconditions doivent être pris en compte :
Violations de construction : si l'autorisation échoue par Grant Enforcement, la construction s'interrompt avec InsufficientPermissionsViolation[SWS_CM_00130], [SWS_CM_00152], [SWS_CM_00153]. La transmission d'un mode de traitement non autorisé entraîne une WrongMethodCallProcessingModeViolation. Si un InstanceSpecifier est utilisé, des incohérences de modèle ou des affectations multiples peuvent provoquer les erreurs InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation ou InstanceSpecifierAlreadyInUseViolation[SWS_CM_00152].
Échec de la mise à disposition du service : si OfferService() échoue, un code d'erreur de ara::com::ComErrc est renvoyé [SWS_CM_00101] : ComErrc::kFieldValueNotInitialized (un champ n'a pas été initialisé au préalable via Update()), ComErrc::kFieldSetHandlerNotSet (un gestionnaire d'affectation requis d'un champ est manquant) ou ComErrc::kCommunicationFailure (erreur de connexion ou de sécurité de la liaison réseau).
Violation du mode de traitement : un appel de ProcessNextMethodCall() déclenche une WrongMethodCallProcessingModeViolation si le squelette n'a pas été configuré pour kPoll, mais pour kEvent ou kEventSingleThread[SWS_CM_00199].
Gestionnaires d'erreurs invalides : si un appelable inexistant ou vide est transmis à SetTransportFaultConditionHandler(), cela entraîne une InvalidHandlerViolation[SWS_CM_00093], [SWS_CM_00094].
Erreurs E2E et corruption de données : lors de la réception de messages erronés, E2EErrorHandler() est appelé avec un ComE2EErrc correspondant [SWS_CM_10470]. S'il s'agit d'une erreur CRC, l'identifiant DataID peut également être corrompu, de sorte que l'application ne doit pas considérer l'identifiant transmis comme fiable.
Erreur de destruction : s'il reste des échantillons de données en suspens lors de la destruction du squelette, le destructeur s'interrompt avec une DanglingSamplesViolation[SWS_CM_11370].
Ce guide repose exclusivement sur les prescriptions de spécification de l'AUTOSAR Adaptive Platform R25-11.
Implementation may be overridden by the actual ServiceSkeleton implementation and it is not required to be reentrant. If the E2E error is a CRC error then some parts of the received message are faulty. If this part is the DataID then the E2E error handler is called with a faulty DataID. Consequently, in case of CRC error the server application can not rely on the DataID received by its error handler.
Allows the service to trigger the execution of the next service consumer method call at a specific point of time if the ara::com::MethodCallProcessingMode == kPoll The pending service method (see [SWS_CM_00191] or [SWS_CM_90434]) is executed in the context of the call to ProcessNextMethodCall().
Implementation may be overridden by the actual ServiceSkeleton implementation and it is not required to be reentrant. If the E2E error is a CRC error then some parts of the received message are faulty. If this part is the DataID then the E2E error handler is called with a faulty DataID. Consequently, in case of CRC error the server application can not rely on the DataID received by its error handler.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a9ce66768cdfProvenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode OfferService() est appelée sur une instance de la classe skeleton afin de proposer un service fourni dans le système et de le rendre découvrable pour les consommateurs via la Service Discovery [SWS_CM_00101], ARAComAPI §6.5 « Service Discovery ». L'appel s'effectue sans paramètre et de façon synchrone dès que l'implémentation du service a été entièrement instanciée et mise dans un état opérationnel AUTOSAR_AP_EXP_ARAComAPI §5.4.4 « Offering Service instance ». La fonction est déclarée comme noexcept et renvoie un ara::core::Result<void>[SWS_CM_00101].
L'offre est une condition préalable obligatoire pour la communication fonctionnelle via des méthodes, des événements, des champs ou des déclencheurs AUTOSAR_AP_EXP_ARAComAPI §4.2 « Means of Communication ». Si l'on tente par exemple d'envoyer un déclencheur sans offre préalable, cela échoue avec ComErrc::kServiceNotOffered[SWS_CM_00721]. Concernant la concurrence : dès que OfferService() est appelé, les appels de méthode entrants peuvent déjà être remis à l'instance de service – même si l'appel de OfferService() n'est pas encore revenu AUTOSAR_AP_EXP_ARAComAPI §5.4.4 « Offering Service instance ».
Si la mise à disposition échoue, le ara::core::Result renvoyé contient un code d'erreur correspondant issu de ComErrc[SWS_CM_00101], [SWS_CM_10432] :
ComErrc::kFieldValueNotInitialized : au moins une valeur de champ configurée n'a pas encore été initialisée avant la mise à disposition [SWS_CM_00101].
ComErrc::kFieldSetHandlerNotSet : pour un champ prenant en charge un setter, aucun gestionnaire n'a encore été enregistré via RegisterSetHandler()[SWS_CM_00101].
ComErrc::kCommunicationFailure : la liaison réseau signale une erreur de communication récupérable ou l'échec d'une communication sécurisée [SWS_CM_00101].
• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc
Fehler
Fehlercode
Beschreibung
ComErrc::kFieldValueNotInitialized
rollback_semantics Field value has yet not been initialized via Update() (see [SWS_CM_00128]
ComErrc::kFieldSetHandlerNotSet
rollback_semantics Field SetHandler has not been registered via RegisterSet Handler()
ComErrc::kCommunicationFailure
rollback_semantics The network binding reported a recoverable communications error or a secure communication failure
Request a governed re-review of this record. The record is not changed immediately.
Allows the service to trigger the execution of the next service consumer method call at a specific point of time if the ara::com::MethodCallProcessingMode == kPoll The pending service method (see [SWS_CM_00191] or [SWS_CM_90434]) is executed in the context of the call to ProcessNextMethodCall().
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 34fad791a392ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode ProcessNextMethodCall() sert aux fournisseurs de service dans le skeleton à traiter de manière déterministe les appels de méthode entrants en mode polling [SWS_CM_00199]. Elle ne doit être utilisée que si l'instance de skeleton a été configurée avec le mode ara::com::MethodCallProcessingMode::kPollEXP ARAComAPI §2 « Polling ».
Utilisation et sémantique
La fonction ne prend aucun paramètre et exécute une requête d'appel de méthode en attente de façon synchrone dans le contexte de thread de l'appelant [SWS_CM_00199], [SWS_CM_00191]. Cela permet notamment aux applications temps réel de traiter les requêtes de service sans changements de contexte de thread incontrôlés dans les limites de leur budget de temps alloué EXP ARAComAPI §5.4 « ProcessNextMethodCall ». La valeur de retour signale le résultat de la récupération :
true : au moins une requête en attente se trouvait dans la file d'attente et a été traitée [SWS_CM_00199].
La fonction est spécifiée comme noexcept et exception safe [SWS_CM_00199]. Un appel sur un skeleton instancié avec kEvent ou kEventSingleThread constitue une violation (WrongMethodCallProcessingModeViolation) [SWS_CM_00199]. Interprétation : les exceptions C++ standards étant exclues par noexcept, une telle violation devrait être traitée du côté de la plateforme comme une erreur d'exécution grave. Question Q-61661dbd6cc37bc7 (ouverte)
Ce texte a été généré automatiquement. Toutes les indications s'appuient sur la spécification AUTOSAR.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5601f5155355ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction SetTransportFaultConditionHandler sert à enregistrer un rappel de type ara::com::e2e::TransportFaultConditionHandler dans l’espace de noms de la classe Skeleton (<SI-Namespace>::skeleton::<SI>) [SWS_CM_00093]. Les erreurs de transport sont signalées via ce gestionnaire pour toutes les méthodes de l’instance de service correspondante AUTOSAR_AP_SWS_CommunicationManagement §7.4.1 « End-to-end communication protection for SOMEIP ». La fonction prend en charge l’objet appelable handler et ne possède aucune valeur de retour (void) [SWS_CM_00093].
Gestion des erreurs
L’opération est déclarée avec noexcept et est sûre vis-à-vis des exceptions (exception safe) [SWS_CM_00093]. Si l’entité appelable transmise n’existe pas ou vaut null, un InvalidHandlerViolation est déclenché [SWS_CM_00093]. En cas d’erreur, le gestionnaire configuré signale les perturbations de transport survenues, telles que TransportFaultCondition::kSampleRejected, lorsque des requêtes sont rejetées en raison d’un manque de ressources ou d’une corruption dans la couche de transport AUTOSAR_AP_SWS_CommunicationManagement §7.4.2.3 « Methods ».
Concurrence et restrictions
Interpretation : comme cette interface de base ne prend en charge aucun contexte d’exécution, le rappel devrait être appelé de manière synchrone depuis le thread interne de Communication Management. Question Q-e4007fa72de6aa12 (ouverte) Si l’exécution du gestionnaire doit avoir lieu dans un pool de threads ou un worker défini, il convient d’utiliser la surcharge avec ExecutorT&& executor[SWS_CM_00094].
Interaction
L’enregistrement lie le traitement des erreurs de manière centralisée à toutes les méthodes d’une instance de Skeleton [SWS_CM_00093]. Il s’intègre dans le traitement global des erreurs de ara::com :
Tandis que les méthodes du Skeleton signalent les erreurs de transport via ce gestionnaire, les méthodes clientes signalent les défaillances de transport de manière asynchrone via leur ara::core::Future résultant avec ComErrc::kCommunicationFailure[SWS_CM_00090].
Pour les opérations sur les champs (Get/Set) au niveau du Skeleton, il existe des interfaces distinctes [SWS_CM_00096].
Au niveau du Proxy, des fonctions d’enregistrement analogues sont disponibles pour les événements [SWS_CM_00099], les déclencheurs [SWS_CM_00106] ainsi que les notificateurs [SWS_CM_00109].
Cette note d’utilisation a été générée de manière automatisée. Elle s’appuie exclusivement sur les stipulations de la spécification AUTOSAR Adaptive Release R25-11.
Execution Context overload for SetTransportFaultConditionHandler for all methods in a given Skeleton.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9140fdcb385aProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction modèle SetTransportFaultConditionHandler dans l'espace de noms de la classe squelette sert à enregistrer un gestionnaire d'erreurs pour les erreurs de transport de toutes les méthodes d'une instance de service [SWS_CM_00094]. Elle étend la fonction de base sans paramètre [SWS_CM_00093] d'un contexte d'exécution :
Appel et paramètres : sont transmis un callable handler de type ara::com::e2e::TransportFaultConditionHandler ainsi qu'une référence universelle executor[SWS_CM_00094]. Tous les calculs asynchrones et exécutions de callbacks doivent être démarrés dans cet objet executor. La fonction ne possède aucune valeur de retour.
Traitement des erreurs : l'interface est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des exceptions [SWS_CM_00094]. Si le callable transmis n'existe pas ou s'il est nul, il s'agit d'un InvalidHandlerViolation[SWS_CM_00094].
Interaction : le domaine de validité englobe toutes les méthodes du squelette [SWS_CM_00094], tandis que des fonctions d'enregistrement distinctes sont disponibles pour les opérations Get et Set de fields ([SWS_CM_00096], [SWS_CM_00097]). Dans le binding réseau DDS, le gestionnaire configuré signale des erreurs de transport telles que TransportFaultCondition::kSampleRejected[SWS_CM_00216] ; côté client, de telles erreurs sont en revanche signalées via ComErrc::kCommunicationFailure dans les futures de résultat [SWS_CM_00090].
Concurrence : interprétation : la transmission de l'executor découple le traitement des erreurs du contexte interne de la couche de communication ; l'enregistrement devrait probablement s'effectuer précocement lors de l'initialisation du squelette, avant l'arrivée des premiers appels de méthode. Question Q-e56b2a1928cf32ad (ouverte)
Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ee0471348c1bProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Le constructeur [SWS_CM_00130] instancie un squelette de service sur la base d'un ara::com::InstanceIdentifier concret. Le squelette raccorde l'implémentation de service côté application à la couche de transport du Communication Management, afin que les consommateurs de service distribués puissent y accéder (ARAComAPI §5.1 « Proxy Skeleton Pattern »).
Le paramètre mode définit la manière dont les appels de méthode entrants sont traités. Le mode événementiel ara::com::MethodCallProcessingMode::kEvent est prédéfini comme valeur par défaut [SWS_CM_00130]. Si un mode basé sur le polling est choisi à la place, l'exécution des appels de méthode en attente s'effectue de manière synchrone dans le contexte d'appel de ProcessNextMethodCall()[SWS_CM_00199].
Gestion des erreurs et conditions limites
La fonction constructeur est déclarée avec noexcept et ne lève aucune exception C++ [SWS_CM_00130]. D'éventuelles violations sont signalées via le système d'exécution : si la création est refusée par le grant enforcement, il s'agit d'un InsufficientPermissionsViolation ; lors de la transmission d'un mode de traitement invalide, il en résulte un WrongMethodCallProcessingModeViolation[SWS_CM_00130]. Interprétation : la validation du mode de traitement devrait avoir lieu directement pendant l'exécution du constructeur. Question Q-80e02c0079757082 (ouverte)
Les opérations de copie sont explicitement supprimées pour le squelette [SWS_CM_00134], tandis que la construction par déplacement est prise en charge [SWS_CM_00135]. Pour que le service devienne découvrable sur le réseau, OfferService() doit être appelé après l'instanciation [SWS_CM_00101] (ARAComAPI §6.5 « Service Discovery »). Avant la destruction de l'instance [SWS_CM_11370], la mise à disposition peut être interrompue à l'aide de StopOfferService()[SWS_CM_00111].
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9052bf72bafdProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Le constructeur instancie un squelette de service à l'aide d'un identifiant d'instance [SWS_CM_00152]. Il sert à raccorder une implémentation concrète de service à la couche de transport du Communication Management. Sont transmis comme paramètres un ara::core::InstanceSpecifier ainsi que, de manière facultative, le mode de traitement ara::com::MethodCallProcessingMode, qui est préconfiguré par défaut sur kEvent[SWS_CM_00152].
Concernant la gestion des erreurs et le comportement face aux exceptions, le constructeur est déclaré comme noexcept et exception safe [SWS_CM_00152]. En cas de configurations erronées ou d'écarts de modélisation, les violations suivantes sont spécifiées :
InstanceSpecifierMappingIntegrityViolation, si l'identifiant ne peut pas être résolu dans le contexte d'exécution ou ne référence pas un PortPrototype [SWS_CM_00152].
PortInterfaceMappingViolation et ProcessMappingViolation, si le type de mapping et le type d'interface ne correspondent pas [SWS_CM_00152].
InstanceSpecifierAlreadyInUseViolation, si l'InstanceSpecifier est déjà utilisé [SWS_CM_00152].
WrongMethodCallProcessingModeViolation ainsi que InsufficientPermissionsViolation en cas de droits insuffisants [SWS_CM_00152].
Interprétation : le constructeur étant déclaré comme noexcept, les violations spécifiées ne devraient pas être propagées à l'exécution sous la forme d'exceptions C++ levées, mais interceptées par des vérifications côté plateforme ou par le Grant Enforcement. Question Q-f1a1a0baeb56e482 (ouverte)
Pour le cycle de vie et la concurrence, le constructeur de copie est supprimé [SWS_CM_00134], tandis qu'un constructeur de déplacement est mis à disposition [SWS_CM_00135]. La libération s'effectue via le destructeur virtuel [SWS_CM_11370]. Après une construction réussie, le service est typiquement proposé sur le réseau via [SWS_CM_00101] (OfferService). Si le mode de traitement choisi est kPoll, l'application doit traiter explicitement les appels entrants des méthodes de service [SWS_CM_00191] via [SWS_CM_00199] (ProcessNextMethodCall).
Cette note d'utilisation a été générée automatiquement à partir des spécifications AUTOSAR pour R25-11.
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of the executable, or it refers to a model element other than tegrityViolation a PortPrototype. PortInterfaceMap- The type of mapping does not match the expected type of Port pingViolation Interface: ServiceInterface referenced by a ServiceInstanceToPortPrototypeMapping. ProcessMappingVio- The type of mapping does not match the expected type of Port lation Interface
InstanceSpecifier- The constructor was called with an Instance Specifier already AlreadyInUseViola- tion WrongMethodCall- Wrong processing mode passed to constructor ProcessingModeVio- lation InsufficientPer- Refused by Grant Enforcement missionsViolation
Parameter (in)
Parameter
Beschreibung
instanceSpec
The specifier of a specific instance of a service.
mode
Mode (as per [SWS_CM_00301]) for processing incoming service method invocations. Default argument is kEvent.
Request a governed re-review of this record. The record is not changed immediately.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : cadca550210aProvenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
Le constructeur instancie un squelette de service à partir d'un conteneur d'identifiants d'instance (instanceIDs) et relie l'implémentation du service côté serveur à la couche de transport de Communication Management [SWS_CM_00153], ARAComAPI §5.1 « Proxy Skeleton Pattern ». Le paramètre mode définit la manière dont les appels de méthode entrants sont traités ; par défaut, le traitement est événementiel via kEvent[SWS_CM_00153]. Des constructeurs pour des identifiants d'instance individuels [SWS_CM_00130] ou des spécificateurs d'instance [SWS_CM_00152] sont également disponibles.
Gestion des erreurs et concurrence
La fonction est déclarée comme noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CM_00153]. Les violations possibles lors de la création sont WrongMethodCallProcessingModeViolation en cas de transmission d'un mode de traitement non autorisé ainsi que InsufficientPermissionsViolation si le contrôle des autorisations (Grant Enforcement) échoue [SWS_CM_00153].
Si le modèle d'interrogation (kPoll) est configuré pour mode, l'application serveur doit exécuter les appels de méthode en attente de manière synchrone dans son propre contexte de thread en appelant ProcessNextMethodCall()[SWS_CM_00199]. Le constructeur de copie de la classe skeleton est supprimé (delete) [SWS_CM_00134] ; en revanche, les déplacements sont pris en charge via le constructeur de déplacement [SWS_CM_00135].
Interaction
Après une instanciation réussie, le service est mis à disposition des consommateurs distants ou locaux via OfferService()[SWS_CM_00101], ARAComAPI §6.5 « Service Discovery ». Avant de détruire le squelette à l'aide du destructeur [SWS_CM_11370], la mise à disposition doit être terminée via StopOfferService()[SWS_CM_00111]. Les appels de méthode entrants renvoient chacun un ara::core::Future côté serveur [SWS_CM_00191].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5ee7b8c6b839ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Le destructeur virtuel ~<SI>Skeleton()[SWS_CM_11370] met fin au cycle de vie d'une instance de skeleton de service. En tant qu'artefact généré, le skeleton de service relie l'implémentation concrète du service à la couche de transport du Communication Management, afin que les consommateurs de services puissent atteindre les méthodes et fonctionnalités offertes (ARAComAPI §5.1 « Proxy Skeleton Pattern »).
La destruction s'effectue de manière synchrone lors de la déconstruction de la classe d'implémentation dérivée. La méthode ne prend aucun paramètre et ne déclare aucune valeur de retour. Contrairement aux constructeurs du skeleton tels que [SWS_CM_00130] ou [SWS_CM_00152], le destructeur est explicitement classé comme not exception safe dans la spécification [SWS_CM_11370].
En ce qui concerne le traitement des erreurs et les conditions aux limites, il est établi qu'une DanglingSamplesViolation peut survenir en cas de précondition violée [SWS_CM_11370]. Si le service a été préalablement proposé vers l'extérieur au moyen de OfferService()[SWS_CM_00101] (ARAComAPI §6.5 « Service Discovery »), la méthode StopOfferService()[SWS_CM_00111] devrait vraisemblablement devoir être appelée avant l'appel du destructeur afin de clore proprement les relations de communication en cours. Question Q-c430a7f0fc838eba (ouverte)
Pour le skeleton, le constructeur de copie est supprimé [SWS_CM_00134], tandis que les opérations de déplacement sont prises en charge [SWS_CM_00135]. Les opérations de traitement en cours – telles que l'exécution des appels en attente via ProcessNextMethodCall()[SWS_CM_00199] – devraient être terminées avant le début de la destruction.
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f2e7dd4743d8Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La méthode [SWS_CM_00111] met fin à la proposition d'une instance de service par l'application fournisseuse de service dans ara::com. L'appel s'effectue sans paramètre sur l'instance concrète de skeleton dans l'espace de noms <SI-Namespace>::skeleton::<SI> et ne renvoie aucune valeur de retour (EXP_ARAComAPI §5.4.1 « Skeleton Class API’s »).
Les conditions suivantes s'appliquent à l'utilisation et au comportement à l'exécution :
Contexte d'appel et précondition : la méthode est appelée lorsqu'une instance précédemment mise à disposition au moyen de OfferService() ne doit plus être disponible (EXP_ARAComAPI §5.4.4 « Offering Service instance »), par exemple à la suite de changements d'état.
Garantie contractuelle (Contract) : dès que StopOfferService() est retournée, aucun appel de méthode supplémentaire n'est plus transmis à cette instance de service, conformément au contrat (EXP_ARAComAPI §5.4.4 « Offering Service instance »).
Cycle de vie et destructeur : si une instance de service est encore activement proposée lors de l'appel du destructeur de la classe skeleton, le destructeur exécute obligatoirement StopOfferService() en interne (EXP_ARAComAPI §5.4.4 « Offering Service instance »).
La fonction est déclarée comme noexcept et est considérée comme sûre vis-à-vis des exceptions ([SWS_CM_00111]). Elle ne signale d'erreurs ni par le biais d'exceptions, ni par des messages d'erreur ou des codes de retour.
Cette note d'utilisation a été organisée par une IA.
gemini-3.8-flash-low· 2026-10-13 · Original allemand