DEENESPTFRRUARHIKOZHNL
AUTOSAR_EXP_SWArchitecture FIG-7fd8c2b81a85a0e6 416 × 340 px 1 Release(s)

Figure 9.24: Interfaces for raw data streams

SHA-256 Inhalts-Fingerabdruck: 7fd8c2b81a85a0e6f6b3dc18a580d5ba3aff52d548974e440c7eaaaff6b73996
✦ 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-Komponentendiagramm mit Schnittstellen- und Port-Spezifikation (AUTOSAR Adaptive Platform UML-Profil).
  • Funktionale Einordnung: Verortet im Functional Cluster Communication Management (ara::com) der AUTOSAR Adaptive Platform.
  • Technischer Zweck: Spezifikation standardisierter Schnittstellen zur Übertragung unmodellierter, roher Byteströme (Raw Data Streams) zwischen einer Adaptive Application und der Plattform. Die Schnittstelle dient als performante Abstraktion für volumetrische Daten (z. B. Video-, Audio-, Radar- oder Sensor-Rohdaten), bei denen die Serialisierung und der Overhead serviceorientierter Protokolle (SOME/IP) vermieden werden müssen.

2. Komponenten, Entitäten & Schnittstellen

  • Komponenten:
    • Adaptive Application: Anwendungsprozess im User-Space, agiert je nach Use-Case als Stream-Consumer, Stream-Producer oder Gateway.
    • «aapFunctionalCluster» Communication Management: Plattform-Dienst/Cluster, der die systemnahe Streaming-Infrastruktur kapselt (z. B. über POSIX-Sockets, Shared-Memory oder Unix Domain Sockets).
  • Schnittstellen & Stereotypen:
    • «aapAPI,aapPortInterface» RawDataStreamClient: Client-Endpunkt für ausgehende Verbindungen.
      • + Connect(): Baut aktive Verbindung zum Ziel-Endpunkt auf.
      • + ReadData(): Liest Byteströme aus dem Puffer/Kanal.
      • + WriteData(): Schreibt Rohdaten in den Kanal.
      • + Shutdown(): Führt geordneten Verbindungsabbau durch.
    • «aapAPI,aapPortInterface» RawDataStreamServer: Server-Endpunkt zur Entgegennahme eingehender Verbindungen.
      • + WaitForConnection(): Wartet auf eingehende Verbindungsanfragen (Passiv-Listen/Accept).
      • + ReadData(): Liest eingehende Nutzlast.
      • + WriteData(): Sendet Daten an den verbundenen Client.
      • + Shutdown(): Beendet die Verbindung bzw. schließt den Server-Socket.
  • Beziehungen:
    • Interface Realization («aapProvidedPort»): Das Communication Management implementiert und exponiert beide Schnittstellen über bereitgestellte Ports.
    • Dependency («use»): Die Adaptive Application bindet die Schnittstellen über Required Ports («aapRequiredPort»-Äquivalent auf API-Ebene) an, um Stream-Sitzungen zu steuern.

3. Dynamisches Verhalten & Sequenzablauf

  1. Verbindungsinitialisierung:
    • Server-Pfad: Initialisierung der Server-Instanz → Aufruf von WaitForConnection(). Blockiert synchron oder operiert asynchron (Rückgabe via ara::core::Future), bis ein Client anklopft.
    • Client-Pfad: Initialisierung der Client-Instanz → Aufruf von Connect(). Initiiert den Handshake zum konfigurierten Endpunkt (IP/Port oder IPC-Socket).
  2. Datentransfer-Phase (Vollduplex / Halbduplex):
    • Senden: Aufruf von WriteData() mit Datenzeiger und Längenangabe. Pufferung erfolgt im underlying Transportpuffer des OS-Kernels/Treibers.
    • Empfang: Aufruf von ReadData(). Übergabe von Ziel-Puffern; Rückgabe der tatsächlich gelesenen Byteanzahl oder eines ara::core::Result<void> bzw. Fehlercodes (z. B. Puffer-Überlauf, EOF).
  3. Terminierung:
    • Initiator ruft Shutdown() auf → Flush verbleibender Daten → TCP-FIN/RST oder Schließen des IPC-File-Descriptors → Gegenstelle detektiert EOF in ReadData() und beendet die Sitzung ebenfalls mit Shutdown().

4. Normative Relevanz & Entwickler-Hinweise

  • API-Vertrag & Fehlermodell: Die Methoden folgen dem C++14/C++17-Paradigma der Adaptive Platform. Rückgabewerte und asynchrone Ergebnisse sind typischerweise über ara::core::Result<T> bzw. ara::core::Future<T> gekapselt (keine C++ Exceptions).
  • Abgrenzung zu Service Interfaces: Im Gegensatz zu modellierten Service Interfaces (Events, Methods, Fields) existiert kein typisiertes IDL-Schema (keine Serialisierung via SOME/IP Transformer). Entwickler sind selbst für Framing, Synchronisationsmuster (z. B. Paket-Header, Magic Bytes) und Endianness zuständig.
  • Laufzeit- & Speichereffizienz:
    • Zur Vermeidung von Cache-Trashing und CPU-Kopieraufwand unterstützen typische Stack-Implementierungen Zero-Copy-Puffer (z. B. Memory-Mapped IO, POSIX Shared Memory).
    • Bei Echtzeit-Streaming müssen Entwickler ReadData()- und WriteData()-Threads deterministisch priorisieren, um Pufferüberläufe im Kernel-Space (Socket-Drop) zu verhindern.
  • ARXML-Manifestierung: Die Schnittstellen müssen im Service Instance Manifest und Execution Manifest korrekt auf Netzwerk-Endpunkte (IP-Adressen, Ports, Transport-Layer-Protokoll TCP/UDP) gemappt und den Prozess-Berechtigungen (POSIX Capabilities / Access Control) zugewiesen werden.

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

R21-11 → R22-11 keine inhaltliche Änderung Vorgänger: FIG-6616e1a332fdea9a

Keine inhaltlichen Änderungen erkennbar.

R22-11 → R23-11 normative Änderung Nachfolger: FIG-95a69a366175e036
  • Functional Cluster: Der bereitstellende Functional Cluster wurde von Communication Management in Raw Data Stream geändert.
  • Port-Stereotypen an Adaptive Application: Die Abhängigkeitspfeile («use») von Adaptive Application zu RawDataStreamClient und RawDataStreamServer wurden um das Stereotyp «aapRequiredPort» ergänzt.
  • Port-Stereotypen an Realisierungsbeziehungen: An den Realisierungspfeilen vom Functional Cluster Raw Data Stream zu RawDataStreamClient und RawDataStreamServer ist die Beschriftung «aapProvidedPort» entfallen.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«aapFunctionalCluster» Communication Management | «aapAPI,aapPortInterface» | RawDataStreamClient | + Connect() + ReadData() + Shutdown() + WriteData() | «aapAPI,aapPortInterface» | RawDataStreamServer | + ReadData() + Shutdown() + WaitForConnection() + WriteData() | Adaptive Application | «aapProvidedPort» | «use» «use» | «aapProvidedPort»

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R22-11 AUTOSAR_EXP_SWArchitecture S. 50 9.24 Figure 9.24: Interfaces for raw data streams