DEENESPTFRRUARHIKOZHNL

struct ara::diag::CounterBased

[SWS_DM_00538] Upstream: RS_Diag_04068

struct CounterBased {...};

Represents the parameters for counter-based debouncing.

Header-Datei#include "ara/diag/monitor_types.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

User GuideKI-GENERIERT

Konfiguriert Schwellenwerte, Schrittweiten und Sprungwerte für die zählerbasierte Entprellung von Monitoren.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 60957358c6ec Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Konfiguriert Schwellenwerte, Schrittweiten und Sprungwerte für die zählerbasierte Entprellung von Monitoren.

Die Struktur ara::diag::CounterBased definiert die Schwellenwerte, Schrittweiten und Sprungparameter für die zählerbasierte Entprellung diagnostischer Ereignisse [SWS_DM_00538]. Sie wird von der Anwendung instanziiert und dem Konstruktor von ara::diag::Monitor übergeben, um die Kriterien zur Fehler- und Gut-Qualifizierung festzulegen [SWS_DM_00549]. Das Diagnostic Management nutzt diese Parameter zur Zählerfortschreibung, sofern im Diagnostic Extract (DEXT) keine vorrangigen Entprelldaten hinterlegt sind.

Kontext

Die Struktur ara::diag::CounterBased repräsentiert die Konfigurationsparameter für die zählerbasierte Entprellung diagnostischer Ereignisse [SWS_DM_00538] gemäß der Spezifikation der AUTOSAR Adaptive Platform SWS Diagnostics §7.3.4.1.5.1 „Counter-based debouncing“. Innerhalb des Diagnose-Subsystems dient sie dem Austausch von Entprellparametern zwischen der anwendenden Monitor-Implementierung und dem Diagnostic Management (DM).

Die Interaktion erfolgt im Wesentlichen über vier Schnittstellenpartner:

CounterBasedContext Application Diagnostic Application CounterBased ara::diag::CounterBased Application->CounterBased konfiguriert Monitor ara::diag::Monitor Application->Monitor erzeugt CounterBased->Monitor uebergibt Parameter DM Diagnostic Management Monitor->DM meldet Aktionen DEXT DEXT Konfiguration DEXT->DM konfiguriert vorrangig

Kontextdiagramm: Zusammenspiel von Anwendung, Monitor, CounterBased, Diagnostic Management und DEXT. Quellen: [SWS_DM_00538], [SWS_DM_00549], [SWS_DM_01099], [SWS_DM_01101].

Lebenszyklus

Als C++-Datenstruktur (struct) SWS Diagnostics §8.41.2 „Struct: CounterBased“ wird CounterBased als reiner Wertbehälter durch die anwendende Softwarekomponente auf dem Stack oder Heap erzeugt. Ihr Lebenszyklus ist typischerweise auf die Konfigurations- und Initialisierungsphase vor der Erzeugung des ara::diag::Monitor beschränkt.

Nachdem die Attribute definiert wurden, wird die Struktur per Wert an den Konstruktor von Monitor übergeben [SWS_DM_00549]. Die Struktur selbst hält keinen internen dynamischen Zustand und besitzt keine Zustandsmaschine; die fortlaufende Zählerverwaltung obliegt ausschließlich dem Diagnostic Management. Da CounterBased als passive Datenstruktur konzipiert ist und keine internen Synchronisationsmechanismen besitzt, ist die Konfiguration der Interpretation nach vor der Übergabe an den Monitor thread-lokal oder synchronisiert vorzunehmen.

Nutzungspfad

Die typische Verwendung gliedert sich in die Definition der Entprellparameter, die Übergabe an den Monitor und die Zählerauswertung zur Laufzeit:

  1. Die Anwendung erzeugt eine Instanz von CounterBased und belegt die Grenzwerte: failedThreshold für die Fehlerqualifizierung [SWS_DM_00621] sowie passedThreshold für die Gut-Erkennung [SWS_DM_00622].
  2. Die Schrittweiten werden über failedStepsize für gemeldete Fehlzustände [SWS_DM_00623] und passedStepsize für Gutmeldungen [SWS_DM_00624] definiert.
  3. Optional werden sprunghafte Anpassungen konfiguriert: Über useJumpToFailed [SWS_DM_00627] und failedJumpValue [SWS_DM_00625] wird das Anspringen eines Mindestfehlerwerts aktiviert. Analog steuern useJumpToPassed [SWS_DM_00628] und passedJumpValue [SWS_DM_00626] Sprünge in Richtung des Gut-Zustands.
  4. Die befüllte Struktur wird dem Konstruktor von Monitor übergeben [SWS_DM_00549]. Sofern keine DEXT-Definitionen vorliegen, nutzt der DM diese Werte [SWS_DM_01101].
  5. Zur Laufzeit meldet die Überwachung Monitor-Aktionen per ReportMonitorAction SWS Diagnostics §7.3.4.1.5.1 „Internal debounce counter incrementation“. Bei kPrefailed prüft das DM etwaige Sprungbedingungen [SWS_DM_00022] und inkrementiert den Zähler um failedStepsize [SWS_DM_00875].
  6. Erreicht der Zähler failedThreshold, stuft der DM das Ereignis als kFinallyDefective ein [SWS_DM_00024]. Entsprechendes gilt für Gutmeldungen mittels passedStepsize [SWS_DM_00876].
Initialisierung und zählerbasierte EntprellungApplicationCounterBasedMonitorDiagnostic ManagementUse Case: Parameterkonfiguration und MonitorerzeugungSchwellen, Schritte und Sprungwerte setzenMonitor(specifier, notifier, counterBased)altDEXT-Parameter vorhandenDEXT-Werte nutzen (CounterBased ignoriert)Keine DEXT-Parameter vorhandenCounterBased-Werte verwendenUse Case: Laufzeit-EntprellungReportMonitorAction(kPrefailed)Ereignisstatus aktualisierenoptuseJumpToFailed == true && Zaehler < failedJumpValueZaehler auf failedJumpValue setzenZaehler um failedStepsize inkrementierenoptZaehler >= failedThresholdZaehler auf failedThreshold begrenzenStatus kFinallyDefective setzen

Sequenzdiagramm: Ablauf von Parameterkonfiguration und Monitorinitialisierung bis zur Zählerqualifizierung. Quellen: [SWS_DM_00549], [SWS_DM_00875], [SWS_DM_00022], [SWS_DM_00024].

Fehlerszenarien

Bei der Verwendung von CounterBased sind mehrere Randbedingungen und Vorrangregeln zu beachten:

  • DEXT-Vorrangkonflikt: Wenn im DEXT Entprellparameter vorhanden sind, ignoriert das DM die in CounterBased definierten Parameter vollständig [SWS_DM_01099]. Eine Fehlkonfiguration entsteht, wenn Anwendungsentwickler eine dynamische Parameteränderung über den Konstruktor erwarten, obwohl statische DEXT-Werte aktiv sind.
  • Fehlende DEXT-Werte: Liegen im DEXT keine Angaben vor, ist das DM zwingend darauf angewiesen, dass der Konstruktor eine gültige CounterBased-Instanz bereitstellt [SWS_DM_01101].
  • Schwellenüberschreitung: Steigt der interne Entprellzähler durch die Addition von failedStepsize über den Schwellenwert failedThreshold, setzt das DM den Zähler exakt auf diesen Schwellenwert zurück und qualifiziert den Defekt [SWS_DM_00024], [SWS_DM_00875].
  • Bedingte Sprunglogik: Ist useJumpToFailed gesetzt, wird der Sprung auf failedJumpValue nur dann vollzogen, wenn der Zählerstand vor der Inkrementierung echt kleiner als failedJumpValue ist [SWS_DM_00022]. Für useJumpToPassed gilt analog, dass der Zähler größer als passedJumpValue sein muss [SWS_DM_00023].

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11 und fasst die Anforderungen an die zählerbasierte Entprellung zusammen.

Mitgliederkarte

Klassendiagramm

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__CounterBased25 «struct» CounterBased + failedJumpValue + failedStepsize + failedThreshold + passedJumpValue + passedStepsize + passedThreshold + useJumpToFailed + useJumpToPassed

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstanten

failed to jump value

std::int16_t failedJumpValue;

Stepsize per pre-failed report.

std::uint16_t failedStepsize;

Threshold until qualified failed.

std::int16_t failedThreshold;

passed to jump value

std::int16_t passedJumpValue;

Stepsize per pre-passed report.

std::uint16_t passedStepsize;

Threshold until qualified passed.

std::int16_t passedThreshold;

is jump supported

bool useJumpToFailed;

is jump supported

bool useJumpToPassed;

Dokumentation der Konstanten / Variablen

variable failedJumpValue [SWS_DM_00625] Upstream: RS_Diag_04068

std::int16_t failedJumpValue;

failed to jump value

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolfailedJumpValue
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00625
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00625@rel:R25-11#3d8ec970
Content hash
3d8ec970
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00625
Status: valid/unmigrated Version: rel:R25-11#dce9c004 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00625@rel:R25-11#dce9c004
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3d8ec9702026-09-30
  • R20-11rel:R20-11#f08528012026-10-14
  • R21-11rel:R21-11#3d8d66772026-10-14
  • R22-11rel:R22-11#4e10bb362026-10-14
  • R23-11rel:R23-11#dce9c0042026-10-14
  • R24-11rel:R24-11#dce9c0042026-10-14
  • R25-11rel:R25-11#dce9c0042026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable failedStepsize [SWS_DM_00623] Upstream: RS_Diag_04068

std::uint16_t failedStepsize;

Stepsize per pre-failed report.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolfailedStepsize
Typstd::uint16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00623
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00623@rel:R25-11#d4a093e4
Content hash
d4a093e4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00623
Status: valid/unmigrated Version: rel:R25-11#dafec4f4 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00623@rel:R25-11#dafec4f4
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d4a093e42026-09-30
  • R20-11rel:R20-11#d8c07df52026-10-14
  • R21-11rel:R21-11#00dbada62026-10-14
  • R22-11rel:R22-11#ad00343e2026-10-14
  • R23-11rel:R23-11#dafec4f42026-10-14
  • R24-11rel:R24-11#dafec4f42026-10-14
  • R25-11rel:R25-11#dafec4f42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable failedThreshold [SWS_DM_00621] Upstream: RS_Diag_04068

std::int16_t failedThreshold;

Threshold until qualified failed.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolfailedThreshold
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00621
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00621@rel:R25-11#c3037cc0
Content hash
c3037cc0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00621
Status: valid/unmigrated Version: rel:R25-11#08353fef Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00621@rel:R25-11#08353fef
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#c3037cc02026-09-30
  • R20-11rel:R20-11#25e7cfaa2026-10-14
  • R21-11rel:R21-11#196f4ac32026-10-14
  • R22-11rel:R22-11#6af287f12026-10-14
  • R23-11rel:R23-11#08353fef2026-10-14
  • R24-11rel:R24-11#08353fef2026-10-14
  • R25-11rel:R25-11#08353fef2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable passedJumpValue [SWS_DM_00626] Upstream: RS_Diag_04068

std::int16_t passedJumpValue;

passed to jump value

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolpassedJumpValue
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00626
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00626@rel:R25-11#48fa9fd7
Content hash
48fa9fd7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00626
Status: valid/unmigrated Version: rel:R25-11#ced89aeb Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00626@rel:R25-11#ced89aeb
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#48fa9fd72026-09-30
  • R20-11rel:R20-11#bca12a352026-10-14
  • R21-11rel:R21-11#ffcfafd22026-10-14
  • R22-11rel:R22-11#06c86bc12026-10-14
  • R23-11rel:R23-11#ced89aeb2026-10-14
  • R24-11rel:R24-11#ced89aeb2026-10-14
  • R25-11rel:R25-11#ced89aeb2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable passedStepsize [SWS_DM_00624] Upstream: RS_Diag_04068

std::uint16_t passedStepsize;

Stepsize per pre-passed report.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolpassedStepsize
Typstd::uint16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00624
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00624@rel:R25-11#fe1d6992
Content hash
fe1d6992
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00624
Status: valid/unmigrated Version: rel:R25-11#9a3eeb83 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00624@rel:R25-11#9a3eeb83
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fe1d69922026-09-30
  • R20-11rel:R20-11#1453700f2026-10-14
  • R21-11rel:R21-11#c63f63342026-10-14
  • R22-11rel:R22-11#4d2e11a52026-10-14
  • R23-11rel:R23-11#9a3eeb832026-10-14
  • R24-11rel:R24-11#9a3eeb832026-10-14
  • R25-11rel:R25-11#9a3eeb832026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable passedThreshold [SWS_DM_00622] Upstream: RS_Diag_04068

std::int16_t passedThreshold;

Threshold until qualified passed.

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymbolpassedThreshold
Typstd::int16_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00622
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00622@rel:R25-11#ce4c070e
Content hash
ce4c070e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00622
Status: valid/unmigrated Version: rel:R25-11#24f4cdaa Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00622@rel:R25-11#24f4cdaa
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ce4c070e2026-09-30
  • R20-11rel:R20-11#a6d5e9c72026-10-14
  • R21-11rel:R21-11#72e5c6f22026-10-14
  • R22-11rel:R22-11#8565f7cc2026-10-14
  • R23-11rel:R23-11#24f4cdaa2026-10-14
  • R24-11rel:R24-11#24f4cdaa2026-10-14
  • R25-11rel:R25-11#24f4cdaa2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable useJumpToFailed [SWS_DM_00627] Upstream: RS_Diag_04068

bool useJumpToFailed;

is jump supported

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymboluseJumpToFailed
Typbool

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00627
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00627@rel:R25-11#4e142f5c
Content hash
4e142f5c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00627
Status: valid/unmigrated Version: rel:R25-11#3b6a9b1e Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00627@rel:R25-11#3b6a9b1e
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#4e142f5c2026-09-30
  • R20-11rel:R20-11#500659252026-10-14
  • R21-11rel:R21-11#b0c513c82026-10-14
  • R22-11rel:R22-11#fa011c9a2026-10-14
  • R23-11rel:R23-11#3b6a9b1e2026-10-14
  • R24-11rel:R24-11#3b6a9b1e2026-10-14
  • R25-11rel:R25-11#3b6a9b1e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable useJumpToPassed [SWS_DM_00628] Upstream: RS_Diag_04068

bool useJumpToPassed;

is jump supported

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::CounterBased
SymboluseJumpToPassed
Typbool

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00628
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00628@rel:R25-11#2b744445
Content hash
2b744445
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00628
Status: valid/unmigrated Version: rel:R25-11#6b5a1179 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00628@rel:R25-11#6b5a1179
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#2b7444452026-09-30
  • R20-11rel:R20-11#a21e0a812026-10-14
  • R21-11rel:R21-11#fac6d4792026-10-14
  • R22-11rel:R22-11#a2c3b6d22026-10-14
  • R23-11rel:R23-11#6b5a11792026-10-14
  • R24-11rel:R24-11#6b5a11792026-10-14
  • R25-11rel:R25-11#6b5a11792026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill