AUTOSAR_AP_EXP_SWArchitecture
FIG-64079698f24cd844
607 × 416 px
1 Release(s)
Figure 9.100: Interfaces required by Diagnostic Management
SHA-256 Inhalts-Fingerabdruck:
64079698f24cd84444503f9231bb86b883b00b84f500cf04a9fe05dc986158af
✦
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-Schnittstellen- und Komponentendiagramm (AUTOSAR Adaptive Platform Architecture Modeling Profile
«aap*»). - Technischer Zweck: Spezifikation der strukturellen Abhängigkeiten und erforderlichen Serviceschnittstellen des Functional Clusters Diagnostic Management (DM) zu benachbarten Plattform-Clustern. Das Diagramm modelliert das DM als Daemon-basierte Architekturkomponente (
daemon-based), die für Fehlerspeicherverwaltung, UDS-Protokollabwicklung (ISO 14229-1 via DoIP/ISO 13400-2) und Session-Handling auf standardisierte Basisdienste der Adaptive Platform zurückgreift.
2. Komponenten, Entitäten & Schnittstellen
Akteure / Functional Cluster:
Diagnostic Management(«aapFunctionalCluster», Tag:daemon-based): Konsument aller modellierten Schnittstellen; agiert als zentraler Plattform-Daemon.Persistency(«aapFunctionalCluster»): Realisiert Persistierungsdienste für Diagnosedaten (DTC-Status, Freeze Frames, Extended Data Records, NvData).Log and Trace(«aapFunctionalCluster»): Realisiert standardisierte Logging- und Tracing-Dienste (ara::log).
Schnittstellen, Typen & Methoden:
FileStorage(«aapAPI, aapPortInterface»):- Rolle: Dateibasierter Speicherzugriff für größere Datenblöcke (z. B. Crash-Logs, Trace-Puffer, binäre Speicherabbilder).
- Methoden:
DeleteFile(),FileExists(),GetAllFileNames(),GetCurrentFileSize(),GetFileInfo(),OpenFileReadOnly(): ReadAccessor,OpenFileReadWrite(): ReadWriteAccessor,OpenFileWriteOnly(): ReadWriteAccessor,RecoverFile(),ResetFile().
KeyValueStorage(«aapAPI, aapPortInterface»):- Rolle: Granulare Key-Value-Persistierung für DTC-Ereignisse, Debounce-Counter, DID-Werte und Zustandskonfigurationen.
- Methoden:
DiscardPendingChanges(),GetAllKeys(),GetValue(),KeyExists(),RecoverKey(),RemoveAllKeys(),RemoveKey(),ResetKey(),SetValue(),SyncToStorage().
Logger(«aapAPI, aapNativeInterface»):- Rolle: Direkte native Schnittstelle (
ara::log::Logger) zur Übermittlung strukturierter Log- und Diagnose-Trace-Events an DLT. - Methoden:
IsEnabled(),Log(MsgId, Params),LogDebug(): LogStream,LogError(): LogStream,LogFatal(): LogStream,LogInfo(): LogStream,LogVerbose(): LogStream,LogWarn(): LogStream,WithLevel(): LogStream.
- Rolle: Direkte native Schnittstelle (
Beziehungen & Stereotypen:
- Port-basierte Kopplung (
«use»,«aapRequiredPort»): DM greift über formale Required Ports aufFileStorageundKeyValueStoragezu (AUTOSAR-Port-Modellierung, typisiert überPortInterface). - Native API-Nutzung (
«use»): Direkter C++-Aufruf vonLoggerohne Port-Overhead (modelliert alsNativeInterface). - Interface-Realisierung (gestrichelte Linie mit geschlossener, nicht gefüllter Dreieckspitze):
PersistencyrealisiertFileStorageundKeyValueStorage;Log and TracerealisiertLogger.
3. Dynamisches Verhalten & Sequenzablauf
- Diagnosedaten-Persistierung (Persistency):
- Beim Hochlauf initialisiert der DM-Daemon über seine Required Ports den Zugriff auf
KeyValueStorageundFileStorage. - Granulare Statusdaten (z. B. DTC-Statusmasken, UDS-Snapshots, Extended Data Records, Debounce-Zähler) werden über
GetValue()abgefragt und bei Statusänderungen viaSetValue()aktualisiert. - Zur transaktionalen Sicherung im nichtflüchtigen Speicher ruft DM
SyncToStorage()auf; fehlerhafte Transaktionen werden überDiscardPendingChanges()verworfen. - Größere Diagnosedaten (z. B. Speicherabbilder, Log-Dateien) werden dateibasiert über
OpenFileReadOnly(),OpenFileReadWrite()oderOpenFileWriteOnly()unter Verwendung der entsprechenden Accessor-Objekte gelesen oder geschrieben. - Im Fehlerfall ermöglichen
RecoverKey()bzw.RecoverFile()oderResetKey()/ResetFile()die Wiederherstellung redundanter oder persistenter Datensätze.
- Beim Hochlauf initialisiert der DM-Daemon über seine Required Ports den Zugriff auf
- Diagnose-Logging und Tracing (Log and Trace):
- Während der Protokollverarbeitung und bei Zustandsübergängen prüft DM über
Logger::IsEnabled(), ob Logging auf dem gewünschten Level aktiv ist. - Bei aktivem Logging werden Diagnoseereignisse, UDS-Meldungen und Fehlerspeicheroperationen über Loglevel-spezifische Methoden (
LogInfo(),LogWarn(),LogError(),LogDebug(), etc.) oder parametrisiert viaLog(MsgId, Params)in denLogStreamgeschrieben.
- Während der Protokollverarbeitung und bei Zustandsübergängen prüft DM über
4. Normative Relevanz & Entwickler-Hinweise
- Architekturrolle des DM-Daemons: Diagnostic Management ist als zentraler Plattformdienst (
daemon-based) ausgelegt und kapselt die UDS-Protokollverarbeitung sowie den Fehlerspeicher der Adaptive Platform. - Port-basierte vs. native Kopplung:
- Die Anbindung an
Persistencyerfolgt strikt über Ports («aapRequiredPort») mit typisierten Port-Interfaces («aapPortInterface»). Dies erfordert entsprechende Port-Konfigurationen im AUTOSAR-Manifest (ARXML) und erlaubt die Entkopplung von Persistenz-Backends. - Die Bindung an
Loggerist als«aapNativeInterface»spezifiziert. Sie erfolgt ohne Port-Abstraktion direkt über C++-APIs (ara::log), was den Aufruf-Overhead bei hochfrequentem Logging minimiert.
- Die Anbindung an
- Transaktions- und Persistenzrichtlinien: Änderungen an Schlüsselwerten verbleiben im flüchtigen Speicherpuffer, bis
SyncToStorage()explizit aufgerufen wird. Entwickler von Diagnosefunktionen müssen sicherstellen, dass kritische DTC-Zustandswechsel vor dem Shutdown oder bei Crash-Ereignissen synchronisiert werden. - Wegfall der direkten IAM-Abhängigkeit: Das Functional Cluster DM modelliert keine direkte strukturelle Schnittstellenabhängigkeit mehr zu
Identity and Access Management(PolicyDecisionPoint). Autorisierungs- und Zugriffskontrollmechanismen für Diagnosedienste werden architektonisch außerhalb dieser direkten Schnittstellenbeziehung behandelt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.