DEENESPTFRRUARHIKOZHNL

struct ara::diag::TimeBased

[SWS_DM_00539] Upstream: RS_Diag_04225

struct TimeBased {...};

Represents the parameters for time-based debouncing.

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

User GuideAI-GEGENEREERD

Definieert de tijdgrenzen voor de tijdgebaseerde ontdendering van diagnosegebeurtenissen bij de monitorinitialisatie.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: beb974918ec8 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Definieert de tijdgrenzen voor de tijdgebaseerde ontdendering van diagnosegebeurtenissen bij de monitorinitialisatie.

De datastructuur ara::diag::TimeBased dient voor de configuratie van de tijdgebaseerde ontdendering voor diagnosegebeurtenissen [SWS_DM_00539]. Deze geeft aan de constructor van ara::diag::Monitor de drempelwaarden in milliseconden door, waarna bij het verstrijken ervan een gebeurtenis als hersteld of defect wordt geclassificeerd. Diagnostic Management start en bestuurt de interne ontdendertimer aan de hand van deze drempels bij binnenkomende statusmeldingen. Een persistente opslag van de interne tellerwaarde over herstarts heen wordt voor tijdgebaseerde ontdenderingsmethoden niet ondersteund AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.5.2 “Time-based debouncing”.

Context

De C++-structuur ara::diag::TimeBased definieert de configuratieparameters voor de tijdgebaseerde ontdendering (time-based debouncing) van diagnosegebeurtenissen in het Diagnostic Management van het AUTOSAR Adaptive Platform [SWS_DM_00539]. Deze omsluit de twee tijdsduren in milliseconden die bepalend zijn voor de statusovergangen van een diagnosegebeurtenis: failedMs als foutdrempel [SWS_DM_00629] en passedMs als hersteldrempel [SWS_DM_00630].

In het totale systeem verbindt de structuur drie essentiële componenten: de diagnosticerende applicatiefunctie, de klasse ara::diag::Monitor en Diagnostic Management (DM) [SWS_DM_00550]. De applicatie instantieert de structuur voor het vastleggen van gebeurtenisspecifieke ontdendertijden en geeft deze door aan de constructor van de diagnosemonitor [SWS_DM_00550]. De DM activeert vervolgens het tijdgebaseerde ontdenderingsalgoritme voor deze gebeurtenis [SWS_DM_00015] en berekent op basis van de interne timer en de geconfigureerde drempelwaarden de gebeurtenisstatusbit kTestFailed AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.5.2 “Time-based debouncing”.

TimeBasedContext Anwendung Anwendung TimeBased TimeBased Anwendung->TimeBased erzeugt Monitor Monitor Anwendung->Monitor instanziiert TimeBased->Monitor konfiguriert DM DM Monitor->DM meldet Aktionen

Contextdiagram: samenspel van applicatie, ara::diag::TimeBased, ara::diag::Monitor en Diagnostic Management. Bronnen: [SWS_DM_00539], [SWS_DM_00550], [SWS_DM_00015]

Levenscyclus

Als eenvoudige datacontainer zonder dynamische resources heeft ara::diag::TimeBased een ongecompliceerde levenscyclus [SWS_DM_00539]. De structuur wordt gewoonlijk lokaal op de stack of in het statische geheugenbereik door de applicatie aangemaakt, met de doeltijden geïnitialiseerd en als waarde aan de constructor van ara::diag::Monitor doorgegeven [SWS_DM_00550] (AUTOSAR_AP_SWS_Diagnostics §8.40.1.1.2.3 “Monitor”).

Interpretatie: Door doorgifte op waarde worden de parameters bij het aanmaken van de monitor gekopieerd, zodat het oorspronkelijke TimeBased-object na voltooiing van de constructor-aanroep veilig kan worden verworpen. Vraag (open) De DM beheert de dynamische toestand van de ontdender-timer vanaf dat moment zelfstandig en initialiseert de waarde ervan bij de systeemstart op 0 [SWS_DM_00085]. Aangezien TimeBased geen interne synchronisatiemechanismen heeft, moeten gelijktijdige schrijftoegangen tot een gedeelde instantie door de toepassing worden uitgesloten.

Gebruikspad

Het typische gebruik is onderverdeeld in de volgende stappen:

  1. Parametrisering en initialisatie: De toepassing instantieert ara::diag::TimeBased, stelt failedMs [SWS_DM_00629] en passedMs [SWS_DM_00630] in en geeft de structuur door aan de constructor van ara::diag::Monitor [SWS_DM_00550].
  2. Timer-initialisatie: De DM start de ontdenderdienst en initialiseert de gebeurtenisinterne timer met de waarde nul [SWS_DM_00085].
  3. Melding van voorcontrole-resultaten: Detecteert de monitor een foutvrije conditie, dan roept deze ReportMonitorAction met kPrepassed aan. De DM start de timer in de richting van de herstelde toestand [SWS_DM_00878] en werkt doorlopend de foutdetectieteller (Fault Detection Counter, FDC) [SWS_DM_00030] bij.
  4. Kwalificatie: Bereikt de timer de drempelwaarde passedMs, dan kwalificeert de DM de gebeurtenis als kFinallyHealed [SWS_DM_00878]. Meldt de monitor in plaats daarvan kFailed, dan wordt de timer direct op failedMs gezet en de gebeurtenis als kFinallyDefective verwerkt [SWS_DM_00033].
  5. Bevriezen en hervatten: Via ReportMonitorAction(kFreezeDebouncing) kan de ontdendering desgewenst worden onderbroken [SWS_DM_00880] en bij nieuwe acties (kPrepassed of kPrefailed) worden hervat vanaf de bevroren tellerstand [SWS_DM_00038].
Verloop van de tijdsgebaseerde ontstoringAnwendungMonitorDMMonitor(specifier, notifier, timeBased)Aktivierung Entprellung & Timer-Init (0)ReportMonitorAction(kPrepassed)Start Timer Richtung kFinallyHealedTimer erreicht passedMsEvent als kFinallyHealed qualifiziertoptDebounce einfrierenReportMonitorAction(kFreezeDebouncing)Timer einfrierenReportMonitorAction(kPrepassed)Timer met bevroren stand hervattenoptDirekter FehlerReportMonitorAction(kFailed)Timer op failedMs instellen & kFinallyDefective

Sequentiediagram: Samenspel van toepassing, monitor en DM tijdens de tijdsgebaseerde ontdendering. Bronnen: [SWS_DM_00550], [SWS_DM_00085], [SWS_DM_00878], [SWS_DM_00033], [SWS_DM_00880], [SWS_DM_00038]

Foutscenario's

Bij het gebruik van tijdsgebaseerde ontdendering gelden functionele pre- en postcondities:

  • Voorwaardelijke timerstart: Bij het melden van kPrepassed start de DM de timer alleen dan in de richting van kFinallyHealed wanneer deze niet al in die richting loopt en de gebeurtenis niet al als hersteld geldt [SWS_DM_00878].
  • Verkorte foutkwalificatie: Wordt direct kFailed of kPassed gemeld, dan stelt de DM de ontdender-timer onmiddellijk in op de betreffende drempelwaarde en voltooit de classificatie zonder wachttijd [SWS_DM_00033], [SWS_DM_00036].
  • Exclusiviteit van het bevriezen: De actie kFreezeDebouncing wordt door de DM uitsluitend ondersteund voor gebeurtenissen met tijdsgebaseerde ontdendering [SWS_DM_00880].
  • Geen persistentie van de teller: Opslag van de ontdendertellerstand over reset- en opstartcycli heen (debounceCounterStorage) is voor tijdsgebaseerde ontdenderingen niet voorzien AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.5.2 “Time-based debouncing”; de timer wordt bij elke start-up op nul gezet [SWS_DM_00085].

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11 en vat de vereisten voor de structuur ara::diag::TimeBased samen.

UML-klassendiagram

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

G nara__diag__TimeBased382 «struct» TimeBased + failedMs + passedMs

Constanten

failedMs variabele

time until failed in (ms)

std::uint32_t failedMs;
passedMs variabele

time until passed in (ms)

std::uint32_t passedMs;

Documentatie van constanten / variabelen

variabele failedMs [SWS_DM_00629] Upstream: RS_Diag_04225

std::uint32_t failedMs;

time until failed in (ms)

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::TimeBased
SymbolfailedMs
Typstd::uint32_t

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

Record
AUTOSAR/AP/record/SWS_DM_00629
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00629@rel:R25-11#1f063e3b
Content hash
1f063e3b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00629
Status: valid/unmigrated Version: rel:R25-11#b234c6d7 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_00629@rel:R25-11#b234c6d7
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#8525d65b2026-09-30
  • R20-11rel:R20-11#447b3a6c2026-10-14
  • R21-11rel:R21-11#deb8168b2026-10-14
  • R22-11rel:R22-11#c639f78a2026-10-14
  • R23-11rel:R23-11#bbcf28342026-10-14
  • R24-11rel:R24-11#b234c6d72026-10-14
  • R25-11rel:R25-11#b234c6d72026-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

variabele passedMs [SWS_DM_00630] Upstream: RS_Diag_04225

std::uint32_t passedMs;

time until passed in (ms)

Header-Datei#include "ara/diag/monitor_types.h"
Scopestruct ara::diag::TimeBased
SymbolpassedMs
Typstd::uint32_t

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

Record
AUTOSAR/AP/record/SWS_DM_00630
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00630@rel:R25-11#c64722b9
Content hash
c64722b9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00630
Status: valid/unmigrated Version: rel:R25-11#6fd0c00c 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_00630@rel:R25-11#6fd0c00c
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#7291fe1e2026-09-30
  • R20-11rel:R20-11#3097b5012026-10-14
  • R21-11rel:R21-11#5ff8b1572026-10-14
  • R22-11rel:R22-11#5132f5a52026-10-14
  • R23-11rel:R23-11#6fd0c00c2026-10-14
  • R24-11rel:R24-11#6fd0c00c2026-10-14
  • R25-11rel:R25-11#6fd0c00c2026-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