AUTOSAR_SWS_DiagnosticEventManager
FIG-6a02c092e9d43765
856 × 1125 px
2 Release(s)
Figure 9.3: Sequence diagram of Dem_ClearDTC clearing a single DTC Dem-internally
SHA-256 Inhalts-Fingerabdruck:
6a02c092e9d4376546c821478d85df40e79d8975ff287568b2af0d6078cfde5e
✦
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 (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; stößt Selektion, Selektionsabfrage und den DTC-Löschauftrag an.Dem(«module»): Diagnostic Event Manager; führt Selektion, Freigabeprüfung, Pufferbereinigung, Status-Reset, Freeze-Frame-Löschung sowie Callback-Benachrichtigungen durch.SW-C implementing the monitoring: Spezifische Software-Komponente bzw. BSW-Modul, die das Diagnose-Event überwacht; beantwortet Freigabeanfragen und empfängt Monitor-Initialisierungsaufrufe.Any SW-C: Beliebige Software-Komponente(n) oder BSW-Module; registriert für generische UDS-Status- und Eventdaten-Benachrichtigungen.
- Schnittstellen & Methoden:
- Inter-Modul-API (
Dcm→Dem):Dem_SelectDTC(Std_ReturnType, uint8, uint32, Dem_DTCFormatType, Dem_DTCOriginType): Selektiert DTC, DTC-Format und DTC-Origin für den angegebenen Diagnose-Client.Dem_GetDTCSelectionResultForClearDTC(Std_ReturnType, uint8): Prüft das Selektionsergebnis vor Durchführung des Löschvorgangs.Dem_ClearDTC(Std_ReturnType, uint8): Beauftragt das Löschen des zuvor selektierten DTC für die Client-ID.- Synchroner Return-Pfad
Dem_ClearDTC()an denDcm.
- Inter-Modul- / RTE-Schnittstelle (
Dem→SW-C implementing the monitoring):<Module>_DemClearEventAllowed<ForCondition>(Std_ReturnType, boolean*)(Port-InterfaceClearEventAllowed): Fragt die applikative Freigabe zum Löschen des Events ab.<Module>_DemInitMonitorFor<EventName>(Std_ReturnType, Dem_InitMonitorReasonType)(Port-InterfaceInitMonitorForEvent): Re-Initialisierung des Monitors mit GrundDEM_INIT_MONITOR_CLEAR.- Unbenannter Return-Pfad der SW-C an das Dem.
- Inter-Modul- / RTE-Schnittstelle (
Dem→Any SW-C):Trigger status byte related callbacks (e.g. <Module>_DemTriggerOnEventUdsStatus): Benachrichtigung abonnierter SW-Cs über UDS-Statusbyte-Änderungen.<Module>_DemTriggerOnEventData(Std_ReturnType, Dem_EventIdType): Benachrichtigung bei Aktualisierung ereignisbezogener Diagnosedaten.
- Dem-interne Operationen (Self-Calls):
Process / delete events of EventBuffer(): Verwerfen bzw. Abarbeiten anstehender Ereignismeldungen im Dem-internen Event-Puffer.reset the events status byte and UDS status byte(): Rücksetzen des Event-Statusbytes und des UDS-DTC-Statusbytes für alle dem DTC zugeordneten Events.clean prestored FreezeFrame of related events(): Verwerfen flüchtiger Prestored Freeze Frames zugehöriger Events.Clear FreezeFrame data(): Freigabe und Löschen der persistenten Freeze-Frame-Einträge im Fehlerspeicher.
- Inter-Modul-API (
3. Dynamisches Verhalten & Sequenzablauf
- DTC-Selektion & Vorbereitung (
Dcm→Dem):Dcmruft synchronDem_SelectDTC(..., ClientId, DTC, DTCFormat, DTCOrigin)auf, um den zu löschenden Fehlercode im Dem zu fixieren, und empfängt die synchrone Bestätigung.Dcmverifiziert überDem_GetDTCSelectionResultForClearDTC(..., ClientId)die Gültigkeit der Selektion für den Löschpfad.
- Löschauftrag & Freigabeabfrage:
DcmruftDem_ClearDTC(..., ClientId)auf.Demfragt über<Module>_DemClearEventAllowed<ForCondition>(..., &Allowed)bei der überwachenden SW-C (SW-C implementing the monitoring) an, ob das Löschen zulässig ist.- Die SW-C antwortet synchron mit dem gesetzten Freigabeparameter
Allowed.
- Konditionale Bereinigung (
opt [Allowed == TRUE]):- Nur wenn
Allowed == TRUEsignalisiert wird, läuft die Bereinigungskette ab: - Buffer Flush: Ausführung von
Process / delete events of EventBuffer()zur Konsolidierung des internen Eingangspuffers. - Status-Reset:
reset the events status byte and UDS status byte()für alle dem DTC zugeordneten EventIDs. - Statusbyte-Callbacks: Triggerung registrierter Callback-Funktionen (z. B.
<Module>_DemTriggerOnEventUdsStatus) anAny SW-C. - Prestored Freeze Frames: Bereinigung flüchtiger Daten mittels
clean prestored FreezeFrame of related events()(konditional, falls Prestored Freeze Frames vorhanden). - Freeze-Frame-Speicher: Persistente Freeze-Frame-Datensätze werden via
Clear FreezeFrame data()für alle relevanten EventIDs aus dem Fehlerspeicher gelöscht. - Event-Daten-Trigger: Aufruf von
<Module>_DemTriggerOnEventData(..., EventId)anAny SW-C. - Monitor Re-Initialisierung (optional): Aufruf von
<Module>_DemInitMonitorFor<EventName>(..., DEM_INIT_MONITOR_CLEAR)an die überwachende SW-C mit anschließender Rückkehr.
- Nur wenn
- Abschluss:
Demliefert das synchrone Funktionsergebnis vonDem_ClearDTCan denDcmzurück.
4. Normative Relevanz & Entwickler-Hinweise
- Zweistufiger Selektions- und Löschprozess:
- Das Löschen eines DTC durch den Dcm erfordert zwingend das Selektionsprotokoll (
Dem_SelectDTCgefolgt vonDem_GetDTCSelectionResultForClearDTC) vor dem Aufruf vonDem_ClearDTC. Die ClientId muss über alle Schritte konsistent beibehalten werden.
- Das Löschen eines DTC durch den Dcm erfordert zwingend das Selektionsprotokoll (
- Applikative Freigabekontrolle (
ClearEventAllowed):- SW-Cs können das Löschen über die Schnittstelle
ClearEventAllowedverweigern (Allowed == FALSE), falls der aktuelle Fahrzyklus, Kalibrierprozesse oder Sicherheitsbedingungen dies erfordern. Bei Verweigerung werden weder Statusbytes noch Freeze Frames gelöscht.
- SW-Cs können das Löschen über die Schnittstelle
- Entkopplung und Callback-Infrastruktur:
- Statusbyte-Änderungen und Datenänderungen während des Löschens werden über standardisierte RTE-Benachrichtigungsschnittstellen (
DemTriggerOnEventUdsStatus,DemTriggerOnEventData) synchron an abonnierende Applikationskomponenten propagiert.
- Statusbyte-Änderungen und Datenänderungen während des Löschens werden über standardisierte RTE-Benachrichtigungsschnittstellen (
- Pufferkonsistenz:
- Das gezielte Verarbeiten bzw. Leeren des internen
EventBuffervor der Status- und Freeze-Frame-Bereinigung verhindert Race Conditions durch asynchron eingehende Monitor-Meldungen während des Löschvorgangs.
- Das gezielte Verarbeiten bzw. Leeren des internen
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.