AUTOSAR_AP_EXP_SWArchitecture
FIG-ce869eaca7549641
930 × 802 px
1 Release(s)
Figure 9.106: Common interfaces of Diagnostic Management (3 of 3)
SHA-256 Inhalts-Fingerabdruck:
ce869eaca7549641d276b8f2e583b983164aa825d63b70abb57b6258637c82cc
✦
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: Hybrides Architekturschaubild der AUTOSAR Adaptive Platform (AP), bestehend aus formalen tabellarischen Schnittstellendefinitionen (Native C++ Interfaces) und einem UML-Klassendiagramm/Komponentendiagramm mit Schnittstellenrealisierung.
- Funktionale Einordnung: AUTOSAR Adaptive Platform (AUTOSAR_AP_EXP_SWArchitecture, Release R25-11), Functional Cluster Diagnostic Management (DM) (
ara::diag). Das Diagramm spezifiziert die generischen Hilfsschnittstellen (CancellationHandler,MetaInfo) für langlebige bzw. kontextsensitive Diagnoseoperationen sowie das Bereitstellungs- und Zugriffsmuster für Extended Data Records (EDR) zwischen einer Adaptive Application und dem daemon-basierten Diagnostic Management.
2. Komponenten, Entitäten & Schnittstellen
Entitäten & Komponenten
Adaptive Application(UML-Komponente):- Client-/Provider-Anwendung im User Space der Adaptive Platform.
- Nutzt die generierte API zur Interaktion mit dem Diagnosestack.
«aapFunctionalCluster» Diagnostic Management (daemon-based)(UML-Komponente):- Plattform-Daemon der Adaptive Platform für UDS/DoIP-Diagnoseservices.
- Realisiert die Middleware- und Transport-Infrastruktur für Diagnoseanfragen.
Schnittstellen & Tabellen
CancellationHandler(Technology: Native interface,Usage: Public API):- Beschreibung: Kapselt den kooperativen Abbruchzustand langlaufender Diagnoseanfragen (z. B. Routine Control, Data Identifier, EDR-Lesen).
- Operationen:
IsCanceled(): Abfrage (Polling), ob die Service-Ausführung vom Tester oder Stack abgebrochen wurde.SetNotifier(notifier): Registrierung eines Callbacks/Notifiers, der asynchron ausgelöst wird, sobald der Abbruch signalisiert wird.
MetaInfo(Technology: Native interface,Usage: Public API):- Beschreibung: Liefert kontextbezogene Transport- und Sitzungsinformationen (z. B. Quell-/Zieladresse DoIP/UDS, Session-ID, Authentifizierungslevel) an die Applikation.
- Operationen:
GetContext(): Liefert den globalen Ausführungskontext des aktuellen Aufrufs.GetValue(key): Gibt spezifische Metainformations-Werte anhand eines Schlüssels zurück.
«aapAPI,aapPortInterface» {<extented-data-record-element-interface-name>}:- Parametrisierte Port-Schnittstelle zur Bereitstellung und Abfrage von herstellerspezifischen Zusatzdaten (Extended Data Records) zu Fehlerspeichereinträgen (DTCs).
- Operationen:
+ Offer(): Aktiviert die Schnittstelle und meldet die Bereitschaft zur Datenbereitstellung an den DM-Daemon.+ Read(): Liest den aktuellen Inhalt des Extended Data Record aus.+ StopOffer(): Zieht die Bereitstellung des Record-Elements zurück.
Beziehungen & Abhängigkeiten
- Realisierung (
InterfaceRealization):Diagnostic Managementrealisiert (gestrichelte Linie mit weißer Pfeilspitze) das Port-Interface«aapAPI,aapPortInterface» {<extented-data-record-element-interface-name>}. - Nutzungsbeziehung (
«use»Dependency):Adaptive Applicationbindet das Interface über eine gerichtete Abhängigkeit ein (Offer(),Read(),StopOffer()).
3. Dynamisches Verhalten & Sequenzablauf
- Lebenszyklus / Registrierung:
- Die
Adaptive Applicationinstanziiert das generierte Proxy/Skeleton-Element für das Extended Data Record. - Vor der Verfügbarkeit ruft die Applikation synchron
Offer()auf. DerDiagnostic Management-Daemon nimmt die Registrierung für den spezifischen DTC-/Record-Kontext entgegen.
- Die
- Datenauslese (
Read):- Bei Eintreffen einer UDS-Anfrage (z. B. Service
0x19 0x06- ReadDTCReportExtendedDataRecordByDTCNumber) leitet der Daemon die Leseanforderung überRead()an die Instanz weiter. - Der Aufruf transportiert implizit oder als Parameter Instanzen von
MetaInfo(zur Validierung der Berechtigung/des DoIP-Kanals) undCancellationHandler.
- Bei Eintreffen einer UDS-Anfrage (z. B. Service
- Abbruchsteuerung (Asynchron / Kooperativ):
- Bricht der UDS-Client die Verbindung ab (TCP-Drop, Timeout, Session-Reset), setzt der Daemon den Abbruchstatus.
- Die verarbeitende Logik in der Applikation prüft zyklisch
IsCanceled()oder reagiert auf die viaSetNotifier()hinterlegte Benachrichtigungsfunktion, um blockierende E/A-Vorgänge sofort zu terminieren und Ressourcen freizugeben.
- Deregistrierung:
- Beim Herunterfahren oder Deaktivieren der Subfunktion ruft die Applikation
StopOffer()auf; nachfolgende UDS-Anfragen quittiert der Daemon mit einem Negative Response Code (NRC, z. B.0x31Request Out Of Range).
- Beim Herunterfahren oder Deaktivieren der Subfunktion ruft die Applikation
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag (
ara::diag): Entwickler von Diagnose-Providern müssenOffer()zwingend vor Freigabe der Diagnosefunktionen im System aufrufen (üblicherweise im Übergang des Execution Management nachRunning). - Kooperative Abbruchpflicht: Bei blockierenden oder zeitintensiven Berechnungen innerhalb von
Read()muss derCancellationHandlerimplementiert bzw. ausgewertet werden. Ein Ignorieren führt bei Verbindungsabbrüchen zu Thread-Blockaden und Denial-of-Service im Diagnosestack. - Kontextsicherheit (
MetaInfo): Bei Zugriff auf sicherheitsrelevante Extended Data Records istMetaInfo::GetValue()auszuwerten, um sicherzustellen, dass die Diagnoseanfrage über eine autorisierte DoIP-Testerverbindung (Security Access Level) empfangen wurde. - Typo in Spezifikation: Der Schnittstellen-Platzhalter
extented-data-record-element-interface-nameenthält den AUTOSAR-spezifikationsinternen Tippfehler (extented statt extended); in Implementierungen entspricht dies dem kanonischen C++-Namespaceara::diag::ExtendedDataRecordbzw. anwendungsspezifisch generierten Port-Klassen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.