DEENESPTFRRUARHIKOZHNL
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 ein ara::core::Future zur asynchronen Rückgabe des Ergebnisses zurück.
    • E2EErrorHandler(...): Callback-Schnittstelle zur Meldung von E2E-Integritätsverletzungen an die Server-Applikation.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger & Datenabruf:
    • Reception meldet über MessageReception(serializedData) ein eingegangenes Paket ereignisgesteuert an ara::com.
    • ara::com ruft mittels synchronem GetMessage die Rohdaten serializedData ab.
  2. Verzweigung 1 – Nachrichtenverfügbarkeit (alt Message available):
    • Zweig [not available]: Es liegen keine validen Daten vor. ara::com benachrichtigt die Server-Applikation via E2EErrorHandler(kNoNewData, 0, 0). Es erfolgt explizit keine Antwortnachricht (Request wird verworfen).
    • Zweig [available]: ara::com verarbeitet zunächst ungeschützte Metadaten via ProcessNonProtectedHeader(serializedData) und führt danach E2E_check(...) mit dataID, sourceID, messageType, messageResult und Nutzlast aus.
  3. Verzweigung 2 – E2E-Prüfergebnis (alt Result of E2E_check is okay):
    • Zweig [Result != P_ERROR] (Erfolg / tolerierbarer Status):
      • ara::com parst geschützte Header-Elemente (ProcessE2EProtectedHeader).
      • ara::com deserialisiert die Methodenparameter (Deserialize).
      • Aufruf der konkreten Skeleton-Methode skeletonMethod.<method name>(arg1, ..., argN). Die Server-Applikation nimmt den Methodenaufruf entgegen und liefert ein ara::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.
  4. Terminierung / E2E-Symmetrie:
    • Jede resultierende Antwortnachricht (sowohl normale RESPONSE als auch protokollierte ERROR-Antwort) auf einen E2E-geschützten Request muss vor dem Senden zwingend selbst E2E-geschützt werden (Normative Notiz im Diagramm).

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_ERROR umfasst ungültige CRCs, Sequenznummernfehler (Replay-Angriffe) oder falsche dataID/sourceID.
    • Das Flag Result != P_ERROR bedeutet, dass E2E-Status wie OK oder 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.
  • API- und Threading-Modell:
    • Der Methodenaufruf erfolgt asynchron über ara::core::Future/ara::core::Promise. Langläufer-Methoden dürfen den ara::com-Empfangs-Thread nicht blockieren.
    • E2EErrorHandler muss als deterministischer, nicht-blockierender Callback implementiert sein, um DoS-Zustände im Event-Loop des Kommunikations-Bindings zu verhindern.
  • 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.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R21-11 → R24-11 normative Änderung Nachfolger: FIG-f51da3f6194bebdf
  • alt Message available: Kombiniertes Fragment mit den Guards [not available] und [available] entfernt; der Kontrollfluss setzt nach GetMessage direkt mit ProcessNonProtectedHeader fort.
  • E2EErrorHandler(kNoNewData, 0, 0): Fehlerbehandlungs-Aufruf bei nicht verfügbarer Nachricht entfällt ersatzlos.
  • Notiz In case no message is available no response message is created.: Randnotiz zur Behandlung fehlender Nachrichten entfernt.
  • GetMessage: Rückgabesignatur um Klammern zu serializedData() ergänzt.
  • Lifeline Server Application: Bezeichnung von Server application zu Server Application angepasst (Großschreibung).
  • Notiz E2E_check is processed...: Abschließender Punkt ergänzt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Server application ara::com Reception | alt Result of E2E_check is okay | [Result != P_ERROR] | [Result == P_ERROR] | alt Message available | [not available] | [available] | E2E_check is processed within the message reception for event driven execution | In case no message is available no response message is created. | Any response (ERROR or normal RESPONSE) to an E2E protected request shall be E2E protected itself. | skeletonMethod.<method name>(arg1, ..,argN): | ara::core::Future<MethodOutput> | Deserialize (serializedData): arg1,.. ,argN | ProcessNonProtectedHeader (serializedData) | E2E_check(dataID, sourceID, messageType, messageResult, serializedData): Result | E2EErrorHandler(errorCode, dataID, | messageCounter) | E2EErrorHandler(kNoNewData, 0, 0) | ProcessE2EProtectedHeader( serializedData) | GetMessage: serializedData | MessageReception(serializedData)

Vorkommen in AUTOSAR-Releases (4)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_CommunicationManagement S. 61 7.9 Figure 7.9: Interaction of components during E2E checking of the Method request at the server side - event driven
R20-11 AUTOSAR_SWS_CommunicationManagement S. 61 7.9 Figure 7.9: Interaction of components during E2E checking of the Method request at the server side - event driven
R21-11 AUTOSAR_SWS_CommunicationManagement S. 67 7.9 Figure 7.9: Interaction of components during E2E checking of the Method request at the server side - event driven
R21-11 AUTOSAR_SWS_CommunicationManagement S. 67 7.9 Figure 7.9: Interaction of components during E2E checking of the Method request at the server side - event driven