AUTOSAR_AP_EXP_SWArchitecture
FIG-f01b25e4d1fd6a49
426 × 372 px
1 Release(s)
Figure 9.30: Interfaces for raw data streams using the IEEE1722 protocol
SHA-256 Inhalts-Fingerabdruck:
f01b25e4d1fd6a49af5974bfafe65d4965cf64cbeda90c182a43c5445ad985d8
✦
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-Schnittstellen- und Komponentendiagramm (Port- & API-Sicht) mit AUTOSAR Adaptive Platform Metamodell-Stereotypen (
«aap...»). - Kontext & Zweck: Spezifikation der Applikations-Programmierschnittstellen (APIs) des Functional Clusters Raw Data Stream (RDS) in der AUTOSAR Adaptive Platform (AP) für das Streaming von Rohdaten über das IEEE 1722 Transportprotokoll (AVTP – Audio Video Transport Protocol). Dient der Anbindung hochbitratiger Sensordaten (Kamera, LiDAR, Radar) und Multimediadaten an Adaptive Applications unter Umgehung serviceorientierter Serialisierungs-Overheads (
ara::com).
2. Komponenten, Entitäten & Schnittstellen
- Komponenten:
Adaptive Application: Anwendungskomponente im User Space, agiert als Senke (Consumer) oder Quelle (Producer) des Rohdatenstroms.«aapFunctionalCluster» Raw Data Stream: Kern-Plattformcluster der Adaptive Platform Foundation; stellt die Protokoll-Implementierung (IEEE 1722 Framing, Socket- und Puffer-Management) bereit.
- Schnittstellen (PortInterfaces & APIs):
«aapAPI,aapPortInterface» IEEE1722RawDataStreamConsumer: Schnittstelle für Stream-Konsumenten mit Operationen:+ Create(): Statische Factory-Methode (unterstrichen) zur Instanziierung des Consumers anhand konfigurierter Port-Deskriptoren.+ Connect(): Binden des Sockets an die konfigurierte IEEE 1722 Stream-ID / Multicast-Gruppe.+ ReadData(): Abruf empfangener Payload-Puffer aus der AVTPDU.+ Shutdown(): Kontrollierter Abbau des Empfangskanals und Pufferfreigabe.
«aapAPI,aapPortInterface» IEEE1722RawDataStreamProducer: Schnittstelle für Stream-Produzenten mit Operationen:+ Create(): Statische Factory-Methode (unterstrichen) zur Erzeugung des Producers.+ Connect(): Initialisierung des Sendekanals (Stream-Header, AVTP Subtype, Zeitstempel-Synchronisation).+ WriteData(): Einspeisung von Rohdaten in den IEEE 1722 Frame-Stream.+ Shutdown(): Flush/Schließen des Sendekanals.
- Stereotypen & Relationen:
«use» «aapRequiredPort»: Gerichtete Abhängigkeit (Client-Rolle); dieAdaptive Applicationgreift über typisierte Required Ports auf die Schnittstellen zu.- Interface Realization (gestrichelte Linie mit geschlossener, leerer Pfeilspitze): Der funktionale Cluster
Raw Data Streamimplementiert beide Schnittstellen und agiert als Bereitsteller (Provider-Rolle).
3. Dynamisches Verhalten & Sequenzablauf
- Instanziierung (Factory):
- Aufruf von
Create()durch die Applikation unter Angabe desInstanceSpecifieraus dem Ausführungsmanifest; liefert ein Instanz-Handle oder einara::core::Result<Instance>.
- Aufruf von
- Kanaletablierung:
- Synchroner oder asynchroner Aufruf von
Connect(). Löst Plattform-interne OS-Socket-Konfigurationen (z. B. AF_PACKET, Raw Sockets) und VLAN-/AVB/TSN-Bindungen aus.
- Synchroner oder asynchroner Aufruf von
- Datenübertragung (Steady-State):
- Producer-Pfad: Zyklisches/ereignisbasiertes
WriteData(). Kapselt Payload in AVTP-Frames (inkl. Sequence Number und Timestamp) und übergibt diese an den Netzwerk-Treiber. - Consumer-Pfad: Aufruf von
ReadData()(blockierend oder über Polling/Event-Mechanismen); liefert empfangene Datenpakete direkt aus den Ringpuffern.
- Producer-Pfad: Zyklisches/ereignisbasiertes
- Terminierung:
- Aufruf von
Shutdown()zur Deallokation von Deskriptoren, De-Registrierung von Multicast-Gruppen und deterministischen Freigabe interner Speicherressourcen.
- Aufruf von
4. Normative Relevanz & Entwickler-Hinweise
- Abgrenzung zu
ara::com: Kein SOME/IP-, DDS- oder IPC-Serialisierungs-Layer. Direkter Zugriff auf Ethernet-Layer-2/Layer-3-AVTP-Streams minimiert CPU-Last und Latenzen bei unstrukturierten Massendaten. - Pufferverwaltung & Zero-Copy: Bei
ReadData()undWriteData()ist auf speichereffiziente Übergabemechanismen (z. B.ara::core::Span, Shared-Memory-Puffer oder Smart Pointer) zu achten, um unnötige Kopieroperationen zwischen POSIX-Kernel und User Space zu vermeiden. - Manifest-Bindung: Parameter wie IEEE 1722
StreamID, Ethernet-Multicast-Adressen, VLAN-IDs, Traffic-Klassen (IEEE 802.1Qav/Qat TSN CBS) und Puffergrößen werden nicht über die Programmierschnittstelle übergeben, sondern statisch in den Service Instance Manifests der Ports definiert. - Fehlerbehandlung: APIs folgen dem AUTOSAR C++14-Standard ohne Exception-Handling; Methoden geben standardmäßig
ara::core::Result<T>zurück, worüber Kommunikationsunterbrüche, Buffer-Overruns und Frame-Verluste applikationsseitig auszuwerten sind.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.