AUTOSAR_AP_SWS_CommunicationManagement
FIG-5a75db8a28d5d65e
926 × 1233 px
5 Release(s)
Figure 7.20: Interaction of components during E2E checking of the Method request at the server side - polling
SHA-256 Inhalts-Fingerabdruck:
5a75db8a28d5d65eed742a468a6736783bc14d9f68e43c27a69d7e226eaf25e0
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
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(): ara::core::Future<bool>: Polling-API der Skeleton-Basisklasse zur expliziten Triggerung der Bearbeitung der nächsten anstehenden Methoden-Nachricht.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 synchron/asynchronProcessNextMethodCall()anara::comauf.ara::comfragt die Bindungsebene viaGetMessagenach Daten ab.
- Verzweigung
alt Message available:- Pfad
[not available]:ara::comsignalisiert der Applikation das Fehlen neuer Daten über den CallbackE2EErrorHandler(kNoNewData, 0, 0).- Es wird explizit keine Antwortnachricht generiert oder versendet.
- Pfad
[available]:ara::comparst den ungeschützten Header (ProcessNonProtectedHeader).ara::comführt die E2E-Prüfung aus:E2E_check(dataID, sourceID, messageType, messageResult, serializedData).
- Pfad
- Verzweigung
alt Result of E2E_check is okay:- Pfad
[Result != P_ERROR](Erfolg / tolerierbarer Status):ara::comliest den E2E-geschützten Header aus (ProcessE2EProtectedHeader).- Deserialisierung der Argumente:
Deserialize(...) -> arg1, ..., argN. - Methodenaufruf an die Applikation:
skeletonMethod.<method name>(arg1, ..., argN). Die Applikation liefert einara::core::Future<MethodOutput>zurück.
- Pfad
[Result == P_ERROR](Kritischer E2E-Fehler, z. B. CRC-Mismatch, Counter-Sprung):ara::combricht den Methoden-Dispatch ab.- Aufruf von
E2EErrorHandler(errorCode, dataID, messageCounter)zur Benachrichtigung der Server-Applikation.
- Pfad
- Abschluss & Return:
- Der initiale Methodenaufruf
ProcessNextMethodCall()wird abgeschlossen und gibtara::core::Future<bool>an die Server-Applikation zurück (signalisierttrue, wenn eine Nachricht abgearbeitet wurde, sonstfalse).
- Der initiale Methodenaufruf
4. Normative Relevanz & Entwickler-Hinweise
- Threading & Ausführungsmodell: Bei Konfiguration auf
kPollerfolgen Deserialisierung, E2E-Prüfung und Methoden-Dispatch im Thread-Kontext, derProcessNextMethodCall()ausführt. Der Entwickler kontrolliert damit Jitter und CPU-Budget des Methodenaufrufs vollständig selbst. - E2E-Fehlersemantik (
P_ERROR): Im Fehlerfall darf die Skeleton-Methode niemals aufgerufen werden. Die Applikation muss über den registriertenE2EErrorHandlerauf Fehlerzustände (z. B. degraded mode, Safe State, Zählerstände) reagieren. - Symmetrische E2E-Schutzpflicht: Jede ausgehende Antwort (
MethodOutputoderApApplicationErrorDomain-Fehler) auf eine E2E-geschützte Anfrage muss zwingend selbst E2E-geschützt werden (Normativer Hinweis: „Any response (ERROR or normal RESPONSE) to an E2E protected request shall be E2E protected itself“). - Verhalten bei Pufferleerstand (
kNoNewData): Führt der Polling-Aufruf zu keinem Treffer im Eingangspuffer, triggert die Middleware denE2EErrorHandlermit FehlercodekNoNewDataund Null-Parametern (0, 0). Es erfolgt keine Netzwerkreaktion.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.