AUTOSAR_SWS_DiagnosticEventManager
FIG-05ca56d3fb843e2c
846 × 820 px
1 Release(s)
Figure 9.3: Sequence diagram of Dem_ClearDTC clearing a single DTC Dem-internally
SHA-256 Inhalts-Fingerabdruck:
05ca56d3fb843e2c2824c394eeae8d7d8c0be72233c0b7bc686dd48062d03c62
✦
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-Sequenzdiagramm (Interaktionsdiagramm gemäß AUTOSAR BSW-Spezifikationsstandard).
- Funktionale Einordnung: Detaillierung des Dem-internen Ablaufs zur Bereinigung eines Einzelfehlers (Single DTC Clear), ausgelöst durch den Diagnostic Communication Manager (
Dcm) im Kontext von UDS Service 0x14 (ClearDiagnosticInformation). - Architektur-Kontext: BSW Diagnostic Services Layer (Interaktion zwischen
Dcm,Demund angebundenen SW-Cs bzw. BSW-Modulen über RTE/C-APIs).
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lifelines:
Dcm(«module»): Diagnostic Communication Manager; Auslöser des Löschauftrags aus der Diagnoseschicht.Dem(«module»): Diagnostic Event Manager; führt die Validierung, Pufferbereinigung, Status-Rücksetzung und Speicherfreigabe durch.Mode Requesting SW-C(bzw. Monitor-Owner SW-C): Applikationskomponente, die diagnostische Monitore kapselt.
- Schnittstellen & Methoden:
- Inter-Modul-API (
Dcm→Dem):Dem_ClearDTC(Std_ReturnType, uint8)(Übergabe von ClientId / DTC-Origin / Selektor; synchroner oder asynchroner Start).Dem_ClearDTC()(Return-Pfad an den Dcm).
- Dem-interne Operationen (Self-Calls):
Process / delete events of EventBuffer(): Verwerfen anstehender Event-Meldungen im internen Puffer zur Konsistenzsicherung.Dem_ResetEventStatus(Std_ReturnType, Dem_EventIdType): Re-Initialisierung des UDS-Statusbytes (Dem_UdsStatusByteType).Dem_ClearPrestoredFreezeFrame(Std_ReturnType, Dem_EventIdType): Freigabe flüchtiger Prestored-Freeze-Frame-Puffer.Clear FreezeFrame data(): Freigabe/Löschen der persistenten Freeze-Frame-Einträge im Fehlerspeicher.
- Dem → SW-C Schnittstelle (Callback / Port):
<Module>_DemInitMonitorFor<EventName>(Std_ReturnType, Dem_InitMonitorReasonType)bzw. Port-InterfaceInitMonitorForEventmit GrundDEM_INIT_MONITOR_CLEAR.Xxx_DemInitMonitor{EventId}()(Return-Signal des Monitors).
- Inter-Modul-API (
3. Dynamisches Verhalten & Sequenzablauf
- Trigger:
Dcmruft synchronDem_ClearDTC(...)auf, nachdem eine UDS-Service-0x14-Anforderung für eine spezifische DTC-Nummer empfangen und validiert wurde. - Buffer Flush:
Demleert/verarbeitet den internen Event-Eingangspuffer (Process / delete events of EventBuffer()), um Race Conditions durch zwischenzeitlich gemeldete Monitor-Status zu verhindern. - Event-Status-Reset:
- Iteration über alle dem DTC zugeordneten
Dem_EventIdType-Instanzen (1:N-Mapping zwischen DTC und Events). - Ausführung von
Dem_ResetEventStatus(...)zur Rücksetzung der UDS-Statusbits (u. a.TestFailed = 0,ConfirmedDTC = 0,PendingDTC = 0).
- Iteration über alle dem DTC zugeordneten
- Prestored Freeze Frame Purge (konditional):
- Sofern
DemPrestoreFreezeFrame == TRUEkonfiguriert ist und Daten vorliegen, Aufruf vonDem_ClearPrestoredFreezeFrame(...)für alle zugehörigen EventIDs.
- Sofern
- Freeze-Frame-Bereinigung (
loop ClearSignalEvents):- Schleife über alle relevanten Events zum Löschen der primären/sekundären Freeze-Frame-Datensätze (
Clear FreezeFrame data()) aus dem RAM/NVRAM-Spiegelspeicher.
- Schleife über alle relevanten Events zum Löschen der primären/sekundären Freeze-Frame-Datensätze (
- Re-Initialisierung der Monitore (optional / konfigurationsabhängig):
- Trigger von
<Module>_DemInitMonitorFor<EventName>(..., DEM_INIT_MONITOR_CLEAR)an die zuständige SW-C/BSW. - Rückmeldung der Komponente via
Xxx_DemInitMonitor{EventId}().
- Trigger von
- Rückmeldung an Dcm:
Demschließt die Funktion ab und meldet den Status (z. B.DEM_CLEAR_OKoderDEM_CLEAR_PENDING) via Return-Pfeil an denDcmzurück.
4. Normative Relevanz & Entwickler-Hinweise
- DTC-zu-Event-Kardinalität (1:N): Ein DTC aggregiert häufig mehrere Events. Entwickler müssen sicherstellen, dass Bereinigungen stets atomar über alle verknüpften
DemEventParameteriterieren. - NVRAM-Latenz & Asynchronität: Das Löschen von Freeze-Frames erfordert NVRAM-Schreibzugriffe (über
NvM). In realen Implementierungen blockiertDem_ClearDTCnicht bis zum NVRAM-Schreibabschluss, sondern arbeitet asynchron mit RückgabewertDEM_CLEAR_PENDING; der Dcm pollt den Fortschritt zyklisch überDem_GetJobStatusbzw.Dem_ClearDTC. - Entprellung in Applikations-Monitoren: Verwendet eine SW-C eigenes Debouncing (intern/algorithmisch statt Dem-Debounce-Counter), ist das Interface
InitMonitorForEventzwingend erforderlich. Bei Empfang vonDEM_INIT_MONITOR_CLEARmüssen Applikationsentwickler ihre internen Fehlerzähler, Integratoren und Zustände unmittelbar auf den Initialwert zurücksetzen. - Reentrancy-Restriktionen: Innerhalb des Callbacks
DemInitMonitorFor<EventName>dürfen keine blockierenden oder synchron rückkoppelnden Dem-APIs aufgerufen werden, um Rekursionen und Deadlocks im Dem-Zustandsautomaten zu verhindern.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.