AUTOSAR_AP_SWS_CommunicationManagement
FIG-028fa781a517da65
807 × 1089 px
1 Release(s)
Figure 7.29: Receive response to a SET Message
SHA-256 Inhalts-Fingerabdruck:
028fa781a517da6559cf99af3822de69177c8a183d6d082d51a450f723be24a0
✦
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
- Klassifikation: UML-Sequenzdiagramm (Interaktionsdiagramm) mit kombinierten Fragmenten (
alt) zur bedingten Ausführung. - Funktionale Einordnung: AUTOSAR Adaptive Platform (AP), Spezifikation Communication Management (
ara::com), Release R21-11. - Technischer Zweck: Spezifikation des asynchronen Empfangs-, Prüf- und Deserialisierungspfads einer Antwortnachricht (Response) auf einen
Field.Set()-Aufruf (Method Call auf ein Field mit Setter-Funktionalität) unter Einbindung von End-to-End-(E2E)-Schutzmechanismen und der E2E-Zustandsüberwachung.
2. Komponenten, Entitäten & Schnittstellen
- Akteure & Lifelines:
Client Application: Adaptive Application (Service Consumer), die über das generierte Proxy-Interface der Service-Instanz agiert.ara::com: Adaptive Middleware-Laufzeitschicht (Service-Proxy-Binding-Implementierung inkl. E2E-State-Machine, PDU-Verarbeitung, Promise/Future-Verwaltung).Transmission: Transport- und Protokollbindungsschicht (z. B. SOME/IP Daemon, Netzwerk-Stack über Ethernet/IPC).
- Interaktionspunkte & Datenstrukturen:
Field.Set(): Asynchrone Setter-Methode des Proxies; instanziiert und liefert unmittelbar einara::core::Futurean die Applikation.MessageReception()/GetMessage(serialized data): PDU-Empfangsindikation und Datenabruf des Bytestroms aus dem Transportpuffer.Process non protected data()/Process E2E protected header(): Parsing ungeschützter sowie kryptografisch/prüfsummen-geschützter Header-Anteile.E2E_Check(): Validierung von Sequence Counter, CRC und Data-ID gemäß konfiguriertem E2E-Profil.Output.setvalue(data)/Output.SetError(errorcode): Setzen des Ergebnisses bzw. des Fehlercodes im assoziiertenara::core::Promise.Store result in SM state(): Zustandsaktualisierung in der internen E2E-Zustandsmaschine (ara::com::e2e::Result).GetE2EStateMachineStateSetter(): Spezifische Abfrage/Auswertung des E2E-Zustands der Setter-Methode des Felds durch die Client-Applikation.process error domain()/process data(): Lokale Behandlungsroutinen in der Client-Applikation zur Differenzierung von Nutzdaten (ara::core::Result<T>) und Fehlern (ara::core::ErrorCode).
3. Dynamisches Verhalten & Sequenzablauf
- Request-Phase (Asynchron):
Client ApplicationinitiiertField.Set().ara::comerzeugt das zugehörigeara::core::Future, gibt dieses synchron an die Applikation zurück und sendet den Request ab.- Entkopplung: Der Aufrufer wird nicht blockiert (
Some time passes ...).
- Empfangs- & Validierungs-Phase (
Transmission→ara::com):Transmissionsignalisiert den Eingang viaMessageReception().ara::comholt die serialisierten Rohdaten überGetMessage(serialized data)ab.ara::comverarbeitet ungeschützte Metadaten (Process non protected data()) und führtE2E_Check()aus.
- Verzweigung 1: Interner E2E-Check (
alt [E2E check OK] / [E2E Error]):- Pfad
[E2E check OK]:- Geschützte Header werden interpretiert (
Process E2E protected header()). - Nutzdaten werden deserialisiert (
Deserialize serialized data()). - Ergebniswert wird im Promise gesetzt (
Output.setvalue(data)).
- Geschützte Header werden interpretiert (
- Pfad
[E2E Error]:- Deserialisierung der Nutzdaten unterbleibt.
- E2E-Fehlercode wird im Promise hinterlegt (
Output.SetError(errorcode)).
- Pfad
- Zustandsaktualisierung & Zustandsabfrage:
ara::comspeichert das Validierungsergebnis im Zustand der E2E-Zustandsmaschine (Store result in SM state()).Client Applicationfragt den aktuellen E2E-Zustand über die setter-spezifische MethodeGetE2EStateMachineStateSetter()ab.
- Verzweigung 2: Ergebnisverarbeitung in Client Application (
alt):- Pfad
[received message has type ERROR]:- Publisher hat einen E2E-Fehler empfangen und antwortet mit einer ERROR-Nachricht (Publisher has received E2E error and replied an ERROR message).
Client Applicationführt die Fehlerbehandlung aus (process error domain()).
- Pfad
[E2E error]:- Lokaler E2E-Fehler verhindert Nutzung des Rückgabewerts (Client Application cannot use returned value. Reaction to E2E error is up to Client Application.).
Client Applicationführt anwendungsspezifische Fehlerbehandlung aus (process error domain()).
- Pfad
[no E2E error]:- Das Future von
Field.Set()wird ready (The Future of Field.Set() becomes ready. Returned value can be retrieved.). Client Applicationverarbeitet die Nutzdaten erfolgreich (process data()).
- Das Future von
- Pfad
4. Normative Relevanz & Entwickler-Hinweise
- E2E-Fehlersemantik bei Setter-Methoden: Das Sequenzdiagramm spezifiziert die asynchrone Bearbeitung von Setter-Aufrufen (
Field.Set()) und deren E2E-Absicherung. Bei einem E2E-Prüffehler im Response-Pfad unterbleibt die Nutzdaten-Deserialisierung und das Promise wird mit einem entsprechenden Fehlercode belegt (Output.SetError(errorcode)). - Differenzierung der Fehlerquellen: Die Client-Applikation unterscheidet über separate Ausführungspfade zwischen serverseitig quittierten Fehlern (Nachrichtentyp
ERROR, z. B. E2E-Fehler beim Publisher während des Requests) und lokal detektierten E2E-Prüffehlern ([E2E error]). Beide Fälle münden inprocess error domain(). - Setter-spezifische E2E-Zustandsabfrage: Ab Release R25-11 wird für die E2E-Zustandsabfrage eines Felds explizit die Methode
GetE2EStateMachineStateSetter()herangezogen. Dies stellt sicher, dass der Zustand der E2E-Zustandsmaschine dediziert für die Setter-Interaktion abgefragt wird (in Abgrenzung zu Getter- und Notifier-Kanälen desselben Felds).
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.