AUTOSAR_AP_SWS_CommunicationManagement
FIG-e215128e484a340b
704 × 1113 px
5 Release(s)
Figure 7.23: Interaction of components during E2E checking of the Method response at the client side
SHA-256 Inhalts-Fingerabdruck:
e215128e484a340bf2e097f747897ed9f4ae781cf76fe3924783389ed63aa2ba
✦
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
- 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 desFuture-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
- Anforderung & Empfang:
Client applicationfordert das Ergebnis viaGetResult()an;ara::comdelegiert anReception(GetMessages()).Receptionsynchronisiert/blockiert viawait for response (Future)bis zur Verfügbarkeit des Netzwerkpakets und liefertserializedDataanara::comzurück.
- Kombiniertes Fragment
alt new method response(E2E-Validierung durchara::com):- Header-Vorverarbeitung:
ProcessNonProtectedHeader(serializedData)extrahiert ungeschützte Transportinformationen. - Zähler-Kompensation:
set meesage counter to sent message counter -1synchronisiert 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 erzeugtResult.
- Header-Vorverarbeitung:
- 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 denPromisemit Nutzdaten (ara::core::Resultenthält Wert).
- Zweig
[Result != P_OK]:Output.setError(error_code(Result)): Schlägt denPromisefehl (ara::core::ResultenthältComErrorDomain-Fehlercode basierend auf dem E2E-Prüffehler).
- Status-Persistierung:
Store Result in global SMStateaktualisiert die zugehörige E2E-Zustandsmaschine. - Rückkehr des Kontrollflusses an die Applikation.
- Zweig
- Applikationsseitige Auswertung:
Client applicationfragt optional den Zustand überGetSMStateab.
- Kombiniertes Fragment
alt handle result(Applikationsebene):- Zweig
[Received Error Domain]: Aufruf vonprocess Error Domain(Fehlerbehandlung bei E2E-Verletzung oder Kommunikationsfehler). - Zweig
[Received Data]: Aufruf vonAccess data(reguläre Verarbeitung der Methodenantwort).
- Zweig
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
Futurenicht ungeprüft auf Daten zugreifen, sondern muss dasara::core::Resultvia.HasValue()oder Fehlerdomänenabfrage (.Error()) validieren.
- E2E-Prüffehler bei Methodenantworten werden nicht stillschweigend verworfen, sondern führen zwingend zu einem gesetzten Fehlerstatus im
- Zustandsbehaftung (E2E State Machine):
- E2E-Profile bei Methoden (Request/Response) aktualisieren die E2E-Zustandsmaschine (
SMState) des Proxy. Ein einzelnerP_ERRORtriggert je nach Konfiguration des Debouncings (WindowSize,MinOkState,MaxErrorState) nicht sofort einen ungültigen Gesamtzustand (E2E_SM_INVALID).
- E2E-Profile bei Methoden (Request/Response) aktualisieren die E2E-Zustandsmaschine (
- 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).
- Die Deserialisierung der Payload findet normativ erst nach erfolgreicher E2E-Integritätsprüfung (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.