AUTOSAR_AP_EXP_InterfacesGuidelines
FIG-9c1fe75b0acd93ac
479 × 592 px
6 Release(s)
Figure 9.1: Client sequence diagram
SHA-256 Inhalts-Fingerabdruck:
9c1fe75b0acd93ac4f31f5b46009eaae88d569bc728aa08ca0002d414dfbcce0
✦
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-Sequenzdiagramm (UML 2.x Sequence Diagram).
- Architektur-Kontext: AUTOSAR Adaptive Platform (Spezifikationen
AUTOSAR_AP_EXP_InterfacesGuidelines[Kapitel 9] sowieAUTOSAR_EXP_ARAComAPI, gültig für Releases R20-11 bis R25-11). - Funktionale Einordnung: Veranschaulicht das synchrone Standard-Interaktionsmuster des Raw Data Stream (RDS)-Clients. Das RDS-Subsystem innerhalb der Communication Management (
ara::com) Architektur dient der Übertragung unformatierter, latenzkritischer Datenströme (z. B. Sensor-Rohdaten via Ethernet über TCP/UDP-Sockets oder IEEE 1722) unter Umgehung der klassischen serviceorientierten Serialisierungs-Overheads (SOME/IP, IPC-Marshalling).
2. Komponenten, Entitäten & Schnittstellen
- Lebenslinien / Instanzen (Lifelines):
Application: Aufrufende Adaptive Application (Softwarekomponente / POSIX-Prozess im User-Space).Client: Instanz des RDS-Client-Endpunkts (Abstraktion derara::com::rawdatastream::RawDataStreamClient-Klasse bzw. Socket-Wrapper).
- Schnittstellenmethoden (Aufrufe von
ApplicationanClient):Connect(): Synchroner Methodenaufruf zur Herstellung der Netzwerkverbindung (Socket-Verbindung zum Server-Endpunkt).ReadData(): Synchroner Methodenaufruf zum Lesen eines Rohdatenstrom-Segments aus dem Socket-/Empfangspuffer.Shutdown(): Synchroner Methodenaufruf zur ordnungsgemäßen Terminierung der Verbindung und Freigabe allokierter Socket-Ressourcen.
- Strukturelle Beziehung & Ausführungsfokus:
- Der Client besitzt einen durchgehenden Aktivierungsbalken (Execution Specification) über die gesamte Verbindungssitzung hinweg (vom Empfang des
Connect()bis zum Abschluss vonShutdown()). - Die
Applicationweist diskrete Aktivierungsbalken für die Dauer der jeweiligen blockierenden Aufrufe auf.
- Der Client besitzt einen durchgehenden Aktivierungsbalken (Execution Specification) über die gesamte Verbindungssitzung hinweg (vom Empfang des
3. Dynamisches Verhalten & Sequenzablauf
- Verbindungsaufbau (Session-Start):
- Die
ApplicationtriggertConnect(). - Der
Clientführt den netzwerkseitigen Verbindungsaufbau aus (z. B. TCP-Handshake oder UDP-Socket-Bindung/Zieladressierung) und bestätigt den Erfolg über die Rückgabenachricht (gestrichelter Pfeil). - Nach dem Return verbleibt die Sitzung auf Client-Seite im Zustand verbunden/aktiv.
- Die
- Datenabruf (Streaming-Phase):
- Die
Applicationführt wiederholt synchroneReadData()-Aufrufe aus. Clientholt die verfügbaren Rohdatenbytes aus dem Systempuffer ab und liefert sie synchron an dieApplicationzurück.- Die vertikalen Auslassungspunkte (
...) kennzeichnen die zyklische Wiederholung dieses Abfragezyklus über die gesamte Datenübertragungsdauer.
- Die
- Verbindungsabbau (Session-Ende):
- Die
Applicationinitiiert das geordnete Beenden der Kommunikation überShutdown(). - Der
Clientschließt die Sockets (TCP FIN/RST bzw. Resource Deallocation) und signalisiert die Beendigung via Return. Der Ausführungsfokus der Sitzung auf demClientendet.
- Die
4. Normative Relevanz & Entwickler-Hinweise
- Zustands- und Aufrufvertrag:
- Streng sequentielle Abhängigkeit:
ReadData()setzt zwingend ein zuvor erfolgreich zurückgekehrtesConnect()voraus. Nach Ausführung vonShutdown()schlägt jeder weitere Lesezugriff fehl, solange keine Re-Initialisierung viaConnect()erfolgt.
- Streng sequentielle Abhängigkeit:
- Threading & Blocking-Verhalten:
- Bei synchronen APIs (
ReadData()) blockiert der aufrufende Thread derApplicationbis Daten anliegen, ein definierter Socket-Timeout greift oder ein Fehler auftritt. Im Design von echtzeitfähigen Adaptive-Applikationen ist dies in separaten Worker-Threads zu kapseln, um Blockaden von Hauptschleifen oder Deterministischen Client-Cyclen zu verhindern.
- Bei synchronen APIs (
- Fehlerbehandlung:
- Implementierungen basieren typischerweise auf
ara::core::Result<T>-Rückgabewerten. Applikationsseitig müssen Netzwerkabbrüche, Connection-Resets und Puffer-Underflows nach jedem Schritt ausgewertet werden.
- Implementierungen basieren typischerweise auf
- Manifest- & Deployment-Bindung:
- Verbindungsparameter (Transportprotokoll TCP/UDP, Portnummern, Ziel-IPs, Puffergrößen und Sicherheitsmechanismen wie TLS/DTLS/IPSec) werden nicht per Methodenparameter übergeben, sondern statisch über das Adaptive Application Deployment / Service Instance Manifest konfiguriert.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.