DEENESPTFRRUARHIKOZHNL

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

User GuideKI-GENERIERT

Ermöglicht Dienstanbietern das serverseitige Versenden von Ereignissen an abonnierende Anwendungen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 61a657b4f5c6 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht Dienstanbietern das serverseitige Versenden von Ereignissen an abonnierende Anwendungen.

Die Klasse <SI-Namespace>::skeleton::events::<Event> dient Dienstanbietern auf der AUTOSAR Adaptive Platform zur Veröffentlichung von Ereignisdaten an abonnierende Anwendungen. Ereignisse können entweder kopierbasiert oder über vorab per Allocate() allozierte Puffer effizient ohne Kopie versendet werden ([SWS_CM_90438]). Der Sendeaufruf über Send() erfordert zwingend, dass die zugehörige Dienstinstanz zuvor erfolgreich angeboten wurde und das konfigurierte Mindestsendeintervall eingehalten wird ([SWS_CM_00162]).

Kontext

Die Klasse <SI-Namespace>::skeleton::events::<Event> repräsentiert die serverseitige Schnittstelle zur Veröffentlichung von Ereignissen eines Dienstes innerhalb der AUTOSAR Adaptive Platform. Sie ermöglicht es einer Dienstanwendung (Skeleton), aktualisierte Ereignisdaten des Typs SampleType ([SWS_CM_11400]) asynchron an alle abonnierenden Client-Anwendungen zu übertragen ([SWS_CM_00162]). Das Skeleton interagiert dabei direkt mit der Kommunikationsschicht (Communication Management), die das Auffinden von Dienstinstanzen und die physische Verteilung der Ereignisdaten übernimmt. Neben dem Senden von Daten überwacht die Event-Instanz den aktuellen Abonnementstatus und teilt Änderungen des Abonnentenkreises an den Dienstanbieter mit ([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

Kontextdiagramm: Interaktion der Event-Klasse mit Dienstanbieter, Communication Management und Abonnenten. Quellen: [SWS_CM_00162], [SWS_CM_90437], [SWS_CM_12011]

Lebenszyklus

Die Instanziierung der Event-Klasse erfolgt im Verbund mit der übergeordneten Skeleton-Dienstinstanz. Vermutlich ist die Lebensdauer der Event-Instanz fest an die Lebensdauer des Skeletons gebunden, sodass ein Ereignisobjekt erst nach der Konstruktion des Dienstes nutzbar wird und mit dessen Zerstörung endet. Frage Q-4e733f93c853a3eb (offen) Vor einer aktiven Datenübertragung muss der Dienst angeboten worden sein, da Übertragungsversuche vor dem Dienstangebot fehlschlagen ([SWS_CM_00162]).

Während der Betriebsphase spiegelt die Instanz den Zustand der Abonnentenverbindungen wider. Über GetSubscriptionState() lässt sich der aktuelle Status abfragen ([SWS_CM_12011]). Zur asynchronen Reaktion auf Zustandsänderungen registriert die Anwendung mittels SetSubscriptionStateChangeHandler() einen entsprechenden Callback ([SWS_CM_12008]), optional gekoppelt an einen spezifischen Ausführungskontext über ein Executor-Objekt ([SWS_CM_12009]). Bei Beendigung oder Neuausrichtung des Dienstes kann dieser Handler über UnsetSubscriptionStateChangeHandler() wieder deregistriert werden ([SWS_CM_12010]). Sämtliche Statusabfragen und Handler-Methoden sind als noexcept deklariert und gewährleisten Ausnahme-Sicherheit ([SWS_CM_12008], [SWS_CM_12011]).

Nutzungspfad

Für die Veröffentlichung von Event-Daten stehen der Dienstanwendung zwei prinzipielle Übertragungsmodi zur Verfügung: die kopierbasierte Übertragung und das Zero-Copy-Verfahren über verwalteten Speicher (EXP ara::com API S. 10).

Beim regulären Nutzungspfad registriert der Dienstanbieter zunächst bei Bedarf einen Callback für Abonnementänderungen ([SWS_CM_12008]). Sobald Abonnenten vorhanden sind, erzeugt die Anwendung entweder lokale Daten und übergibt diese per Wert an Send() ([SWS_CM_00162]), wobei das Communication Management eine Kopie der Daten erstellt und an alle Abonnenten weiterleitet (EXP ara::com API S. 10).

Alternativ fordert die Anwendung zur Vermeidung von Kopieraufwänden über Allocate() einen Speicherpuffer in Form eines ara::com::SampleAllocateePtr<SampleType> direkt von der Kommunikationsschicht an ([SWS_CM_90438], EXP ara::com API S. 10). Nach Befüllen des Puffers wird dieser über die spezialisierte Überladung von Send() übertragen ([SWS_CM_90437]). Interpretation: Mit dem Absenden dürfte das Besitzrecht an dem Speicher vollständig an das Communication Management übergehen, da der Anwendung jeder weitere Zugriff auf die Daten nach dem Aufruf ausdrücklich untersagt ist ([SWS_CM_90437]). Frage Q-86aba8c6f9bf42e9 (offen)

Ablauf der Event-Übertragung am SkeletonAnwendung (Skeleton)Event-ObjektCommunication ManagementUse Case: Handler-RegistrierungSetSubscriptionStateChangeHandler(handler)Abonnement-Handler registrierenUse Case: Variante 1: Zero-Copy Übertragung mit AllocateAllocate()Speicherpuffer reservierenSampleAllocateePtrSampleAllocateePtrPufferdaten schreibenSend(ptr)Daten an Abonnenten übertragenResult<void>Result<void>Use Case: Variante 2: Kopierbasierte ÜbertragungSend(data)Kopie erstellen und übertragenResult<void>Result<void>

Sequenzdiagramm: Typischer Ablauf der Event-Übertragung inklusive Handler-Registrierung und Allokation. Quellen: [SWS_CM_12008], [SWS_CM_90438], [SWS_CM_90437], [SWS_CM_00162]

Fehlerszenarien

Aufrufe von Send() geben ein ara::core::Result<void> zurück, welches im Fehlerfall einen entsprechenden Fehlercode des Typs ara::com::ComErrc enthält ([SWS_CM_00162], [SWS_CM_90437]). Zu den definierten Fehlerfällen zählen:

  • ComErrc::kServiceNotOffered: Der Dienst wurde vor dem Sendeversuch noch nicht über OfferService() bereitgestellt ([SWS_CM_00162], [SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: Das für das Ereignis konfigurierte Mindestsendeintervall (minimumSendInterval) wurde unterschritten, da Sendeaufrufe in zu schneller Folge abgesetzt wurden ([SWS_CM_00162], [SWS_CM_90437]).

Zusätzlich sind bei der Allokation und Handler-Konfiguration Vorbedingungen zu beachten:

  • Allocate() ist nicht ausnahmesicher (not exception safe) und führt bei unzureichenden Speicherressourcen zu einer SampleAllocationViolation bzw. bei unzulässiger Verwendung benutzerdefinierter Allokatoren zu einer AllocateUsageViolation ([SWS_CM_90438]).
  • SetSubscriptionStateChangeHandler() erfordert ein gültiges, aufrufbares Funktionsobjekt; wird ein null-wertiger oder nicht existierender Handler übergeben, resultiert dies in einer InvalidHandlerViolation ([SWS_CM_12008], [SWS_CM_12009]).

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11.

Mitgliederkarte

Klassendiagramm

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Allocate function

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 function 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.

Überladungen 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

Überladungen 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;

Typaliase

SampleType type alias

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

Dokumentation der Methoden

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: fc3608719061 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode Allocate wird auf Skeleton-Ebene für ein Event aufgerufen ([SWS_CM_90438]; AUTOSAR_AP_EXP_ARAComAPI §5.4.1 „Skeleton Class API’s“), um Speicher für die Übertragung von Event-Daten zu allozieren, wenn das Communication Management (ara::com) für die Verwaltung der Daten verantwortlich ist ([SWS_CM_90438]). Sie liefert eine Instanz vom Typ ara::com::SampleAllocateePtr<SampleType> zurück ([SWS_CM_90438]). Dieser Zeigertyp verhält sich konzeptionell wie ein std::unique_ptr<T>, sodass zu jedem Zeitpunkt nur eine Partei Eigentümer des Zeigers ist (ARAComAPI §6 „Event Allocate/Send sample Binding implementer hint“).

Hinsichtlich der Fehlerbehandlung und Ausnahme-Sicherheit ist Allocate als not exception safe spezifiziert ([SWS_CM_90438]). Die Spezifikation definiert zwei mögliche Verletzungen (Violations):

  • SampleAllocationViolation: Es stehen nicht genügend Speicherressourcen zur Verfügung, um die Daten zu allozieren ([SWS_CM_90438]).
  • AllocateUsageViolation: Die Allokation erfolgte unzulässigerweise über einen benutzerdefinierten Allokator ([SWS_CM_90438]).

Das Konzept hinter Allocate zielt primär auf die Unterstützung von Zero-Copy-Mechanismen ab, insbesondere bei Shared-Memory-basiertem IPC-Transport, wobei eine strikte Synchronisation zwischen Lesern und Schreibern vorausgesetzt wird (ARAComAPI §6 „Event Allocate/Send sample Binding implementer hint“). Implementierer müssen beachten, dass Serialisierungsanforderungen Zero-Copy zunichtemachen können, sofern Datentypen im Deployment nicht binärkompatibel konfiguriert sind oder eine Erkennungslogik dies ausschließt (ARAComAPI §6 „Event Allocate/Send sample Binding implementer hint“).

Im Zusammenspiel mit dem Senden von Events wird der über Allocate erhaltene Speicherzeiger an Send(ara::com::SampleAllocateePtr<SampleType> data) übergeben ([SWS_CM_90437]). Nach dem Aufruf von Send darf die Dienstanwendung nicht mehr auf die Daten zugreifen, sobald das Communication Management die Daten an alle abonnierenden Anwendungen versendet ([SWS_CM_90437]).

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsdokumenten des AUTOSAR-Releases R25-11.

Implementer's Guide folgt (Komplexität 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#b02a325f
Content hash
b02a325f
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

function 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#83254be0
Content hash
83254be0
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b00b88b264c7 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion [SWS_CM_00162] dient auf Service-Provider-Seite innerhalb von <SI-Namespace>::skeleton::events::<Event> dem Versenden von Event-Daten an alle abonnierenden Applikationen. Bei dieser Variante verbleibt die Verantwortung für die Datenallokation vollständig bei der anwendenden Applikation. Über den Parameter data wird das Datenobjekt übergeben, woraufhin die Binding-Implementierung während des Aufrufs eine interne Kopie anfertigt (ARAComAPI, Figure 6.17 „BrakeEvent Class“). Nach Rückkehr des synchronen Methodenaufrufs kann die Applikation den ursprünglichen Speicherbereich unmittelbar modifizieren oder freigeben.

Die Methode ist mit noexcept deklariert und als ausnahmesicher spezifiziert. Sie liefert ein ara::core::Result<void> zurück, welches im Erfolgsfall void enthält und im Fehlerfall Fehlercodes aus [SWS_CM_10432] meldet ([SWS_CM_00162]):

  • ComErrc::kServiceNotOffered: Tritt auf, wenn die Service-Instanz noch nicht über OfferService() bereitgestellt wurde.
  • ComErrc::kMinimumSendIntervalViolationError: Tritt auf, wenn die Sendeanforderung schneller als das konfigurierte Mindestsendeintervall (ServiceInterfaceDeploymentElement.minimumSendInterval) abgesetzt wurde.

Im Gegensatz zur Zero-Copy-Alternative [SWS_CM_90437], welche über Allocate() bezogene Zeiger vom Typ ara::com::SampleAllocateePtr voraussetzt, erfordert dieser Aufruf keine Speicherbindung an das Framework. Dasselbe Übertragungsverhalten und dieselben Fehlerbedingungen gelten gemäß [SWS_CM_00119] auch für die Aktualisierungsmethode Update von Feldern.

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität 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#862d1331
Content hash
862d1331
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

function 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b8026be0eee1 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Methode Send wird auf einer Event-Instanz im Service-Skelett (<SI-Namespace>::skeleton::events::<Event>) aufgerufen ([SWS_CM_90437]). Sie überträgt Event-Daten, für deren Speicherverwaltung das Communication Management zuständig ist. Der Parameter data vom Typ ara::com::SampleAllocateePtr<SampleType> muss zuvor über Allocate() bezogen worden sein ([SWS_CM_90437]). Dieser Zeigertyp verhält sich semantisch wie ein std::unique_ptr, wodurch das Eigentum an den Daten beim Aufruf an die Kommunikationsschicht übergeht (ARAComAPI §6.17 „BrakeEvent Class“). Nach der Übergabe ist der sendenden Anwendung jeder weitere Zugriff auf die Daten untersagt ([SWS_CM_90437]).

Fehlerbehandlung und Randbedingungen

Die Funktion ist als noexcept deklariert und gibt ein ara::core::Result<void> zurück ([SWS_CM_90437]). Schlägt das Senden fehl, enthält das Resultat einen Fehlercode aus ara::com::ComErrc ([SWS_CM_10432]):

  • ComErrc::kServiceNotOffered: Der zugehörige Service wurde vorab noch nicht mit OfferService() bereitgestellt ([SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: Das für das Service-Element konfigurierte Mindestsendeintervall (minimumSendInterval) ist seit der letzten Übertragung noch nicht abgelaufen ([SWS_CM_90437]).

Beide Fehlerfälle besitzen Rollback-Semantik ([SWS_CM_90437]). Vor dem Aufruf muss der Service daher zwingend angeboten worden sein, und aufeinanderfolgende Sendeaufrufe müssen den konfigurierten Mindestabstand einhalten.

Zusammenspiel und Optimierung

Im Vergleich zur Signatur [SWS_CM_00162], bei der anwendungsverwaltete Daten übergeben und vom Communication Management kopiert werden, zielt diese Variante auf Zero-Copy-Kommunikation über Shared Memory ab (ARAComAPI §6.18 „Event Allocate/Send sample“). Dabei wird eine strikte Synchronisation zwischen Schreibern und Lesern vorausgesetzt, wobei mögliche Serialisierungsanforderungen zwischen den Kommunikationspartnern zu beachten sind (ARAComAPI §6.18 „Event Allocate/Send sample“).

Hinweis: Dieser Nutzungshinweis wurde automatisiert auf Basis des Spezifikationsstands R25-11 erstellt.

Implementer's Guide folgt (Komplexität 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#396a1de4
Content hash
396a1de4
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

function SetSubscriptionStateChangeHandler [SWS_CM_12008]

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ae7a884485e1 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Funktion SetSubscriptionStateChangeHandler registriert im Skeleton-Scope (skeleton::events) einen Callback-Handler zur Überwachung des Subskriptionsstatus eines Events [SWS_CM_12008]. Der Parameter handler muss ein aufrufbares Objekt nach Typ SubscriptionStateChangeHandler gemäß [SWS_CM_00311] sein. Die Methode liefert keinen Rückgabewert und ist als noexcept spezifiziert [SWS_CM_12008].

Das Communication Management ruft den registrierten Handler auf, sobald sich der Subskriptionsstatus des Events ändert [SWS_CM_12012]. Auf der Skeleton-Seite geschieht dies mit dem Zustand kSubscribed, sobald die Anzahl aktiver Abonnements größer als null wird [SWS_CM_12013], bzw. mit kNotSubscribed, wenn keine aktiven Subskriptionen mehr vorhanden sind [SWS_CM_12014] SWS CommunicationManagement §7.5.4 „Query Service Event Subscription State on Skeleton side“.

Fehlerbehandlung und Nebenläufigkeit

Die Operation ist als exception safe klassifiziert [SWS_CM_12008]. Ist das übergebene Callable ungültig oder null, liegt eine InvalidHandlerViolation vor [SWS_CM_12008]. Interpretation: Da die Funktion weder Exceptions wirft noch einen Fehlercode zurückgibt, dürfte diese Spezifikationsverletzung über plattformspezifische Laufzeitmechanismen abgefangen werden. Frage Q-a7b7b54f0d538b40 (offen)

Der Handler darf zur Laufzeit überschrieben werden [SWS_CM_12012]. Für die Ausführung in einem dedizierten Thread- bzw. Aufgabenkontext existiert die Überladung mit dem Template-Parameter executor [SWS_CM_12009]. Eine analoge Registrierung für Trigger-Elemente des Skeletons definiert [SWS_CM_01110].

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität 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#5a03f429
Content hash
5a03f429
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

function 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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: db9c8806b4e9 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Template-Funktion SetSubscriptionStateChangeHandler dient auf Skeleton-Ebene ([SWS_CM_12009]) im Namensraum eines Events der Registrierung eines Callbacks für Zustandsänderungen eingehender Abonnements. Gegenüber der Basisfunktion ohne Executor ([SWS_CM_12008]) nimmt sie zusätzlich einen Ausführungskontext (executor) entgegen, in dem der registrierte Handler ausgeführt wird ([SWS_CM_12009]). Die Funktion besitzt keinen Rückgabewert, ist als noexcept deklariert und gilt als ausnahmesicher ([SWS_CM_12009]).

Hinsichtlich des Fehlerverhaltens führt die Übergabe eines ungültigen oder nullwertigen Callables zu einer InvalidHandlerViolation ([SWS_CM_12009]). Der registrierte Handler kann zur Laufzeit der Anwendung jederzeit durch einen erneuten Aufruf überschrieben werden ([SWS_CM_12012]).

Das Communication Management ruft den Handler auf, sobald sich der Zustand der Abonnements für das jeweilige Event ändert (SWS CommunicationManagement §7.5.4 „Query Service Event Subscription State on Skeleton side“, [SWS_CM_12012]):

  • Der Aufruf erfolgt mit dem Status kSubscribed, wenn die Anzahl aktiver Abonnements von null auf mehr als null ansteigt ([SWS_CM_12013]).
  • Sinkt die Zahl aktiver Abonnenten wieder auf null, wird der Handler mit kNotSubscribed benachrichtigt ([SWS_CM_12014]).

Interpretation: Durch die Übergabe von executor dürfte die Ausführung des Handlers gezielt an anwendungseigene Thread- oder Dispatching-Kontexte gebunden werden ([SWS_CM_12009]), um die nebenläufige Benachrichtigung des Skeleton-Codes sauber von internen Kommunikations-Threads zu trennen. Frage Q-b11f3bc97069f2ec (offen)

Dieser Text wurde von einer KI erstellt und basiert auf den Spezifikationen des Release R25-11.

Implementer's Guide folgt (Komplexität 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#9ab0c0f9
Content hash
9ab0c0f9
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

function UnsetSubscriptionStateChangeHandler [SWS_CM_12010]

void UnsetSubscriptionStateChangeHandler () noexcept;

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7e38e0032e54 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion UnsetSubscriptionStateChangeHandler dient auf Skeleton-Ebene im Namensraum ::skeleton::events::{<event-name>} dazu, einen zuvor registrierten Zustandsänderungs-Handler für den ara::com::SubscriptionState eines Events zu deregistrieren [SWS_CM_12010]. Die Funktion nimmt keine Übergabeparameter entgegen und liefert keinen Rückgabewert (void) [SWS_CM_12010]. Die Einbindung erfolgt über den Header #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h" [SWS_CM_12010].

Hinsichtlich des Ausnahmeverhaltens ist die Methode mit noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_CM_12010]. Es werden keine spezifischen Fehlercodes zurückgegeben oder C++-Exceptions geworfen [SWS_CM_12010]. Interpretation: Etwaige interne Fehlerzustände bei der Deregistrierung dürften von der Kommunikationsverwaltung intern abgefangen werden, da die Signatur keine Fehlerrückmeldung vorsieht. Frage Q-7e986a15e552ca19 (offen)

Im Zusammenspiel mit verwandten Schnittstellen existieren analoge Funktionen zur Handler-Deregistrierung:

Dieser Text wurde durch eine KI erstellt und basiert auf dem Spezifikationsstand AUTOSAR Adaptive Release R25-11.

Implementer's Guide folgt (Komplexität 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#e1b9df13
Content hash
e1b9df13
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

Dokumentation der Typaliase

type alias 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#6078d79a
Content hash
6078d79a
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