DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_Diagnostics FIG-663987a8ae5c47dc 958 × 1283 px 6 Release(s)

Figure 7.8: Combined displacement criteria processing

SHA-256 Inhalts-Fingerabdruck: 663987a8ae5c47dc50ee1d28be67aeef325b6ad72763d0b01256c08b09d27018
✦ 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

  • Diagrammtyp: UML 2.x Aktivitätsdiagramm (Activity Diagram) mit Entscheidungsknoten (Decision Nodes), Kontrollfluss-Verzweigung (Fork/Branch) und Aktivitätsendknoten (Activity Final Nodes).
  • Architektur-Kontext:
    • Komponente: Diagnostic Management (DM) der AUTOSAR Adaptive Platform (spezifiziert in AUTOSAR_AP_SWS_Diagnostics, äquivalent zur Verdrängungslogik im Classic Platform Dem).
    • Funktionaler Zweck: Normative Definition des deterministischen Verdrängungsalgorithmus (Event Memory Entry Displacement). Er greift, wenn der zugeordnete Ereignisspeicher vollständig allokiert ist (Event memory is already full) und ein neu qualifiziertes Diagnoseereignis (reported event) persistiert werden muss.
    • Ziel: Geordneter Konfliktentscheid zwischen Datenverlust eines bestehenden Eintrags (Displacement / Aging-Preemption) und Verwerfen des neuen Ereignisses (Discard).

2. Komponenten, Entitäten & Schnittstellen

  • Akteure & Datenstrukturen:
    • Event Memory (Ereignisspeicher): Konfigurierter Speicherbereich mit fixer Kapazität für Fehlerspeichereinträge (DTCs, Freeze Frames, Extended Data Records).
    • Reported Event: Eintreffendes, speicherwürdiges Diagnoseereignis mit zugeordnetem statischem Attribut Priority.
    • Found Entries (Kandidatenmenge): Vorselektierte Teilmenge der im Speicher vorhandenen Einträge, gefiltert nach der geringsten Priorität (lowest priority).
  • Zustandsattribute & Prädikate:
    • Priority: Funktionskritikalität des Ereignisses. GREATER bezeichnet hier eine höhere funktionale Priorität / Dringlichkeit.
    • Passive: Statusbit eines Eintrags, dessen Fehlerbedingung aktuell nicht aktiv ansteht (TestFailed == 0).
    • TestNotCompletedThisOperationCycle == 1: Bit 6 des UDS-Statusbytes (ISO 14229-1). Kennzeichnet Ereignisse, deren Testzyklus im aktuellen Operationszyklus noch nicht vollständig durchlaufen wurde.
    • Oldest: Zeitstempel- bzw. FIFO-Kriterium zur Auflösung von Gleichständen innerhalb einer homogenen Kandidatengruppe.
  • Konfigurationsparameter:
    • displacement strategy: Konfigurationsattribut im Diagnose-Deployment mit den Ausprägungen none, prioOcc (Priority & Occurrence) und full (Combined Displacement).

3. Dynamisches Verhalten & Sequenzablauf

Der Ablauf startet synchron bei Eintritt der Bedingung: Speicher voll UND neues Event speicherpflichtig.

  1. Initialprüfung:
    • Ist Verdrängung konfiguriert (prioOcc oder full)?
    • Nein (none): Direkter Abbruch via Pfad none → Discard new reported event → Exit: No displacement.
  2. Kandidaten-Vorselektion:
    • Das DM durchsucht den Speicher nach Einträgen mit der numerisch/funktional niedrigsten Priorität (Search event memory entries with lowest priority).
  3. Strategiezweig A: prioOcc (Priority & Occurrence):
    • Vergleich: Priority(Reported Event) > Priority(Found Entries)?
    • Ja: Ältester gefundener Eintrag wird überschrieben (Displace oldest found event memory entry) → Exit: Old event memory entry lost.
    • Nein: Discard new reported event → Exit: No displacement.
  4. Strategiezweig B: full (Kombinierte Kriterien):
    • Stufe B1 (Priorität Neu > Alt):
      • Falls Priority(Reported) > Priority(Found):
        • Suche nach passiven Einträgen in der Kandidatenmenge.
        • Passive Einträge vorhanden (Yes): Preferred: Select passive entries → Verdrängung des ältesten passiven Eintrags.
        • Keine passiven Einträge vorhanden (No): Less preferred: Select any other entries → Verdrängung des ältesten aktiven Eintrags.
    • Stufe B2 (Priorität Neu == Alt):
      • Falls Priority(Reported) == Priority(Found):
        • Prüfung auf passive Einträge:
          • Vorhanden (Yes): Select passive entries → Verdrängung des ältesten passiven Eintrags.
          • Nicht vorhanden (No): Prüfung auf TestNotCompletedThisOperationCycle == 1.
            • Einträge gefunden (Yes): Select testNotCompltThisOpCycle entries → Verdrängung des ältesten Eintrags dieser Teilmenge.
            • Keine gefunden (No): Alle Einträge gleicher Priorität sind aktiv und im aktuellen Zyklus getestet → Discard new reported event.
    • Stufe B3 (Priorität Neu < Alt):
      • Discard new reported event → Exit: No displacement.

4. Normative Relevanz & Entwickler-Hinweise

  • Konfigurationsstrategie & Safety/OBD:
    • none birgt die Gefahr der Fehlerspeicher-Blockade (Denial-of-Storage): Früh auftretende, niederprioritäre Events verhindern das Loggen späterer, ASIL-relevanter Fehler.
    • full garantiert maximalen Schutz aktiver Fehlerzustände (TestFailed == 1) und verhindert das Verdrängen verifizierter DTCs durch noch unbestätigte/nicht abgeschlossene Tests.
  • Prioritätsinversion im Datenmodell:
    • Im Schaubild bedeutet GREATER eine höhere funktionale Priorität. In AUTOSAR-ARXML-Konfigurationen ist die Priorität häufig als numerischer Wert kodiert, bei dem oft 0 oder 1 die höchste Priorität darstellt. Stack-Entwickler müssen sicherstellen, dass die Vergleichsoperatoren (> vs. <) exakt auf das konfigurierte Mapping (numerisch vs. semantisch) abgestimmt sind.
  • Persistenz & Nebeneffekte:
    • Die Verdrängung eines Eintrags (Displace oldest...) erfordert das synchrone/transaktionale Invalidieren der zugehörigen Freeze-Frames und Extended-Data-Records im NVM/Persistency-Layer (ara::per bzw. NvM), um Datenkorruption und verwaiste Datenblöcke zu verhindern.
    • UDS-Statusmeldungen und Callbacks (DtcStatusChanged, EventStatusChanged) müssen den Verlust des verdrängten DTCs verlässlich an abonnierte Applikationen und externe Tester signalisieren.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Less preferred: Select any other entries of | found entries | Entry | Search event memory entries | with lowest priority | Event memory is already full AND a new reported event needs to be stored in the event memory. | Discard new reported event | Priority of reported event | GREATER priority of found entries? | Search passive entries of | found entries | Passive memory | entries found? | Displace oldest found event | memory entry | Priority of reported event | GREATER priority of found entries? | displacement strategy? | Priority of reported event | EQUAL priority of found entries? | Select testNotCompltThisOpCycle | entries of found entries | Found entries are "TestNotCompletedThis | OperationCycle == 1"? | Preferred: Select passive entries of | found entries | Search passive entries of | found entries | Passive memory | entries found? | Select passive entries of | found entries | Search testNotCompltThisOpCycle | entries of found entries | Event displacement is | activated ("full" or | "prioOcc")? | none | Yes | Yes | prioOcc full | No | Yes | No | Yes | No | Yes | No | No | No | Yes | Yes | No | Old event memory entry lost No displacement

Vorkommen in AUTOSAR-Releases (8)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_Diagnostics S. 133 7.7 Figure 7.7: Combined displacement criteria processing
R20-11 AUTOSAR_SWS_Diagnostics S. 133 7.7 Figure 7.7: Combined displacement criteria processing
R21-11 AUTOSAR_SWS_Diagnostics S. 155 7.7 Figure 7.7: Combined displacement criteria processing
R21-11 AUTOSAR_SWS_Diagnostics S. 155 7.7 Figure 7.7: Combined displacement criteria processing
R22-11 AUTOSAR_SWS_Diagnostics S. 194 7.7 Figure 7.7: Combined displacement criteria processing
R23-11 AUTOSAR_AP_SWS_Diagnostics S. 226 7.8 Figure 7.8: Combined displacement criteria processing
R24-11 AUTOSAR_AP_SWS_Diagnostics S. 268 7.8 Figure 7.8: Combined displacement criteria processing
R25-11 AUTOSAR_AP_SWS_Diagnostics S. 283 7.8 Figure 7.8: Combined displacement criteria processing