AUTOSAR_AP_EXP_SensorInterfaces
FIG-6f401c13cf9687ec
932 × 532 px
3 Release(s)
Figure 5.3: Service Template with Capability vector and service profiles
SHA-256 Inhalts-Fingerabdruck:
6f401c13cf9687ecf9b4d358794779e37272b58c7308f82b6244742b47a97459
✦
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
- Diagrammtyp: Konzeptuelles Schnittstellen- und Datenstrukturschaubild (IDL-/Pseudocode-Strukturdarstellung mit semantischer Annotation).
- Technischer Zweck: Modellierung des Mappings von ISO-Sensorstandards (insbesondere ISO 23150) auf serviceorientierte AUTOSAR-Schnittstellen (primär AUTOSAR Adaptive Platform /
ara::com). - Architektur-Einordnung:
- Standardisierung generischer Sensorschnittstellen (Radar, Kamera, Lidar, Ultraschall) für ADAS/AD-Umgebungen.
- Trennung von statischer Dienstkonfiguration (Service-Profile) und dynamischer Laufzeit-Fähigkeitserkennung (Capability Vector) zur Optimierung von Serialisierungsaufwand, Bandbreite und Speicherallokation.
2. Komponenten, Entitäten & Schnittstellen
- Service-Profile (Entwurfskonzept
flex.startup/ Profilierungsdimension ➁):Service-Example-1(Low-Precision / Low-Footprint Profil):- Basistypen mit reduzierter Wortbreite:
int8 a,optional int8 b,float16 c, dynamische Längenfelderoptional int8 length-x,optional int8 length-y.
- Basistypen mit reduzierter Wortbreite:
Service-Example-2(High-Precision / Extended Profil):- Skalierte Datentypen für höhere Dynamik/Auflösung:
int16 a,optional int16 b,float32 c, Längenfelderoptional int16 length-x,optional int16 length-y.
- Skalierte Datentypen für höhere Dynamik/Auflösung:
- Identische Kernstrukturen in beiden Profilen:
- Feste Felder:
serviceStructTypeX d, Array fixer GrößeserviceArrayTypeQ[16] q. - Optionale Strukturen/Pointer:
optional serviceStructTypeY e,optional serviceStructTypeW f,optional serviceArrayTypeMPointer x,optional serviceArrayTypeNPionter y.
- Feste Felder:
- Capability Vector (Dimension ➀):
- Schnittstellenmethode / Getter:
const bitVector capabilities();(Abfrage der anbieterseitig unterstützten ISO-Optionals). - Vektorformat: Tupel aus Ein-Bit-Flags
(0/1, 0/1, 0/1, 0/1, 0/1, 0/1, 0/1)gemappt auf standardisierte ISO-Optionals:- A: Feld
b(optional int8/int16) - B: Struktur
e(optional serviceStructTypeY) - C: Struktur
f(optional serviceStructTypeW) - D: Feld
length-x(optional int8/int16) - E: Pointer/Array
x(optional serviceArrayTypeMPointer) - F: Feld
length-y(optional int8/int16) - H: Pointer/Array
y(optional serviceArrayTypeNPionter)
- A: Feld
- Schnittstellenmethode / Getter:
3. Dynamisches Verhalten & Sequenzablauf
- Service Discovery & Binding (Startphase /
flex.startup):- Der Client (z. B. Sensor Fusion Algorithmus) sucht und bindet das instanziierte Service-Interface (
Service-Example-1oderService-Example-2) passend zu seinen Rechen- und Auflösungsanforderungen.
- Der Client (z. B. Sensor Fusion Algorithmus) sucht und bindet das instanziierte Service-Interface (
- Fähigkeitsabfrage (Capability Negotiation):
- Synchrone Abfrage der Sensorfähigkeiten über
capabilities()vor Beginn des zyklischen Datenstreamings bzw. beim Initialisierungswechsel.
- Synchrone Abfrage der Sensorfähigkeiten über
- Payload-Verarbeitung & Deserialisierung:
- Der Client wertet den Bitvektor aus. Ist Bit i nicht gesetzt (
0), wird das entsprechende optionale Datum im Deserialisierer/SOME/IP-Parser übersprungen bzw. nicht allokiert. - Dynamische Arrays (
x,y) werden nur dann dereferenziert und geparst, wenn sowohl das Längenfeld (Dbzw.F) als auch der Datenpointer (Ebzw.H) durch gesetzte Bits als gültig markiert sind.
- Der Client wertet den Bitvektor aus. Ist Bit i nicht gesetzt (
4. Normative Relevanz & Entwickler-Hinweise
- SOME/IP- und Serialisierungs-Vertrag:
- Optionale Felder bedingen eine dynamische Serialisierung (z. B. TLV-Encoding im SOME/IP-Payload) oder die strikte Auswertung des
capabilities()-Bitvektors vor dem Zugriff auf Datenfelder, um Out-of-Bounds-Lesefehler oder Null-Pointer-Dereferenzierungen zu verhindern.
- Optionale Felder bedingen eine dynamische Serialisierung (z. B. TLV-Encoding im SOME/IP-Payload) oder die strikte Auswertung des
- C++-Interface-Design (
ara::com/ Adaptive AUTOSAR):- Optionale Attribute erfordern typischerweise Wrapper wie
ara::core::Optional<T>oderstd::optional<T>. - Dynamische Längenfelder (
length-x,length-y) müssen konsistent mit der Containergröße der Pointer/Arrays (serviceArrayTypeMPointer) synchronisiert sein; Längen-Inkonsistenzen müssen applikationsseitig über Validierungsroutinen abgefangen werden.
- Optionale Attribute erfordern typischerweise Wrapper wie
- Architektur-Richtlinie für Sensor-Integratoren:
- Sensor-Zulieferer müssen das statische Profil (Datentypenauflösung 8/16-Bit vs. 16/32-Bit) zur Konfigurationszeit festlegen.
- Optionale Sensordaten (z. B. Objekterweiterungen, Vertrauenswerte, Kovarianzmatrizen) dürfen zur Laufzeit dynamisch über den Capability-Vektor de-/aktiviert werden, ohne dass eine neue Interface-Definition generiert werden muss.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.