DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_CommunicationManagement FIG-c383ad7aeb323c45 670 × 1075 px 1 Release(s)

Figure 7.23: Interaction of components during E2E checking of the Method response at the client side

SHA-256 Inhalts-Fingerabdruck: c383ad7aeb323c45b2425995b81e03c2f38ad557fa3dfad5b2e93871a56041c6
✦ 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

  • Diagrammtyp: UML-Sequenzdiagramm mit kombinierten Fragmenten (alt-Blöcke für bedingte Verzweigungen).
  • Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Functional Cluster Communication Management (ara::com).
  • Technischer Zweck: Spezifikation des clientseitigen Ablaufs beim Empfang, der E2E-Validierung (End-to-End-Protection) und der Bereitstellung der Antwort (Method Response) eines synchronen/asynchronen Methodenaufrufs. Zeigt die Interaktion zwischen Applikationsschicht, Middleware (ara::com-Service-Proxy) und Transportschicht/Empfangsinstanz (Reception).

2. Komponenten, Entitäten & Schnittstellen

  • Akteure / Lifelines:
    • Client application: Adaptive Application (AA), die als Service-Consumer (Proxy-Instanz) eine Methode aufgerufen hat und auf das Methoden-Ergebnis wartet.
    • ara::com: Service-Orientierte Middleware-Laufzeitumgebung (generierter Client-Proxy & Binding-Implementierung, z. B. SOME/IP-Binding mit E2E-Transformator).
    • Reception: Unterlagerter Transport-/Netzwerkstack (z. B. Socket-Handler, PDU-Router / IPC / Binding-Empfangsthread).
  • Objekte & Datenstrukturen:
    • Output: Instanz eines Asynchronie-Primitivs (ara::core::Promise / ara::core::Future), das das Rückgabeobjekt kapselt (ara::core::Result<OutputData, ara::core::ErrorCode>).
    • serializedData: Rohdatenstrom des Netzwerk-Frames (Header + Payload).
    • SMState: Globaler Zustand der E2E-Zustandsmaschine (State Machine State, z. B. E2E_SM_VALID, E2E_SM_DEBOUNCED, E2E_SM_INVALID).
    • Result: E2E-Prüfstatus (ProfileCheckStatus, z. B. P_OK, P_ERROR, P_REPEATED, P_WRONGSEQUENCE).
  • Schnittstellen & Operationen:
    • GetResult(): Output: Client-API zur Rückgabe des Future-Objekts bzw. Abfrage des Methoden-Ergebnisses.
    • GetMessages(): serializedData: Interne Schnittstelle zum Abholen gepufferter Netzwerkdaten.
    • E2E_check(dataID, sourceID, messageType, messageResult, serializedData): Core-E2E-Algorithmus zur Integritäts- und Zählerprüfung.
    • GetSMState: Proxy-API zur Abfrage des aktuellen E2E-Zustandsmaschinen-Status.

3. Dynamisches Verhalten & Sequenzablauf

  1. Anforderung & Empfang:
    • Client application fordert das Ergebnis via GetResult() an; ara::com delegiert an Reception (GetMessages()).
    • Reception synchronisiert/blockiert via wait for response (Future) bis zur Verfügbarkeit des Netzwerkpakets und liefert serializedData an ara::com zurück.
  2. Kombiniertes Fragment alt new method response (E2E-Validierung durch ara::com):
    • Header-Vorverarbeitung: ProcessNonProtectedHeader(serializedData) extrahiert ungeschützte Transportinformationen.
    • Zähler-Kompensation: set message counter to sent message counter -1 synchronisiert die Sequenznummer-Erwartungshaltung mit der zuvor gesendeten Anfrage.
    • E2E-Prüfung: E2E_check(...) prüft CRC, Message Counter, Data ID, Source ID und Message Type/Result gegen die E2E-Header-Werte und erzeugt Result.
  3. Kombiniertes Fragment alt handle ProfileCheckStatus:
    • Zweig [Result == P_OK]:
      • ProcessE2EProtectedHeader(serializedData): Verarbeitet geschützte Metadaten.
      • Deserialize(serializedData): data: Extrahiert die typisierten Out-Parameter/Rückgabewerte.
      • Output.setvalue(data): Erfüllt den Promise mit Nutzdaten (ara::core::Result enthält Wert).
    • Zweig [Result != P_OK]:
      • Output.setError(error_code(Result)): Übergibt den ermittelten E2E-Fehlercode an das Output-Objekt (ara::core::Result enthält Fehler).
    • Zustandsaktualisierung: Store Result in global SMState persistiert das E2E-Prüfergebnis im globalen Zustand der Zustandsmaschine; anschließend Rückkehr an die Client application.
  4. Zustandsabfrage & applikative Auswertung:
    • Die Client application ruft GetSMState auf ara::com auf, um den aggregierten Status der E2E-Zustandsmaschine abzufragen.
    • Kombiniertes Fragment alt handle result (in Client application):
      • Zweig [Received Error Domain]: Ausführung von process Error Domain zur Behandlung gemeldeter Fehler.
      • Zweig [Received Data]: Ausführung von Access data zum Zugriff auf die bereitgestellten Nutzdaten.

4. Normative Relevanz & Entwickler-Hinweise

  • API-Vertrag (ara::core::Future / ara::core::Result):
    • E2E-Prüffehler bei Methodenantworten werden nicht stillschweigend verworfen, sondern führen zwingend zu einem gesetzten Fehlerstatus im Promise/Future-Rückgabewert (Output.setError).
    • Die Applikation darf nach Auflösung des Future nicht ungeprüft auf Daten zugreifen, sondern muss das ara::core::Result via .HasValue() oder Fehlerdomänenabfrage (.Error()) validieren.
  • Zustandsbehaftung (E2E State Machine):
    • E2E-Profile bei Methoden (Request/Response) aktualisieren die E2E-Zustandsmaschine (SMState) des Proxy. Ein einzelner P_ERROR triggert je nach Konfiguration des Debouncings (WindowSize, MinOkState, MaxErrorState) nicht sofort einen ungültigen Gesamtzustand (E2E_SM_INVALID).
  • Serialisierung & Binding-Einschränkung:
    • Die Deserialisierung der Payload findet normativ erst nach erfolgreicher E2E-Integritätsprüfung (Result == P_OK) statt. Dies verhindert Pufferüberläufe oder Typfehler durch korrumpierte Nutzdaten auf Stack-Ebene (Defense in Depth).

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

R24-11 → R25-11 redaktionell Vorgänger: FIG-e215128e484a340b
  • Interne Operation an ara::com: Tippfehler in der Beschriftung des Selbstaufrufs von set meesage counter to sent message counter -1 zu set message counter to sent message counter -1 korrigiert.
  • Visuelle Darstellung: Umstellung des Farbschemas (Komponentenköpfe und Aktivierungsbalken von Türkis auf Beige/Sandfarben) sowie angepasste Textumbrüche in den Nachrichtenbeschriftungen.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Client application ara::com Reception | alt new method response | alt handle result | [Received Error Domain] | [Received Data] | alt handle ProfileCheckStatus | [Result == P_OK] | [Result != P_OK] | process Error Domain | GetSMState | Access data | Output.setError(error_code (Result)) | Store Result in global SMState | Output.setvalue (data) | ProcessE2EProtectedHeader (serializedData) | set message counter to sent message counter -1 | Deserialize(serializedData): data | E2E_check(dataID, sourceID, messageType, messageResult, serializedData): Result | ProcessNonProtectedHeader (serializedData) | GetResult( ): Output | wait for response | (Future) | GetMessages( ): serializedData

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_SWS_CommunicationManagement S. 257 7.23 Figure 7.23: Interaction of components during E2E checking of the Method response at the client side