AUTOSAR_AP_SWS_CommunicationManagement
FIG-8451105d69671ff9
831 × 1300 px
1 Release(s)
Figure 7.20: Interaction of components during E2E checking of the Method request at the server side - polling
SHA-256 Inhalts-Fingerabdruck:
8451105d69671ff906b1aebec127ad66710d2aaa5aee70f7250010e6dc7bc694
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Sequenzdiagramm (Interaktionsdiagramm) mit kombinierten Fragmenten (
alt-Blöcke für Fallunterscheidungen) und asynchronen/synchronen Nachrichtenflüssen. - Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Functional Cluster Communication Management (
ara::com), SpezifikationsdokumentAUTOSAR_AP_SWS_CommunicationManagement(Sektion End-to-End Communication / E2E Protection). - Technischer Zweck: Spezifikation der serverseitigen Abarbeitung eingehender, E2E-geschützter Methodenaufrufe (Request-Response oder Fire-and-Forget) im Polling-Modus (
ara::com::MethodCallProcessingMode::kPoll). Das Diagramm definiert den Ablauf von Pufferabfrage über E2E-Validierung bis hin zum Dispatch an die Skeleton-Methodenimplementierung bzw. Fehlerbehandlung via Callback.
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Lebenslinien (Akteure & Schichten):
Server application: Adaptive Application (AA), implementiert die Diensterbringung auf Basis der generierten Skeleton-Klasse (skeletonMethod.<method name>) sowie den registriertenE2EErrorHandler.ara::com: Middleware-Laufzeitumgebung / Skeleton-Infrastruktur. Übernimmt E2E-Header-Parsing, E2E-Prüflogik, Deserialisierung und Dispatching.Reception: Unterlagerte Transport- und Bindungsschicht (z. B. SOME/IP-Binding, IPC, BSD Sockets/Transport Adapter), welche eingehende Datagramme puffert.
Schnittstellen, Signaturen & Datenstrukturen:
ProcessNextMethodCall(): bool: Synchrone Polling-API der Skeleton-Basisklasse zur Triggerung der Bearbeitung der nächsten anstehenden Methoden-Nachricht (gibt direktboolzurück).MessageReception(serializedData): Asynchroner Ingress-Trigger der Transportbindung bei Paketempfang.GetMessage: serializedData: Abruf der rohen Bytefolge (serializedData) aus dem Empfangspuffer.ProcessNonProtectedHeader(serializedData): Parsing transportrelevanter Metadaten (z. B. Session ID, Protocol Version, Length, Interface/Method ID).E2E_check(dataID, sourceID, messageType, messageResult, serializedData): Result: Aufruf der normativen E2E-Bibliothek zur Prüfung von Prüfsumme (CRC), Message Counter und Alive Counter.ProcessE2EProtectedHeader(serializedData): Extraktion geschützter E2E-Header-Felder vor Payload-Zugriff.Deserialize(serializedData): arg1, ..., argN: Deserialisierung der Nutzdaten in typisierte C++-Parameter.skeletonMethod.<method name>(arg1, ..., argN): ara::core::Future<MethodOutput>: Aufruf der konkreten Implementierung der Servicemethode in der Applikation.E2EErrorHandler(errorCode, dataID, messageCounter): Applikativer Fehler-Callback bei E2E-Fehlern (Result == P_ERROR) oder ausbleibenden Nachrichten (kNoNewData, 0, 0).
3. Dynamisches Verhalten & Sequenzablauf
- Paketeingang (Hintergrund):
Receptionnimmt serialisierte Daten über das Netzwerk/IPC entgegen (MessageReception(serializedData)) und legt sie in einer Bindungs-Queue ab.
- Aktivierung durch Applikation:
Server applicationruft synchronProcessNextMethodCall(): boolanara::comauf.
- Verzweigung
alt Message available:- Pfad
[not available]:ara::comsignalisiert der Applikation das Fehlen neuer Daten über den CallbackE2EErrorHandler(kNoNewData, 0, 0).- Es wird keine Antwortnachricht erzeugt und der Polling-Aufruf liefert direkt synchron
falsezurück.
- Pfad
[available]:ara::comruft die gepufferten serialisierten Daten mittelsGetMessage: serializedDatavonReceptionab.ara::comverarbeitet den ungeschützten Header überProcessNonProtectedHeader(serializedData).- Validierung des E2E-Schutzes mittels
E2E_check(dataID, sourceID, messageType, messageResult, serializedData): Result. - Verzweigung
alt Result of E2E_check is okay:- Pfad
[Result != P_ERROR](Erfolg):ara::comverarbeitet den E2E-geschützten Header (ProcessE2EProtectedHeader(serializedData)).- Deserialisierung der Nutzdaten über
Deserialize(serializedData): arg1, ..., argN. - Dispatching an die Skeleton-Methodenimplementierung via
skeletonMethod.<method name>(arg1, ..., argN): ara::core::Future<MethodOutput>.
- Pfad
[Result == P_ERROR](Fehlerfall):ara::combenachrichtigt die Server-Applikation über den registrierten Fehler-Handler viaE2EErrorHandler(errorCode, dataID, messageCounter).- Die Servicemethode wird nicht aufgerufen.
- Pfad
- Pfad
- Abschluss:
- Der synchrone Aufruf
ProcessNextMethodCall()kehrt mit einem booleschen Statuswert (truebei erfolgreicher Bearbeitung) zurServer applicationzurück.
- Der synchrone Aufruf
4. Normative Relevanz & Entwickler-Hinweise
- Synchrone Polling-Semantik: Die Umstellung von
ProcessNextMethodCall()vonara::core::Future<bool>auf synchronesbooleliminiert den asynchronen Future-Overhead. Die Server-Applikation erhält das Resultat der Abfrage (true= Nachricht abgearbeitet,false= keine Nachricht vorhanden) unmittelbar im aufrufenden Thread. - Verhalten bei Pufferleerstand: Die linke Hinweisbox präzisiert normativ, dass bei Nichtvorhandensein von Nachrichten
ProcessNextMethodCall()direktfalsezurückgibt, keine Antwortnachricht generiert wird undkNoNewDataan denE2EErrorHandlergemeldet wird („In case no messages are available, i.e. ProcessNextMethodCall() returns false, no response message is created, and kNoNewData is reported.“). - Bedarfsgesteuerter Abruf: Der Abruf der serialisierten Daten (
GetMessage) erfolgt nun erst innerhalb des[available]-Zweigs der Fallunterscheidung statt vorab vor der Pufferprüfung. - E2E-Validierung & Fehlerbehandlung: Die E2E-Prüfung erfolgt synchron innerhalb von
ProcessNextMethodCall(). Bei Prüffehler (P_ERROR) wird die Applikationsmethode nicht aufgerufen und stattdessen der registrierteE2EErrorHandlergetriggert. - Antwortschutz: Unverändert gilt, dass jede Antwort (Response oder Error) auf einen E2E-geschützten Methodenaufruf selbst zwingend E2E-geschützt übertragen werden muss.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.