DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_DiagnosticEventManager FIG-77d2db8a2dbd87fb 814 × 1069 px 2 Release(s)

Figure 9.3: Sequence diagram of Dem_ClearDTC clearing a single DTC Dem-internally

SHA-256 Inhalts-Fingerabdruck: 77d2db8a2dbd87fbf645128e9ca19620b436645145acd1cbdb364fd29b611916
✦ 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, Dem und 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 den Dcm.
    • Inter-Modul- / RTE-Schnittstelle (Dem → SW-C implementing the monitoring):
      • <Module>_DemClearEventAllowed<ForCondition>(Std_ReturnType, boolean*) (Port-Interface ClearEventAllowed): Fragt die applikative Freigabe zum Löschen des Events ab.
      • <Module>_DemInitMonitorFor<EventName>(Std_ReturnType, Dem_InitMonitorReasonType) (Port-Interface InitMonitorForEvent): Re-Initialisierung des Monitors mit Grund DEM_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.

3. Dynamisches Verhalten & Sequenzablauf

  1. DTC-Selektion & Vorbereitung (Dcm → Dem):
    • Dcm ruft synchron Dem_SelectDTC(..., ClientId, DTC, DTCFormat, DTCOrigin) auf, um den zu löschenden Fehlercode im Dem zu fixieren, und empfängt die synchrone Bestätigung.
    • Dcm verifiziert über Dem_GetDTCSelectionResultForClearDTC(..., ClientId) die Gültigkeit der Selektion für den Löschpfad.
  2. Löschauftrag & Freigabeabfrage:
    • Dcm ruft Dem_ClearDTC(..., ClientId) auf.
    • Dem fragt ü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.
  3. Konditionale Bereinigung (opt [Allowed == TRUE]):
    • Nur wenn Allowed == TRUE signalisiert 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) an Any 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) an Any 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.
  4. Abschluss:
    • Dem liefert das synchrone Funktionsergebnis von Dem_ClearDTC an den Dcm zurück.

4. Normative Relevanz & Entwickler-Hinweise

  • Zweistufiger Selektions- und Löschprozess:
    • Das Löschen eines DTC durch den Dcm erfordert zwingend das Selektionsprotokoll (Dem_SelectDTC gefolgt von Dem_GetDTCSelectionResultForClearDTC) vor dem Aufruf von Dem_ClearDTC. Die ClientId muss über alle Schritte konsistent beibehalten werden.
  • Applikative Freigabekontrolle (ClearEventAllowed):
    • SW-Cs können das Löschen über die Schnittstelle ClearEventAllowed verweigern (Allowed == FALSE), falls der aktuelle Fahrzyklus, Kalibrierprozesse oder Sicherheitsbedingungen dies erfordern. Bei Verweigerung werden weder Statusbytes noch Freeze Frames gelöscht.
  • 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.
  • Pufferkonsistenz:
    • Das gezielte Verarbeiten bzw. Leeren des internen EventBuffer vor der Status- und Freeze-Frame-Bereinigung verhindert Race Conditions durch asynchron eingehende Monitor-Meldungen während des Löschvorgangs.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R19-11 → R20-11 keine inhaltliche Änderung Vorgänger: FIG-6a02c092e9d43765

Keine inhaltlichen Änderungen erkennbar.

R21-11 → R22-11 redaktionell Nachfolger: FIG-f5448fae6cc5eb64
  • Akteure / Lifeline Dcm: Das Dekompositionssymbol (zwei verschlungene Ovale) unterhalb des Modulnamens im Kopf der Lifeline wurde entfernt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

        |  |  |    |   |    |  |  |   |  |    |  |  |  |  |  |    |  |  |   |     |  |     |  |  |  |   |  |  |   |  |  |   |   |  |  |  |  |   |  |  |  |  | «module» | Dcm | «module» | Dem | SW-C implementing | the monitoring |         |  |  |  |  |   |   |   |    |   |  |  |   |  |    |  |  |   |  |        |     |  |  |   |    |  |  | ! |         |         |  |  |  |  |   |   |   |    |    |  |  |   |  |    |  |  |  |  | Any SW-C | opt | [Allowed == TRUE] | <Module>_DemInitMonitorFor<EventName>(Std_ReturnType, Dem_InitMonitorReasonType) | reset the events status byte and UDS status byte() | Clear FreezeFrame data() | <Module>_DemClearEventAllowed<ForCondition>(Std_ReturnType, boolean*) | <Module>_DemTriggerOnEventData(Std_ReturnType, Dem_EventIdType) | clean prestored FreezeFrame of related events() | Dem_SelectDTC(Std_ReturnType, uint8, uint32, Dem_DTCFormatType, Dem_DTCOriginType) | Trigger status byte related callbacks (e.g. <Module>_DemTriggerOnEventUdsStatus) | Process / delete events of EventBuffer() | Dem_GetDTCSelectionResultForClearDTC(Std_ReturnType, uint8) | Dem_ClearDTC(Std_ReturnType, uint8)

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_DiagnosticEventManager S. 356 9.3 Figure 9.3: Sequence diagram of Dem_ClearDTC clearing a single DTC Dem-internally
R21-11 AUTOSAR_SWS_DiagnosticEventManager S. 357 9.3 Figure 9.3: Sequence diagram of Dem_ClearDTC clearing a single DTC Dem-internally