DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_CommunicationManagement FIG-080b0a76b531549a 932 × 1107 px 1 Release(s)

Figure 7.4: E2E Subscriber

SHA-256 Inhalts-Fingerabdruck: 080b0a76b531549a5fcd69911f4458848329a41d19ac202dcf8908a5e01bd562
✦ 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: Laufzeitumgebung des Communication Management (Proxy-Instanz).
  • ara::e2e: E2E-Schutzfunktionalität/Validierungsmodul.
  • Transmission: Transportschicht / Datenempfangsinfrastruktur.

Schnittstellen und Nachrichten:

  • Update(filter): isAnyNewSampleAdded: Synchroner Aufruf der Anwendung zur Aktualisierung und Filterung empfangener Samples.
  • GetMessage(): serializedSamples: Abruf vorliegender serialisierter Nachrichten von der Übertragungsschicht.
  • ProcessNonProtectedHeader(&serializedSample): Interne Vorverarbeitung ungeschützter Headerdaten in ara::com.
  • Check(dataID, &serializedSample): e2eResult: Prüfaufruf von ara::com an ara::e2e mit Daten-Identifikator und Sample.
  • ProcessE2EProtectedHeader(&serializedSample): Interne Verarbeitung geschützter E2E-Header in ara::com.
  • Deserialize(&serializedSample): sample: Deserialisierung des Datenstroms in ein typisiertes Sample.
  • Store e2eResult.e2eCheckStatus in sample: Assoziation des Prüfergebnisses mit dem Sample.
  • Add sample+e2eCheckStatus to the cache(cache policy, cache size, filter): Aufnahme des validierten Samples in den Proxy-Cache.
  • Store e2eResult as proxy.e2eResult: Aktualisierung des globalen E2E-Zustands im Proxy.
  • Check(dataID, null_ptr): e2eResult: Signalisierung des Ausbleibens von Daten an ara::e2e.
  • GetCachedSamples(): Collection of samples, each with e2eCheckStatus: Auslesen gecachter Samples durch die Anwendung.
  • GetE2EResult(): e2eResult: Abfrage des globalen E2E-Zustands durch die Anwendung.
  • Lokaler Zugriff: Access data, e.g. samples[idx].speed, samples[idx].GetE2ECheckStatus().

3. Dynamisches Verhalten & Sequenzablauf

  1. Die abonnierende Anwendung stößt den Empfangsprozess synchron mittels Update(filter) an.
  2. ara::com ruft über GetMessage() vorliegende serializedSamples von Transmission ab.
  3. Über ein alt-Fragment erfolgt eine Fallunterscheidung:
    • Fall [at least one serializedSample - perform for each serializedSample]: Für jedes serialisierte Sample wird zunächst der ungeschützte Header ausgewertet (ProcessNonProtectedHeader). Danach erfolgt der E2E-Check via Check(dataID, &serializedSample) gegen ara::e2e. Nach erfolgreicher Bearbeitung des geschützten Headers (ProcessE2EProtectedHeader) wird das Sample deserialisiert, mit dem e2eCheckStatus verknüpft, unter Berücksichtigung von Cache-Policy (kLastN, kNewestN), Cache-Größe und Filterfunktion im Cache abgelegt und der globale Zustand proxy.e2eResult aktualisiert.
    • Fall [no new serializedSamples]: Wurden keine Daten empfangen, führt ara::com Check(dataID, null_ptr) gegen ara::e2e aus, um den Zustand für Datenverlust bzw. Verzögerung zu aktualisieren, und speichert das Ergebnis als proxy.e2eResult.
  4. Die Anwendung liest anschließend über GetCachedSamples() die gecachten Samples inklusive E2E-Status sowie über GetE2EResult() den globalen Kommunikationsstatus aus und greift lokal auf Nutzdaten sowie Status zu.

4. Normative Relevanz & Entwickler-Hinweise

  • Die E2E-Prüfung erfolgt streng entkoppelt über die dedizierte Instanz ara::e2e.
  • dataID muss spätestens bei der Instanziierung des Proxys festgelegt sein.
  • Der Ausfall oder die Verzögerung von Nachrichten wird explizit durch Check(dataID, null_ptr) an das E2E-Modul gemeldet, um die E2E-Zustandsmaschine synchron zur erwarteten Zykluszeit zu halten.
  • Samples werden zusammen mit ihrem individuellen Validierungsstatus im lokalen Proxy-Cache gemäß konfigurierter Policy (kLastN, kNewestN) gepuffert.

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

R17-10_R1.2.0 → R18-03_R1.4.0 redaktionell Nachfolger: FIG-1009a092b74a198b
  • Die separate Lebenslinie ara::e2e wurde entfernt; ihre Verantwortlichkeiten sind in die Lebenslinie ara::com integriert (der Aufruf Check(dataID, &serializedSample): e2eResult ist nun ein interner Methodenaufruf E2Echeck(...) innerhalb von ara::com).
  • Header-Farbgebung der Lebenslinien von Blau/Türkis zu Gelb/Beige geändert.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R17-10_R1.2.0 AUTOSAR_SWS_CommunicationManagement S. 28 7.4 Figure 7.4: E2E Subscriber