DEENESPTFRRUARHIKOZHNL

classe <SI-Namespace>::skeleton:: events::<Event>

Guide utilisateurGÉNÉRÉ PAR IA

Permet aux fournisseurs de services d’envoyer des événements côté serveur aux applications abonnées.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 61a657b4f5c6 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet aux fournisseurs de services d’envoyer des événements côté serveur aux applications abonnées.

La classe <SI-Namespace>::skeleton::events::<Event> sert aux fournisseurs de services sur l’AUTOSAR Adaptive Platform pour publier des données d’événement auprès des applications abonnées. Les événements peuvent être envoyés efficacement sans copie, soit par copie, soit via des tampons préalablement alloués par Allocate() ([SWS_CM_90438]). L’appel d’envoi via Send() exige impérativement que l’instance de service correspondante ait été préalablement proposée avec succès et que l’intervalle d’envoi minimal configuré soit respecté ([SWS_CM_00162]).

Contexte

La classe <SI-Namespace>::skeleton::events::<Event> représente l’interface côté serveur pour la publication des événements d’un service au sein de l’AUTOSAR Adaptive Platform. Elle permet à une application de service (skeleton) de transmettre de manière asynchrone des données d’événement actualisées du type SampleType ([SWS_CM_11400]) à toutes les applications clientes abonnées ([SWS_CM_00162]). Le skeleton interagit directement avec la couche de communication (Communication Management), qui prend en charge la découverte des instances de service et la distribution physique des données d’événement. En plus de l’envoi de données, l’instance d’événement surveille l’état d’abonnement actuel et communique les modifications apportées à l’ensemble des abonnés au fournisseur de services ([SWS_CM_12008], [SWS_CM_12011]).

EventKontext Application Anwendungs-Skeleton Event <SI-Namespace>::skeleton::events::<Event> Application->Event Send() / Allocate() Event->Application SubscriptionState ComMgt Communication Management Event->ComMgt Datenweitergabe ComMgt->Event Abonnement-Zustand Subscribers Abonnierende Anwendungen ComMgt->Subscribers Event-Verteilung

Diagramme de contexte : interaction de la classe Event avec le fournisseur de services, Communication Management et les abonnés. Sources : [SWS_CM_00162], [SWS_CM_90437], [SWS_CM_12011]

Cycle de vie

L’instanciation de la classe Event s’effectue conjointement avec l’instance de service skeleton de niveau supérieur. Vraisemblablement, la durée de vie de l’instance d’événement est étroitement liée à la durée de vie du skeleton, de sorte qu’un objet d’événement ne devient utilisable qu’après la construction du service et prend fin avec la destruction de celui-ci. Question Q-4e733f93c853a3eb (ouverte) Avant toute transmission active de données, le service doit avoir été proposé, car les tentatives de transmission antérieures à l’offre de service échouent ([SWS_CM_00162]).

Pendant la phase d'exploitation, l'instance reflète l'état des connexions d'abonnés. GetSubscriptionState() permet d'interroger le statut actuel ([SWS_CM_12011]). Pour réagir de manière asynchrone aux changements d'état, l'application enregistre un callback correspondant au moyen de SetSubscriptionStateChangeHandler() ([SWS_CM_12008]), couplé de manière optionnelle à un contexte d'exécution spécifique via un objet Executor ([SWS_CM_12009]). Lors de l'arrêt ou de la réorientation du service, ce gestionnaire peut être désenregistré via UnsetSubscriptionStateChangeHandler() ([SWS_CM_12010]). Toutes les interrogations de statut et méthodes de gestionnaire sont déclarées comme noexcept et garantissent la sécurité vis-à-vis des exceptions ([SWS_CM_12008], [SWS_CM_12011]).

Parcours d'utilisation

Pour la publication de données d'événement, l'application de service dispose de deux modes de transmission principaux : la transmission basée sur la copie et le procédé « zero-copy » via de la mémoire gérée (EXP ara::com API p. 10).

Dans le chemin d'utilisation nominal, le fournisseur de service enregistre d'abord, en cas de besoin, un callback pour les modifications d'abonnement ([SWS_CM_12008]). Dès que des abonnés sont présents, l'application génère des données locales et les transmet par valeur à Send() ([SWS_CM_00162]), le Communication Management créant une copie des données et la relayant à tous les abonnés (EXP ara::com API p. 10).

En alternative, pour éviter les surcoûts liés à la copie, l'application demande directement à la couche de communication un tampon de mémoire sous la forme d'un Allocate() via ara::com::SampleAllocateePtr<SampleType> ([SWS_CM_90438], EXP ara::com API p. 10). Après le remplissage du tampon, celui-ci est transmis via la surcharge spécialisée de Send() ([SWS_CM_90437]). Interprétation : lors de l'envoi, le droit de propriété sur la mémoire devrait être intégralement transféré au Communication Management, car tout accès ultérieur aux données après l'appel est expressément interdit à l'application ([SWS_CM_90437]). Question Q-86aba8c6f9bf42e9 (ouverte)

Déroulement de la transmission d'événements sur le skeletonAnwendung (Skeleton)Event-ObjektCommunication ManagementUse Case: Handler-RegistrierungSetSubscriptionStateChangeHandler(handler)Abonnement-Handler registrierenUse Case: Variante 1 : transmission zero-copy avec AllocateAllocate()Speicherpuffer reservierenSampleAllocateePtrSampleAllocateePtrPufferdaten schreibenSend(ptr)Transmettre les données aux abonnésResult<void>Result<void>Use Case: Variante 2 : transmission basée sur la copieSend(data)Créer une copie et la transmettreResult<void>Result<void>

Diagramme de séquence : déroulement typique de la transmission d'événements incluant l'enregistrement du gestionnaire et l'allocation. Sources : [SWS_CM_12008], [SWS_CM_90438], [SWS_CM_90437], [SWS_CM_00162]

Scénarios d'erreur

Les appels de Send() renvoient un ara::core::Result<void> qui contient, en cas d'erreur, un code d'erreur correspondant du type ara::com::ComErrc ([SWS_CM_00162], [SWS_CM_90437]). Parmi les cas d'erreur définis figurent :

  • ComErrc::kServiceNotOffered : le service n'a pas encore été mis à disposition via OfferService() avant la tentative d'envoi ([SWS_CM_00162], [SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError : l'intervalle d'émission minimal configuré pour l'événement (minimumSendInterval) n'a pas été respecté, car les appels d'émission ont été émis à une cadence trop rapide ([SWS_CM_00162], [SWS_CM_90437]).

De plus, des préconditions doivent être respectées lors de l'allocation et de la configuration du gestionnaire :

  • Allocate() n'est pas sûr vis-à-vis des exceptions (not exception safe) et conduit, en cas de ressources mémoire insuffisantes, à un SampleAllocationViolation ou, en cas d'utilisation non autorisée d'allocateurs définis par l'utilisateur, à un AllocateUsageViolation ([SWS_CM_90438]).
  • SetSubscriptionStateChangeHandler() requiert un objet fonction appelable valide ; si un gestionnaire nul ou inexistant est transmis, cela se traduit par une InvalidHandlerViolation ([SWS_CM_12008], [SWS_CM_12009]).

Ce guide est basé sur la spécification AUTOSAR Adaptive Platform R25-11.

Carte des membres

Diagramme de classes

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

G n_SI_Namespace___skeleton___events___Event_831 <Event> + Allocate() + Send() + GetSubscriptionState() + SetSubscriptionStateChangeHandler() + UnsetSubscriptionStateChangeHandler()

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

Allocate fonction

Allocating data for event transfer when Communication Management is responsible for the data.

Query ara::com::SubscriptionState of an event.

ara::com::SubscriptionState GetSubscriptionState () const noexcept;
Send fonction 2

Send event where the application is responsible for the data. The Communication Management creates a copy of the data to send and sends it to all subscribing applications.

Surcharges Send 2
ara::core::Result< void > Send (<SSampleDerivedType> data) noexcept; SWS_CM_00162
ara::core::Result< void > Send (ara::com::SampleAllocateePtr< Sample Type > data) noexcept; SWS_CM_90437

Set/Register ara::com::SubscriptionState change handler

Surcharges SetSubscriptionStateChangeHandler 2
void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler) noexcept; SWS_CM_12008
template <typename ExecutorT> void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler, ExecutorT &&executor) noexcept; SWS_CM_12009

Unset/Deregister the ara::com::SubscriptionState change handler

void UnsetSubscriptionStateChangeHandler () noexcept;

Alias de type

SampleType alias de type

Data type for the value of an event sample (the CppImplementationDataType of the Event, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via the indirection of a DataTypeMap)

using SampleType = <SSampleCppidt>;

Documentation des méthodes

fonction Allocate [SWS_CM_90438] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00115, RS_AP_00120

ara::com::SampleAllocateePtr< SampleType > Allocate ();

Allocating data for event transfer when Communication Management is responsible for the data.

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

La méthode Allocate est appelée au niveau du skeleton pour un événement ([SWS_CM_90438] ; AUTOSAR_AP_EXP_ARAComAPI §5.4.1 « Skeleton Class API’s ») afin d'allouer de la mémoire pour le transfert de données d'événement lorsque Communication Management (ara::com) est responsable de la gestion des données ([SWS_CM_90438]). Elle renvoie une instance de type ara::com::SampleAllocateePtr<SampleType> ([SWS_CM_90438]). Ce type de pointeur se comporte conceptuellement comme un std::unique_ptr<T>, de sorte qu'une seule partie est propriétaire du pointeur à tout instant (ARAComAPI §6 « Event Allocate/Send sample Binding implementer hint »).

Concernant le traitement des erreurs et la sécurité vis-à-vis des exceptions, Allocate est spécifié comme not exception safe ([SWS_CM_90438]). La spécification définit deux violations possibles (Violations) :

  • SampleAllocationViolation : Les ressources mémoire disponibles sont insuffisantes pour allouer les données ([SWS_CM_90438]).
  • AllocateUsageViolation : L'allocation a été effectuée de manière non autorisée via un allocateur personnalisé ([SWS_CM_90438]).

Le concept sous-jacent à Allocate vise principalement à prendre en charge les mécanismes de « zero-copy », en particulier lors d'un transport IPC basé sur la mémoire partagée, une synchronisation stricte entre lecteurs et rédacteurs étant alors requise (ARAComAPI §6 « Event Allocate/Send sample Binding implementer hint »). Les concepteurs d'implémentation doivent veiller à ce que les exigences de sérialisation puissent anéantir le « zero-copy » si les types de données ne sont pas configurés comme étant binaires-compatibles dans le déploiement ou si une logique de détection l'exclut (ARAComAPI §6 « Event Allocate/Send sample Binding implementer hint »).

En interaction avec l'envoi d'événements, le pointeur de mémoire obtenu via Allocate est transmis à Send(ara::com::SampleAllocateePtr<SampleType> data) ([SWS_CM_90437]). Après l'appel de Send, l'application de service ne doit plus accéder aux données dès que Communication Management transmet les données à toutes les applications abonnées ([SWS_CM_90437]).

Ce texte a été généré par une IA et se base exclusivement sur les documents de spécification de la version AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitnot exception safe
Verletzungen (Violations)SampleAllocation- Not enough memory resources can be allocated Violation AllocateUsageVio- The allocation was illegally done via custom allocator lation

Rückgabewert

TypBeschreibung
ara::com::SampleA ara::com::SampleAllocateePtr to an event sample AllocateePtr< Sample Type >

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

Record
AUTOSAR/AP/record/SWS_CM_90438
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90438@rel:R25-11#de73bd48
Content hash
de73bd48
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90438
Status: valid/unmigrated Version: rel:R25-11#3059e6d8 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_90438@rel:R25-11#3059e6d8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b02a325f2026-09-30
  • R19-11rel:R19-11#b404edd72026-10-14
  • R20-11rel:R20-11#8f3783f62026-10-14
  • R21-11rel:R21-11#a234befb2026-10-14
  • R22-11rel:R22-11#340e44dd2026-10-14
  • R23-11rel:R23-11#340e44dd2026-10-14
  • R24-11rel:R24-11#2e4120f42026-10-14
  • R25-11rel:R25-11#3059e6d82026-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 GetSubscriptionState [SWS_CM_12011]

ara::com::SubscriptionState GetSubscriptionState () const noexcept;

Query ara::com::SubscriptionState of an event.

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
ara::com::SubscriptionStateThe state of the subscription (as per [SWS_CM_12008]).

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

Record
AUTOSAR/AP/record/SWS_CM_12011
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12011@rel:R25-11#6b9c826f
Content hash
6b9c826f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12011
Status: valid/unmigrated Version: rel:R25-11#dec03137 Versionshistorie & Revisions (1 transition, 4 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_12011@rel:R25-11#dec03137
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#83254be02026-09-30
  • R23-11rel:R23-11#ca04b0b12026-10-14
  • R24-11rel:R24-11#504de02a2026-10-14
  • R25-11rel:R25-11#dec031372026-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 Send [SWS_CM_00162] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00121

ara::core::Result< void > Send (<SSampleDerivedType> data) noexcept;

Send event where the application is responsible for the data. The Communication Management creates a copy of the data to send and sends it to all subscribing applications.

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

La fonction [SWS_CM_00162] sert, côté fournisseur de service au sein de <SI-Namespace>::skeleton::events::<Event>, à transmettre des données d'événement à toutes les applications abonnées. Avec cette variante, la responsabilité de l'allocation des données incombe entièrement à l'application cliente. L'objet de données est transmis via le paramètre data, à la suite de quoi l'implémentation de liaison confectionne une copie interne pendant l'appel (ARAComAPI, Figure 6.17 « BrakeEvent Class »). Après le retour de l'appel de méthode synchrone, l'application peut immédiatement modifier ou libérer la zone de mémoire d'origine.

La méthode est déclarée avec noexcept et spécifiée comme sûre vis-à-vis des exceptions. Elle renvoie un ara::core::Result<void> qui contient void en cas de succès et signale des codes d'erreur issus de [SWS_CM_10432] en cas d'erreur ([SWS_CM_00162]) :

  • ComErrc::kServiceNotOffered : survient lorsque l'instance de service n'a pas encore été mise à disposition via OfferService().
  • ComErrc::kMinimumSendIntervalViolationError : survient lorsque la demande d'envoi a été émise plus rapidement que l'intervalle d'envoi minimal configuré (ServiceInterfaceDeploymentElement.minimumSendInterval).

Contrairement à l'alternative zero-copy [SWS_CM_90437], qui requiert des pointeurs de type ara::com::SampleAllocateePtr obtenus via Allocate(), cet appel n'exige aucune liaison de mémoire au framework. Le même comportement de transmission et les mêmes conditions d'erreur s'appliquent également à la méthode de mise à jour Update des champs, conformément à [SWS_CM_00119].

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

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
dataThe data to send out to the subscribed applications.

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc

Fehler

FehlercodeBeschreibung
ComErrc::kServiceNotOfferedrollback_semantics Service has not yet been offered via OfferService()
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

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

Record
AUTOSAR/AP/record/SWS_CM_00162
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00162@rel:R25-11#f8c9147a
Content hash
f8c9147a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00162
Status: valid/unmigrated Version: rel:R25-11#ba1342ed 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_00162@rel:R25-11#ba1342ed
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#862d13312026-09-30
  • R19-11rel:R19-11#13bfaa4c2026-10-14
  • R20-11rel:R20-11#1f8e5ce62026-10-14
  • R21-11rel:R21-11#dda704792026-10-14
  • R22-11rel:R22-11#d72ec9682026-10-14
  • R23-11rel:R23-11#eda889842026-10-14
  • R24-11rel:R24-11#ec951a632026-10-14
  • R25-11rel:R25-11#ba1342ed2026-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 Send [SWS_CM_90437] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00121

ara::core::Result< void > Send (ara::com::SampleAllocateePtr< Sample Type > data) noexcept;

Send event where Communication Management is responsible for the data. The data is allocated using Allocate(). The application is not allowed to access the data after Communication Management sends it to all subscribing applications.

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

Utilisation et contexte d'appel

La méthode Send est appelée sur une instance d'événement dans le squelette de service (<SI-Namespace>::skeleton::events::<Event>) ([SWS_CM_90437]). Elle transmet des données d'événement dont la gestion de la mémoire relève du Communication Management. Le paramètre data de type ara::com::SampleAllocateePtr<SampleType> doit avoir été obtenu au préalable via Allocate() ([SWS_CM_90437]). Ce type de pointeur se comporte sémantiquement comme un std::unique_ptr, ce qui transfère la propriété des données à la couche de communication lors de l'appel (ARAComAPI §6.17 « BrakeEvent Class »). Après le transfert, tout accès ultérieur aux données est interdit à l'application émettrice ([SWS_CM_90437]).

Gestion des erreurs et conditions limites

La fonction est déclarée comme noexcept et renvoie un ara::core::Result<void> ([SWS_CM_90437]). Si l'envoi échoue, le résultat contient un code d'erreur issu de ara::com::ComErrc ([SWS_CM_10432]) :

  • ComErrc::kServiceNotOffered : le service correspondant n'a pas encore été mis à disposition au préalable avec OfferService() ([SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError : l'intervalle minimal d'envoi (minimumSendInterval) configuré pour l'élément de service n'est pas encore écoulé depuis la dernière transmission ([SWS_CM_90437]).

Les deux cas d'erreur possèdent une sémantique de retour arrière ([SWS_CM_90437]). Avant l'appel, le service doit donc impérativement avoir été proposé, et les appels d'envoi successifs doivent respecter l'intervalle minimal configuré.

Interaction et optimisation

Par rapport à la signature [SWS_CM_00162], dans laquelle des données gérées par l'application sont transmises et copiées par le Communication Management, cette variante vise une communication sans copie via mémoire partagée (ARAComAPI §6.18 « Event Allocate/Send sample »). Une synchronisation stricte entre rédacteurs et lecteurs est alors requise, tout en devant prendre en compte d'éventuelles exigences de sérialisation entre les partenaires de communication (ARAComAPI §6.18 « Event Allocate/Send sample »).

Remarque : cette note d'utilisation a été générée automatiquement sur la base de l'état des spécifications R25-11.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
datathe data to send.

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc

Fehler

FehlercodeBeschreibung
ComErrc::kServiceNotOfferedrollback_semantics Service has not yet been offered via OfferService()
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

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

Record
AUTOSAR/AP/record/SWS_CM_90437
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90437@rel:R25-11#7da02a46
Content hash
7da02a46
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90437
Status: valid/unmigrated Version: rel:R25-11#b7d5aba8 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_90437@rel:R25-11#b7d5aba8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#396a1de42026-09-30
  • R19-11rel:R19-11#943893002026-10-14
  • R20-11rel:R20-11#a05235692026-10-14
  • R21-11rel:R21-11#928b87cd2026-10-14
  • R22-11rel:R22-11#7fc4ccbc2026-10-14
  • R23-11rel:R23-11#7b2bb5e12026-10-14
  • R24-11rel:R24-11#0010eeba2026-10-14
  • R25-11rel:R25-11#b7d5aba82026-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 SetSubscriptionStateChangeHandler [SWS_CM_12008]

void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler) noexcept;

Set/Register ara::com::SubscriptionState change handler

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

Utilisation

La fonction SetSubscriptionStateChangeHandler enregistre dans le scope du skeleton (skeleton::events) un gestionnaire de rappel pour surveiller l'état de souscription d'un événement [SWS_CM_12008]. Le paramètre handler doit être un objet appelable de type SubscriptionStateChangeHandler conformément à [SWS_CM_00311]. La méthode ne renvoie aucune valeur de retour et est spécifiée comme noexcept [SWS_CM_12008].

Le Communication Management appelle le gestionnaire enregistré dès que l'état de souscription de l'événement change [SWS_CM_12012]. Côté skeleton, cela se produit avec l'état kSubscribed dès que le nombre de souscriptions actives devient supérieur à zéro [SWS_CM_12013], ou avec kNotSubscribed lorsqu'il n'y a plus de souscriptions actives [SWS_CM_12014] SWS CommunicationManagement §7.5.4 « Query Service Event Subscription State on Skeleton side ».

Gestion des erreurs et concurrence

L'opération est classée comme exception safe [SWS_CM_12008]. Si le callable transmis est invalide ou nul, il s'agit d'une InvalidHandlerViolation [SWS_CM_12008]. Interprétation : Comme la fonction ne lève aucune exception et ne renvoie aucun code d'erreur, cette violation de spécification devrait être interceptée via des mécanismes d'exécution spécifiques à la plateforme. Question Q-a7b7b54f0d538b40 (ouverte)

Le gestionnaire peut être écrasé au moment de l'exécution [SWS_CM_12012]. Pour l'exécution dans un contexte dédié de thread ou de tâche, il existe la surcharge avec le paramètre de modèle executor [SWS_CM_12009]. Un enregistrement analogue pour les éléments déclencheurs du skeleton est défini par [SWS_CM_01110].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Parameter (in)

ParameterBeschreibung
handlerThe handler (as per [SWS_CM_00311]) that shall be called by Communication Management as soon as the ara::com:: SubscriptionState of the event has changed.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12008
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12008@rel:R25-11#3ecca923
Content hash
3ecca923
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12008
Status: valid/unmigrated Version: rel:R25-11#e64cfb4e Versionshistorie & Revisions (1 transition, 4 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_12008@rel:R25-11#e64cfb4e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5a03f4292026-09-30
  • R23-11rel:R23-11#d6b69d732026-10-14
  • R24-11rel:R24-11#a914158e2026-10-14
  • R25-11rel:R25-11#e64cfb4e2026-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 SetSubscriptionStateChangeHandler [SWS_CM_12009]

template <typename ExecutorT> void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler, ExecutorT &&executor) noexcept;

As per [SWS_CM_12008] but the method shall execute in a provided context

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

La fonction de modèle SetSubscriptionStateChangeHandler sert, au niveau du skeleton ([SWS_CM_12009]) dans l'espace de noms d'un événement, à enregistrer un rappel pour les changements d'état des abonnements entrants. Par rapport à la fonction de base sans exécuteur ([SWS_CM_12008]), elle accepte en plus un contexte d'exécution (executor) dans lequel le gestionnaire enregistré est exécuté ([SWS_CM_12009]). La fonction ne possède pas de valeur de retour, est déclarée comme noexcept et est considérée comme sûre face aux exceptions ([SWS_CM_12009]).

Concernant le comportement d'erreur, la transmission d'un appelable invalide ou de valeur nulle entraîne une InvalidHandlerViolation ([SWS_CM_12009]). Le gestionnaire enregistré peut à tout moment être écrasé lors de l'exécution de l'application par un nouvel appel ([SWS_CM_12012]).

Le Communication Management appelle le gestionnaire dès que l'état des abonnements pour l'événement respectif change (SWS CommunicationManagement §7.5.4 « Query Service Event Subscription State on Skeleton side », [SWS_CM_12012]) :

  • L'appel s'effectue avec l'état kSubscribed lorsque le nombre d'abonnements actifs passe de zéro à plus de zéro ([SWS_CM_12013]).
  • Si le nombre d'abonnés actifs redescend à zéro, le gestionnaire est notifié avec kNotSubscribed ([SWS_CM_12014]).

Interprétation : par la transmission de executor, l'exécution du gestionnaire devrait être liée de manière ciblée à des contextes de threads ou de dispatching propres à l'application ([SWS_CM_12009]), afin de séparer proprement la notification concurrente du code de skeleton des threads de communication internes. Question Q-b11f3bc97069f2ec (ouverte)

Ce texte a été créé par une IA et est basé sur les spécifications de la version R25-11.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Template-Parameter

ParameterBeschreibung
ExecutorTAs per [SWS_CM_11360]

Parameter (in)

ParameterBeschreibung
handlerAs per [SWS_CM_12008]
executorAs per [SWS_CM_11360]

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12009
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12009@rel:R25-11#ea0142df
Content hash
ea0142df
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12009
Status: valid/unmigrated Version: rel:R25-11#2c78e37d Versionshistorie & Revisions (1 transition, 4 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_12009@rel:R25-11#2c78e37d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#9ab0c0f92026-09-30
  • R23-11rel:R23-11#35fb91a02026-10-14
  • R24-11rel:R24-11#7040342f2026-10-14
  • R25-11rel:R25-11#2c78e37d2026-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 UnsetSubscriptionStateChangeHandler [SWS_CM_12010]

void UnsetSubscriptionStateChangeHandler () noexcept;

Unset/Deregister the ara::com::SubscriptionState change handler

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

Au niveau squelette dans l'espace de noms ::skeleton::events::{<event-name>}, la fonction UnsetSubscriptionStateChangeHandler sert à désenregistrer un gestionnaire de changement d'état préalablement enregistré pour le ara::com::SubscriptionState d'un événement [SWS_CM_12010]. La fonction ne prend aucun paramètre d'entrée et ne renvoie aucune valeur de retour (void) [SWS_CM_12010]. L'inclusion s'effectue via l'en-tête #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h" [SWS_CM_12010].

En ce qui concerne le comportement face aux exceptions, la méthode est déclarée avec noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CM_12010]. Aucun code d'erreur spécifique n'est renvoyé ni aucune exception C++ levée [SWS_CM_12010]. Interprétation : d'éventuels états d'erreur internes lors du désenregistrement devraient être interceptés en interne par la gestion de la communication, étant donné que la signature ne prévoit aucun retour d'erreur. Question Q-7e986a15e552ca19 (ouverte)

En interaction avec des interfaces apparentées, il existe des fonctions analogues pour le désenregistrement de gestionnaires :

Ce texte a été généré par une IA et se base sur l'état des spécifications AUTOSAR Adaptive Release R25-11.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12010
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12010@rel:R25-11#ab8e51db
Content hash
ab8e51db
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12010
Status: valid/unmigrated Version: rel:R25-11#05477f97 Versionshistorie & Revisions (1 transition, 4 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_12010@rel:R25-11#05477f97
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e1b9df132026-09-30
  • R23-11rel:R23-11#0217aa9b2026-10-14
  • R24-11rel:R24-11#1066f1922026-10-14
  • R25-11rel:R25-11#05477f972026-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

Documentation des alias de type

alias de type SampleType [SWS_CM_11400] Upstream: RS_CM_00201, RS_AP_00114

using SampleType = <SSampleCppidt>;

Data type for the value of an event sample (the CppImplementationDataType of the Event, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via the indirection of a DataTypeMap)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
SymbolSampleType

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

Record
AUTOSAR/AP/record/SWS_CM_11400
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11400@rel:R25-11#95aa3ecd
Content hash
95aa3ecd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11400
Status: valid/unmigrated Version: rel:R25-11#6376c0a1 Versionshistorie & Revisions (1 transition, 5 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_11400@rel:R25-11#6376c0a1
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#6078d79a2026-09-30
  • R22-11rel:R22-11#9e7787d62026-10-14
  • R23-11rel:R23-11#9e7787d62026-10-14
  • R24-11rel:R24-11#b98c990b2026-10-14
  • R25-11rel:R25-11#6376c0a12026-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