AUTOSAR_SWS_CommunicationManagement
FIG-16017994dcaa6dfc
925 × 1186 px
2 Release(s)
Figure 7.9: Interaction of components during E2E checking of the Method request at the server side - event driven
SHA-256 Inhalts-Fingerabdruck:
16017994dcaa6dfcfef015e136bdd81c01403cfc78f94a6ace5cd2138e559b83
✦
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). - Architektur-Kontext: AUTOSAR Adaptive Platform (ARA), Spezifikation SWS Communication Management (
ara::com). - Funktionale Einordnung: Serverseitige End-to-End-Absicherung (E2E-Protection) bei synchronen/asynchronen Methodenaufrufen (Client/Server-Kommunikation) im ereignisgesteuerten Ausführungsmodus (event-driven execution). Es definiert die Validierungs- und Dispatch-Pipeline von der Rohdatenannahme über die kryptografische/integritätsbezogene Prüfung bis zur Weiterleitung an die Skeleton-Methode der Server-Applikation.
2. Komponenten, Entitäten & Schnittstellen
- Lifelines / Entitäten:
Reception: Unterlagerter Transport- und Dispatch-Mechanismus (Binding-spezifisch, z. B. SOME/IP-Binding / IPC-Treiber / POSIX-Sockets), der eingehende serialisierte Pakete puffert und signalisiert.ara::com: Middleware-Laufzeitschicht (Service Skeleton Binding / Runtime), die Header parst, E2E-Zustände auswertet, Deserialisierung durchführt und API-Objekte instanziiert.Server application: Domänenspezifische Applikationsschicht, die die konkrete Service-Implementierung (skeletonMethod) und E2E-Fehlerbehandlungs-Hooks (E2EErrorHandler) bereitstellt.
- Schnittstellen & Datenstrukturen:
MessageReception(serializedData)/GetMessage: serializedData: Interne Binding-Schnittstelle zur asynchronen Benachrichtigung und zum Abruf des Byte-Streams (serializedData).ProcessNonProtectedHeader(serializedData): Extraktion von Transport-Headern (z. B. SOME/IP-Header: Message ID, Client ID, Session ID, Protocol Version, Message Type).E2E_check(dataID, sourceID, messageType, messageResult, serializedData): Result: Standardisierter E2E-Prüfaufruf (State-Machine/CRC/Counter-Prüfung gemäß konfiguriertem E2E-Profil).ProcessE2EProtectedHeader(serializedData): Parsen der E2E-geschützten Header-Anteile nach validierter Prüfsumme/Sequenz.Deserialize(serializedData): arg1, ..., argN: Typisierte Rekonstruktion der Methodenargumente aus der Nutzlast.skeletonMethod.<method name>(arg1, ..., argN): ara::core::Future<MethodOutput>: Typisierte C++14/C++17-Methoden-Signatur des generierten Service-Skeletons. Gibt einara::core::Futurezur asynchronen Rückgabe des Ergebnisses zurück.E2EErrorHandler(...): Callback-Schnittstelle zur Meldung von E2E-Integritätsverletzungen an die Server-Applikation.
3. Dynamisches Verhalten & Sequenzablauf
- Trigger & Datenabruf:
Receptionmeldet überMessageReception(serializedData)ein eingegangenes Paket ereignisgesteuert anara::com.ara::comruft mittels synchronemGetMessagedie RohdatenserializedDataab.
- Verzweigung 1 – Nachrichtenverfügbarkeit (
alt Message available):- Zweig
[not available]: Es liegen keine validen Daten vor.ara::combenachrichtigt die Server-Applikation viaE2EErrorHandler(kNoNewData, 0, 0). Es erfolgt explizit keine Antwortnachricht (Request wird verworfen). - Zweig
[available]:ara::comverarbeitet zunächst ungeschützte Metadaten viaProcessNonProtectedHeader(serializedData)und führt danachE2E_check(...)mitdataID,sourceID,messageType,messageResultund Nutzlast aus.
- Zweig
- Verzweigung 2 – E2E-Prüfergebnis (
alt Result of E2E_check is okay):- Zweig
[Result != P_ERROR](Erfolg / tolerierbarer Status):ara::comparst geschützte Header-Elemente (ProcessE2EProtectedHeader).ara::comdeserialisiert die Methodenparameter (Deserialize).- Aufruf der konkreten Skeleton-Methode
skeletonMethod.<method name>(arg1, ..., argN). Die Server-Applikation nimmt den Methodenaufruf entgegen und liefert einara::core::Future<MethodOutput>.
- Zweig
[Result == P_ERROR](Integritäts-, Counter- oder ID-Fehler):- Abbruch der Methodenverarbeitung: Kein Deserialisieren, kein Methodenaufruf.
- Aufruf von
E2EErrorHandler(errorCode, dataID, messageCounter)zur Fehlerbehandlung durch die Server-Applikation.
- Zweig
- Terminierung / E2E-Symmetrie:
- Jede resultierende Antwortnachricht (sowohl normale
RESPONSEals auch protokollierteERROR-Antwort) auf einen E2E-geschützten Request muss vor dem Senden zwingend selbst E2E-geschützt werden (Normative Notiz im Diagramm).
- Jede resultierende Antwortnachricht (sowohl normale
4. Normative Relevanz & Entwickler-Hinweise
- Zero-Trust vor E2E-Validierung: Applikations-Code und Deserialisierungslogik sind strikt vor korrupten Payloads geschützt. Solange
Result == P_ERROR, findet keine Argumenten-Deserialisierung statt (Schutz vor Buffer-Overflows und Fehlallokationen bei beschädigten Längenfeldern). - ASIL/Sicherheitsrelevanz:
- Der Status
P_ERRORumfasst ungültige CRCs, Sequenznummernfehler (Replay-Angriffe) oder falschedataID/sourceID. - Das Flag
Result != P_ERRORbedeutet, dass E2E-Status wieOKoder konfigurierte Initial-/Sync-Zustände vorliegen; Entwickler müssen im Skeleton sicherstellen, ob die E2E-State-Machine für den spezifischen ASIL-Level ausreichend initialisiert ist.
- Der Status
- API- und Threading-Modell:
- Der Methodenaufruf erfolgt asynchron über
ara::core::Future/ara::core::Promise. Langläufer-Methoden dürfen denara::com-Empfangs-Thread nicht blockieren. E2EErrorHandlermuss als deterministischer, nicht-blockierender Callback implementiert sein, um DoS-Zustände im Event-Loop des Kommunikations-Bindings zu verhindern.
- Der Methodenaufruf erfolgt asynchron über
- Konfigurations-Fokus (ARXML):
- Entwickler müssen E2E-Profile (
EndToEndTransformationDescription,EndToEndTransformationComSpecProps) konsistent zwischen Server und Client parametrieren (DataID, Counter-Offset, CRC-Offset, Header-Layout). - Bei aktivierter E2E-Methodenabsicherung muss die Antwortstrecke spiegelbildlich für denselben Service-Interface-Deployment-Pfad E2E-konfiguriert sein.
- Entwickler müssen E2E-Profile (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.