DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_CommunicationManagement FIG-1ac0b4daefe02812 794 × 1174 px 1 Release(s)

Figure 7.18: E2E Subscriber

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

UML-Sequenzdiagramm (sd Subscriber) zur Darstellung des E2E-geschützten Datenempfangs auf Abonnentenseite in AUTOSAR Adaptive Platform Communication Management (ara::com). Es visualisiert das Zusammenspiel zwischen Anwendungsschicht, Kommunikations-Middleware, E2E-Bibliothek und Transportschicht bei der Verarbeitung eingehender serialisierter Samples.

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Lebenslinien:

  • Subscriber application: Abonnierende Anwendungskomponente.
  • ara::com: Kommunikations-Middleware (Proxy).
  • Reception: Unterlagerte Empfangsschicht.

Schnittstellen und Nachrichten:

  • GetNewSamples(f, maxNumberOfSamples): ara::core::Result<size_t>: Abruf empfangener Samples durch Bereitstellung eines Callables f.
  • GetNextMessage(): serializedSamples: Sequentieller Abruf einzelner serialisierter Nachrichten innerhalb der Iterationsschleife.
  • ProcessNonProtectedHeader (serializedSample): Interne Headerverarbeitung.
  • E2E_check (dataID, serializedSample): Result: Validierung der E2E-Prüfsummen und Sequenzen.
  • ProcessE2EProtectedHeader( serializedSample): Verarbeitung des geschützten Headers.
  • Deserialize(serializedSample): sample: Deserialisierung der Nutzlast.
  • Store Result in ProfileCheckStatus of SamplePtr: Setzen des individuellen Prüfergebnisses im Smart-Pointer des Samples.
  • Store Result in global SMState: Aktualisierung des E2E-Zustandsautomaten.
  • f(SamplePtr): Übergabe des geschützten Smart-Pointers an das Callable der Anwendung.
  • SamplePtr->GetProfileCheckStatus: ara::com::e2e::ProfileCheckStatus: Abfrage des E2E-Prüfstatus eines bestimmten Samples durch die Anwendung.
  • E2E_check(dataID, null_ptr): Result: Meldung über ausbleibende Nachrichten an die E2E-Zustandsmaschine.
  • GetE2EStateMachineState(): ara::com::e2e::SMState: Abfrage des aggregierten E2E-Zustands durch die Anwendung.

3. Dynamisches Verhalten & Sequenzablauf

  1. Die Anwendung ruft GetNewSamples(f, maxNumberOfSamples) auf.
  2. Der Empfang und die Auswertung laufen innerhalb einer Schleife loop through received samples until maxNumberOfSamples is reached:
    • ara::com fordert sequentiell über GetNextMessage() jeweils das nächste serialisierte Sample von Reception an.
    • Innerhalb des verschachtelten alt-Fragments erfolgt die Auswertung:
      • Fall [at least one serializedSample]: Header-Verarbeitung, E2E_check, Deserialisierung, Speicherung von Status im SamplePtr sowie globalem SMState und Aufruf von f(SamplePtr) mit optionaler Abfrage von SamplePtr->GetProfileCheckStatus.
      • Fall [no serialized samples were processed]: Ausführung von E2E_check(dataID, null_ptr) und Speicherung im globalen SMState.
  3. Nach Beendigung der Schleife kann die Anwendung den Gesamtstatus über GetE2EStateMachineState() abfragen.

4. Normative Relevanz & Entwickler-Hinweise

  • Die Nachrichtenabholung von der Transportschicht erfolgt on-demand je Schleifendurchlauf (GetNextMessage()) statt in einem initialen Gesamtblock, wodurch Streaming und vorzeitiger Abbruch bei Erreichen von maxNumberOfSamples unterstützt werden.
  • Die Fallunterscheidung [no serialized samples were processed] greift, wenn während des gesamten Durchlaufs keine serialisierten Samples verarbeitet werden konnten.
  • Das Callable f übernimmt das Eigentum am SamplePtr. Die Statusauswertung erfolgt über ara::com::e2e::ProfileCheckStatus bzw. ara::com::e2e::SMState.
  • Mögliche E2E-Check-Ergebnisse: OK, REPEATED, WRONGSEQUENCE, WRONGCRC bzw. NONEWDATA.

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

R24-11 → R25-11 normative Änderung Vorgänger: FIG-d0a7f9756c39bd77
  • Schleifenstruktur umgestellt: Die Schleife loop through received samples until maxNumberOfSamples is reached umschließt nun den Abruf von der Transportschicht sowie den Verarbeitungsblock alt.
  • Schnittstellenaufruf zur Transportschicht von stapelorientiertem GetMessages(): serializedSamples (außerhalb der Schleife) zu schrittweisem GetNextMessage(): serializedSamples (innerhalb der Schleife) geändert.
  • Guard der leeren Verzweigung im alt-Fragment präzisiert von [no new serializedSamples] zu [no serialized samples were processed].
  • Header-Farbgebung der Lebenslinien von Türkis zu Beige geändert.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Subscriber application |           |      |   |  |  |   |  |  |  |    |  |  |    |  |  |  |   |      |   |  |  |  |   |   |  |   |   | ara::com Reception | alt new serializedSamples from Reception | [at least one serializedSample] | [no serialized samples were processed] | loop through received samples until maxNumberOfSamples is reached |  |     |    |   |  |  |    |   |    |  |    |  |    |   |     |     |  |   |  |  |    |  |  |   |   |    |  |  |  |   |    |  |  |   |  |  |  |    |  |  |  |  |  |  |   |  |  |  |  |   |   |    |  |  |  |  | ! |  |  |   | "   |  | #  |   |  |  | "    |  |  |     |    |   |  |  |    |   |     |  |  |  |   |  |  |  |  |   |  |     |  | $ |  |  |   |   |   |  |     |   |  |  |    |   |   |  |  |  |  |   |   | "    |  | %  |  |  |  |  |   |  |  |   |  |  |  |  |  |  |   |    |  |  |  |  |  |   |  |   |    |   |  |   |  |  |   | % |   |  |  | $ |    | &' |  |  |  |   |   |   |   |  |   |  |   |    |  |  |  |  |  |  |   |  |  |   |   |    |  |  |   |  |  |  | & |  |   |     |  |  |  |  |  |  |   |  |  |  |    |  |  |  |  |  |   |  | ( |  |  "    |  | )  |   |  |  |  |   |   |    | *     | &  |  |  |  |   |   | & |  |    |  |   |  |    |  |   |  |  |     |  |  |  |   +  |  |   |  |  |    |  |   |  |  |  |   |  |  |  |  |  |   |  |   |  |  | ! |  |  | ,  | "    |  |  |  |     |   |  |   |  |   |   |  |  |   | - |  |  |  |   | % |  |   |    |   |  |   |  |  |  |  |   . | / 0 1 | / ' |  | % |  | 2   |  | / 3 ' 0 , | ! " |  | 4 5  , | $ |  | / 3 ' 0 , | !$ ' $ | % |  |   |    |   |  |   |  |  |  |  |   . | / | , | 0 ,  | 3  2 |  | 2 | GetE2EStateMachineState( ): | ara::com::e2e::SMState | f(SamplePtr) | SamplePtr->GetProfileCheckStatus: | ara::com::e2e::ProfileCheckStatus | Store Result in ProfileCheckStatus of SamplePtr | E2E_check (dataID, serializedSample): Result | Deserialize (serializedSample): sample | Store Result in global SMState | ProcessE2EProtectedHeader( serializedSample) | GetNewSamples(f, maxNumberOfSamples): ara::core:: | Result<size_t> | GetNextMessage( ): | serializedSamples | ProcessNonProtectedHeader (serializedSample) | Store Result in global SMState | E2E_check(dataID, null_ptr): Result

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_SWS_CommunicationManagement S. 239 7.18 Figure 7.18: E2E Subscriber