AUTOSAR_TPS_ManifestSpecification
FIG-47e5e1bd0a5dcbe9
901 × 368 px
1 Release(s)
Figure 11.6: Modeling of the EthernetRawDataStreamServerMapping
SHA-256 Inhalts-Fingerabdruck:
47e5e1bd0a5dcbe994014b5a3288b69806719881c72b69842d4cdf2c78415ea9
✦
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
- Klassifikation: UML-Klassendiagramm / Metamodell-Ausschnitt (M2) der AUTOSAR Adaptive Platform (TPS Manifest Specification, Kapitel Service Instance Manifest).
- Architektonische Einordnung: Spezifikation des Deployments und Mappings für Streaming-Kommunikation (Raw Data Streams) über Ethernet/UDP auf Server-Ebene.
- Funktionaler Zweck (RS_MANI_00067): Bindeglied zwischen dem plattformunabhängigen Software-Port-Interface (
RawDataStreamServerInterface) und der konkreten Netzwerk-/Socket-Konfiguration auf Instanzebene. Ermöglicht hochperformanten, serialisierungsfreien Datentransfer (z. B. Kamera-, Radar-, Lidar-Streams) unter Umgehung des SOME/IP-Overheads.
2. Komponenten, Entitäten & Schnittstellen
Metaklassen, Stereotypen und Attribute
RawDataStreamMapping(abstrakt, «UploadablePackageElement»):- Abstrakte Basisklasse für Stream-Mappings.
- Assoziation:
+deployment [0..1]zuRawDataStreamDeployment.
RawDataStreamDeployment(«UploadablePackageElement»):- Kapselt die protokollspezifische Bereitstellung des Datenstroms.
- Assoziation:
+rawDataStreamInterface [0..1]zuAbstractRawDataStreamInterface.
AbstractRawDataStreamInterface(abstrakt, «PortInterface»):- Port-Schnittstellendefinition im Software-Designmodell.
- Generalisierung: Basisklasse für
RawDataStreamServerInterface.
RawDataStreamServerInterface:- Konkrete serverseitige Repräsentation der Streaming-Schnittstelle.
EthernetRawDataStreamMapping(abstrakt):- Spezialisiert
RawDataStreamMapping. - Attribut:
+ socketOption: String [0..*]– Liste plattformspezifischer Low-Level-Socket-Optionen (z. B.SO_RCVBUF,SO_SNDBUF,SO_BINDTODEVICE,SO_REUSEADDR). - Komposition:
+localEndpointConfig [0..1]zuEthernetRawDataStreamLocalEndpointConfig.
- Spezialisiert
EthernetRawDataStreamLocalEndpointConfig:- Spezifiziert den lokalen Netzwerk-Endpunkt des Servers (Bind-Konfiguration, lokales Interface/Port).
EthernetRawDataStreamServerMapping:- Konkrete Instanz des Mappings für Server-Anwendungen; spezialisiert
EthernetRawDataStreamMapping. - Komposition:
+remoteClientConfig [0..1]zuEthernetRawDataStreamRemoteClientConfig.
- Konkrete Instanz des Mappings für Server-Anwendungen; spezialisiert
EthernetRawDataStreamRemoteClientConfig:- Konfiguriert die Adressdaten der Client-Gegenstellen für die Datenübertragung.
- Kompositionen:
+multicastCredentials [0..1]zuRawDataStreamEthernetUdpCredentials(Multicast-Streaming an Empfängergruppen).+unicastUdpCredentials [0..1]zuRawDataStreamEthernetUdpCredentials(Point-to-Point-UDP-Streaming).
AbstractRawDataStreamEthernetCredentials(abstrakt, «Describable»):- Basisklasse für Adressierungs-Endpunkte.
- Attribute:
+ ipV4Address: Ip4AddressString [0..1](IPv4-Adresse als String)+ ipV6Address: Ip6AddressString [0..1](IPv6-Adresse als String)+ udpPort: PositiveInteger [0..1](UDP-Portnummer)
RawDataStreamEthernetUdpCredentials:- Spezialisiert
AbstractRawDataStreamEthernetCredentialszur konkreten UDP-Parametrierung.
- Spezialisiert
3. Dynamisches Verhalten & Sequenzablauf
Da es sich um ein strukturelles M2-Metamodell handelt, ist kein Laufzeit-Sequenzdiagramm dargestellt; das Metamodell steuert jedoch deterministisch den Socket-Lifecycle in der Adaptive-Laufzeitumgebung (ara::com / Network Stack):
- Manifest-Verarbeitung (Startup):
- Der Execution Manager startet den Server-Prozess; der Kommunikationsstack parst das
EthernetRawDataStreamServerMapping.
- Der Execution Manager startet den Server-Prozess; der Kommunikationsstack parst das
- Socket-Initialisierung:
- Erzeugung des UDP-Sockets (
AF_INET/AF_INET6,SOCK_DGRAM). - Iteratives Setzen aller deklarierten
socketOption-Werte viasetsockopt(). - Binden (
bind()) an den durchlocalEndpointConfigdefinierten lokalen Endpunkt.
- Erzeugung des UDP-Sockets (
- Stream-Konfiguration:
- Bei Multicast (
multicastCredentials): Konfiguration von Multicast-Interface, TTL und ggf. Beitreten viaIP_ADD_MEMBERSHIP/IPV6_JOIN_GROUP. - Bei Unicast (
unicastUdpCredentials): Vorbereitung der Zieladresse fürsendto()bzw. Aufruf vonconnect()zur Fixierung des Sendeendpunkts.
- Bei Multicast (
- Datenübertragung & Fehlerbehandlung:
- Asynchroner, unquittierter Versand von Raw-Payloads (Zero-Copy-Buffer direkt auf Treiber-/Socket-Ebene).
- Eventuelle Übertragungs- oder Buffer-Überlauffehler werden primär über POSIX-Errnos (
EWOULDBLOCK,EMSGSIZE,ENOBUFS) behandelt und an die Diagnostic-Log-and-Trace (DLT)- bzw. PHM-Instanz gemeldet.
4. Normative Relevanz & Entwickler-Hinweise
- Manifest-Konfiguration & Validierung:
RawDataStreamEthernetUdpCredentialserfordert semantisch entweder eine gültigeipV4AddressoderipV6Addresszusammen mitudpPort. Die Spezifikation erzwingt Konsistenz zwischen IP-Familie des lokalen Endpunkts und der Remote-Credentials.
- Socket-Optionen:
- Das Attribut
socketOptionist ein Freitext-String-Array. Entwickler müssen sicherstellen, dass die Strings exakt den vom Ziel-Betriebssystem (z. B. QNX Neutrino, Linux/POSIX) und dem verwendeten IP-Stack unterstützten Bezeichnern entsprechen. Fehlerhafte Optionen führen typischerweise zum Scheitern der Service-Initialisierung zur Laufzeit.
- Das Attribut
- Multicast vs. Unicast:
- Durch die getrennten Kompositionen
multicastCredentialsundunicastUdpCredentialskann ein Server-Stream entweder an dedizierte Unicast-Ziele oder an eine Multicast-Gruppe gesendet werden. Beide Rollen sind mit Kardinalität[0..1]optional, schließen sich in der Regel jedoch je nach Topologie logisch aus.
- Durch die getrennten Kompositionen
- API-Vertrag:
- Der Applikationscode interagiert ausschließlich über die durch den AUTOSAR-Codegenerator erzeugten C++-Schnittstellen von
RawDataStreamServerInterface. Alle Low-Level-Details (UDP-Frames, Pufferung, IP-Adressen) sind im Manifest gekapselt und für den Application-Layer transparent.
- Der Applikationscode interagiert ausschließlich über die durch den AUTOSAR-Codegenerator erzeugten C++-Schnittstellen von
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.