DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Configura valores-limite, passos e valores de salto para o debounce baseado em contador de monitores.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 60957358c6ec Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Configura valores-limite, passos e valores de salto para o debounce baseado em contador de monitores.

A estrutura ara::diag::CounterBased define os valores-limite, os passos e os parâmetros de salto para o debounce baseado em contador de eventos de diagnóstico [SWS_DM_00538]. É instanciada pela aplicação e passada ao construtor de ara::diag::Monitor a fim de estipular os critérios para a qualificação de falha e de bom estado [SWS_DM_00549]. O Diagnostic Management utiliza estes parâmetros para o avanço do contador, desde que não estejam definidos dados de debounce prioritários no Diagnostic Extract (DEXT).

Contexto

A estrutura ara::diag::CounterBased representa os parâmetros de configuração para o debounce baseado em contador de eventos de diagnóstico [SWS_DM_00538] em conformidade com a especificação da AUTOSAR Adaptive Platform SWS Diagnostics §7.3.4.1.5.1 «Counter-based debouncing». Dentro do subsistema de diagnóstico, serve para a troca de parâmetros de debounce entre a implementação de monitor aplicadora e o Diagnostic Management (DM).

A interação ocorre essencialmente através de quatro parceiros de interface:

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

Diagrama de contexto: interação entre aplicação, monitor, CounterBased, Diagnostic Management e DEXT. Fontes: [SWS_DM_00538], [SWS_DM_00549], [SWS_DM_01099], [SWS_DM_01101].

Ciclo de vida

Como estrutura de dados C++ (struct) SWS Diagnostics §8.41.2 «Struct: CounterBased», CounterBased é criada na stack ou na heap pelo componente de software aplicador como um mero contentor de valores. O seu ciclo de vida está tipicamente limitado à fase de configuração e inicialização antes da criação do ara::diag::Monitor.

Depois de definidos os atributos, a estrutura é passada por valor ao construtor de Monitor [SWS_DM_00549]. A própria estrutura não mantém qualquer estado dinâmico interno e não possui máquina de estados; a gestão contínua do contador cabe exclusivamente ao Diagnostic Management. Como CounterBased foi concebida como uma estrutura de dados passiva e não possui mecanismos internos de sincronização, de acordo com a interpretação, a configuração deve ser efetuada de forma local à thread ou sincronizada antes da passagem para o monitor.

Caminho de utilização

A utilização típica divide-se na definição dos parâmetros de debounce, na passagem para o monitor e na avaliação do contador em tempo de execução:

  1. A aplicação cria uma instância de CounterBased e atribui os valores-limite: failedThreshold para a qualificação de falha [SWS_DM_00621] e passedThreshold para a deteção de bom estado [SWS_DM_00622].
  2. Os passos são definidos através de failedStepsize para estados de falha reportados [SWS_DM_00623] e passedStepsize para notificações de bom estado [SWS_DM_00624].
  3. Opcionalmente, são configurados ajustes por salto: através de useJumpToFailed [SWS_DM_00627] e failedJumpValue [SWS_DM_00625] é ativado o salto para um valor mínimo de falha. De forma análoga, useJumpToPassed [SWS_DM_00628] e passedJumpValue [SWS_DM_00626] controlam saltos na direção do estado bom.
  4. A estrutura preenchida é passada ao construtor de Monitor [SWS_DM_00549]. Desde que não existam definições DEXT, o DM utiliza estes valores [SWS_DM_01101].
  5. Em tempo de execução, a monitorização reporta ações do monitor através de ReportMonitorAction SWS Diagnostics §7.3.4.1.5.1 «Internal debounce counter incrementation». Em kPrefailed, o DM verifica eventuais condições de salto [SWS_DM_00022] e incrementa o contador em failedStepsize [SWS_DM_00875].
  6. Se o contador atingir failedThreshold, o DM classifica o evento como kFinallyDefective [SWS_DM_00024]. O mesmo se aplica a notificações de bom estado através de passedStepsize [SWS_DM_00876].
Inicialização e debouncing baseado em contadorApplicationCounterBasedMonitorDiagnostic ManagementUse Case: Configuração de parâmetros e criação de monitorDefinir limiares, passos e valores de saltoMonitor(specifier, notifier, counterBased)altDEXT-Parameter vorhandenDEXT-Werte nutzen (CounterBased ignoriert)Nenhum parâmetro DEXT existenteCounterBased-Werte verwendenUse Case: Laufzeit-EntprellungReportMonitorAction(kPrefailed)Ereignisstatus aktualisierenoptuseJumpToFailed == true && Zaehler < failedJumpValueDefinir contador para failedJumpValueZaehler um failedStepsize inkrementierenoptZaehler >= failedThresholdLimitar contador a failedThresholdStatus kFinallyDefective setzen

Diagrama de sequência: sequência desde a configuração de parâmetros e inicialização do monitor até à qualificação do contador. Fontes: [SWS_DM_00549], [SWS_DM_00875], [SWS_DM_00022], [SWS_DM_00024].

Cenários de erro

Na utilização de CounterBased, devem ser tidas em conta várias condições-limite e regras de precedência:

  • Conflito de precedência DEXT: Se existirem parâmetros de debounce no DEXT, o DM ignora completamente os parâmetros definidos em CounterBased [SWS_DM_01099]. Ocorre uma configuração incorreta se os programadores de aplicações esperarem uma alteração dinâmica de parâmetros através do construtor, apesar de estarem ativos valores DEXT estáticos.
  • Valores DEXT em falta: Não existindo especificações no DEXT, o DM depende obrigatoriamente de que o construtor disponibilize uma instância de CounterBased válida [SWS_DM_01101].
  • Ultrapassagem do valor-limite: Se o contador interno de debounce subir acima do valor-limite failedThreshold pela adição de failedStepsize, o DM repõe o contador exatamente neste valor-limite e qualifica a anomalia [SWS_DM_00024], [SWS_DM_00875].
  • Lógica de salto condicional: Se useJumpToFailed estiver definido, o salto para failedJumpValue só é efetuado se o valor do contador antes do incremento for estritamente menor do que failedJumpValue [SWS_DM_00022]. Para useJumpToPassed, aplica-se analogamente que o contador deve ser maior do que passedJumpValue [SWS_DM_00023].

Este guia baseia-se na especificação AUTOSAR Adaptive Platform R25-11 e resume os requisitos para o debounce baseado em contador.

Mapa de membros

Diagrama de classes

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

Vista de detalhes

Selecione uma entrada no índice.

Constantes

failedJumpValue variável

failed to jump value

std::int16_t failedJumpValue;
failedStepsize variável

Stepsize per pre-failed report.

std::uint16_t failedStepsize;
failedThreshold variável

Threshold until qualified failed.

std::int16_t failedThreshold;
passedJumpValue variável

passed to jump value

std::int16_t passedJumpValue;
passedStepsize variável

Stepsize per pre-passed report.

std::uint16_t passedStepsize;
passedThreshold variável

Threshold until qualified passed.

std::int16_t passedThreshold;
useJumpToFailed variável

is jump supported

bool useJumpToFailed;
useJumpToPassed variável

is jump supported

bool useJumpToPassed;

Documentação das constantes / variáveis

variável 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#918eafda
Content hash
918eafda
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

variável 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#a03f3fcd
Content hash
a03f3fcd
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

variável 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#25d3fc33
Content hash
25d3fc33
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

variável 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#92534f1b
Content hash
92534f1b
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

variável 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#7713bef0
Content hash
7713bef0
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

variável 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#c778372b
Content hash
c778372b
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

variável 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#2d7db4e7
Content hash
2d7db4e7
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

variável 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#1b79c9ef
Content hash
1b79c9ef
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