AUTOSAR_AP_EXP_SensorInterfaces
FIG-b253bffdeee4e015
932 × 531 px
4 Release(s)
Figure 5.4: Service Registering flow for capability vector checking
SHA-256 Inhalts-Fingerabdruck:
b253bffdeee4e015d6a5f28c2574dedb3ca9fc640d633a69c3653b5d3822060b
✦
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-Sequenzdiagramm mit assoziierter IDL-/Interface-Strukturdefinition (Service-Interface-Deklaration in Pseudo-C++/IDL).
- Funktionale Einordnung: AUTOSAR Adaptive Platform (
ara::com/ Service-Oriented Architecture) im Kontext vonAUTOSAR_EXP_SensorInterfaces. - Technischer Zweck: Dynamische Feature-Aushandlung auf Applikationsebene („Capability Vector Checking“). Standardisiert das Auffinden und Validieren von optionalen Sensordatenfeldern (z. B. nach ISO-Profilen) zwischen Service-Provider (Sensor) und Service-Consumer (User), um Schnittstellen-Explosion bei variabler Sensorausstattung zu vermeiden.
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lifelines:
Provider: Sensor-Dienstleister (z. B. Smart Sensor ECU / Sensor Application). Hält eine feste Merkmalsausprägung (CAP = 1101bzw.CAP = 1110).SD / Registry: AUTOSAR Service Discovery Daemon bzw. Kommunikations-Registry (ara::comRuntime Broker).User: Sensor-Consumer / Client-Applikation mit spezifischen Mindestanforderungen an den Datenstrom (CAP = 0001).
- Service-Interface
Service-Example:- Methode:
const bitVector capabilities(): Liefert den Bitvektor der aktuell vom Provider implementierten optionalen Features/Attribute.
- Pflichtfelder (Mandatory Data Elements):
int16 afloat32 cserviceStructTypeX d
- Optionale Felder (Optional Data Elements mit ISO-Profilzuordnung):
optional int16 b(zugeordnet ISO-Profil A)optional serviceStructTypeY e(zugeordnet ISO-Profil B)optional serviceStructTypeW f(zugeordnet ISO-Profil C)
- Methode:
- Kardinalitäten / Bit-Mapping:
- Jedes Bit im
bitVectorrepräsentiert ein diskretes optionales Datenfeld bzw. Funktionsprofil. Bit 0 (LSB) korrespondiert hier mit dem vom User geforderten optionalen Datensatz.
- Jedes Bit im
3. Dynamisches Verhalten & Sequenzablauf
- Service Announcement:
Providerpubliziert seine Dienstverfügbarkeit viaOfferService(Service-Example)an die zentraleSD / Registry. - Service Discovery:
Userfragt überFindService(Service-Example)nach passenden Diensten an. DieSD / Registryantwortet mit dem Service-Handle (Handle of Service-Example Provider). Zu diesem Zeitpunkt ist nur die grundlegende Interface-ID validiert, nicht jedoch der Umfang der optionalen Member. - Capability Handshake (Client-to-Provider RPC):
Der
Userinitiiert über das erhaltene Handle einen synchronen/asynchronen RPC-Methodenaufrufcapabilities()direkt an denProvider. - Evaluierung & Verzweigung (Subset-Prüfung via Bitmaske):
- Positivpfad (Match):
Providermeldet1101. Prüflogik: (CAP_User \ & \ CAP_Provider) == CAP_User → (0001_2 \ & \ 1101_2) = 0001_2 (Bedingung erfüllt:OK). Das geforderte optionale Feature ist vorhanden; der Verbindungsaufbau / das Event-Subscription wird fortgesetzt. - Negativpfad (Mismatch):
Anderer/rekonfigurierter
Providermeldet1110. → (0001_2 \ & \ 1110_2) = 0000_2 ≠ 0001_2 (Bedingung verletzt:KO). Dem Provider fehlt das vom Consumer zwingend benötigte optionale Feld.
- Positivpfad (Match):
- Abbruchbedingung:
Bei
KOverwirft derUserdas Provider-Handle; es erfolgt keine Datenübertragung oder Event-Abonnierung für diese Service-Instanz.
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag & Guarding:
Consumer-Applikationen dürfen optionale Felder (
std::optional<T>/ara::core::Optional<T>) nicht unkonditioniert dereferenzieren. Vor dem Zugriff auf optionale Nutzdaten ist der Aufruf voncapabilities()und die Bitmasken-Prüfung zwingend durchzuführen. - SOME/IP-Serialisierung (Wire-Level):
Optionale Struct-Elemente bedingen auf Transportebene (SOME/IP-Transformation) TLV-Encoding (Tag-Length-Value) gemäß AUTOSAR PRS SOME/IP. Der
capabilities()-Mechanismus dient der applikativen Vorabprüfung, um Deserialisierungs- und Typfehler zur Laufzeit zu unterbinden. - Initialisierungslatenz:
Die zusätzliche Roundtrip-Latenz des RPCs
capabilities()nach dem SD-Find verlängert die Time-to-Service. Für harte Echtzeitanforderungen sollte geprüft werden, ob Capabilities statisch via SOME/IP-SD-Instance-IDs/Endpoint-Options oder Manifest-Konfiguration (ServiceInstanceDeployment) vorausgewählt werden können.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.