DEENESPTFRRUARHIKOZHNL

classe ara::diag::Monitor

[SWS_DM_00542] Upstream: RS_Diag_04179

class Monitor final {...};

Class to implement operations on diagnostic Monitor interface.

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

Guia do utilizadorGERADO POR IA

Serve para a execução de monitoramentos de diagnóstico e a notificação de status para o Diagnostic Management.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 49f63d89472d Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve para a execução de monitoramentos de diagnóstico e a notificação de status para o Diagnostic Management.

A classe ara::diag::Monitor disponibiliza a interface funcional para a implementação de funções de monitoramento de diagnóstico e sua vinculação ao Diagnostic Management [SWS_DM_00548]. Após a vinculação a um protótipo de porta, a aplicação sinaliza sua prontidão para recepção por meio de Offer() e transmite resultados de teste continuamente via ReportMonitorAction() [SWS_DM_01088], [SWS_DM_00543]. As instâncias de monitor não podem ser copiadas nem movidas e todas as operações são especificadas como não sendo thread-safe [SWS_DM_01685].

Contexto

A classe ara::diag::Monitor representa a interface C++ padronizada para a realização de funções de monitoramento de diagnóstico (monitores) dentro da Adaptive Platform [SWS_DM_00548]. Um monitor é responsável pela detecção e notificação de sintomas de falha em componentes de software funcionais e transmite seus estados para o módulo Diagnostic Management (DM).

A vinculação ao modelo de sistema AUTOSAR ocorre por meio de um ara::core::InstanceSpecifier, o qual deve obrigatoriamente apontar para um PortPrototype tipificado por um DiagnosticMonitorInterface [SWS_DM_00548]. Três componentes participam essencialmente do processamento global: o monitoramento de função específico da aplicação (Application), a instância de interface local de ara::diag::Monitor bem como o módulo de plataforma Diagnostic Management (DM), que recebe eventos e solicita reinicializações.

diag_kontext app Anwendungssoftware (Monitor-Logik) mon ara::diag::Monitor (Port-Schnittstelle) app->mon ReportMonitorAction() Offer() / StopOffer() mon->app initMonitor-Callback getFaultDetectionCounter() dm Diagnostic Management (daemon DM) mon->dm Status- & Entprellmeldungen dm->mon Initialisierungs- & Steuerbefehle

Diagrama de contexto: relações de interação entre software de aplicação, ara::diag::Monitor e o Diagnostic Management. Fontes: [SWS_DM_00548], [SWS_DM_00543], [SWS_DM_01088], [SWS_DM_01089]

Ciclo de vida

A instanciação de um monitor orienta-se pelo mecanismo de debouncing definido no modelo. Para isso, a Adaptive Platform disponibiliza quatro variantes de construtor:

  • Debouncing interno ao monitor com registro de um callback de InitMonitorNotifier e um ponteiro de função para consulta do Fault Detection Counter (std::function<std::int8_t()> getFaultDetectionCounter) [SWS_DM_00548].
  • Debouncing baseado em contador com a passagem de parâmetros do tipo CounterBased [SWS_DM_00549].
  • Debouncing baseado em tempo com a passagem de parâmetros do tipo TimeBased [SWS_DM_00550].
  • Monitoramento direto sem algoritmo de debouncing [SWS_DM_01972].

As instâncias de ara::diag::Monitor são fixadas ao seu local de memória original: o construtor de cópia [SWS_DM_01685] e o operador de atribuição por cópia [SWS_DM_01683] estão excluídos (delete). Da mesma forma, o construtor de movimento [SWS_DM_01686] e a atribuição por movimento [SWS_DM_01684] estão explicitamente excluídos.

Após a criação, a instância encontra-se no estado Não oferecido (Unoffered). Somente através da chamada explícita de Offer() a aplicação declara sua prontidão para receber e processar callouts de diagnóstico como initMonitor [SWS_DM_01088]. Com StopOffer(), o encaminhamento de solicitações de diagnóstico a partir do DM é desativado novamente [SWS_DM_01089]. Após a chamada de StopOffer(), presume-se que uma retomada posterior da operação seja possível por meio de uma nova chamada de Offer(). Pergunta Q-136565db34b28ae6 (aberta) Antes da destruição final do objeto monitor, presume-se que a aplicação deva executar StopOffer() para impedir de forma segura notificações pendentes.

Quanto à simultaneidade, todas as funções-membro de ara::diag::Monitor são especificadas como não thread-safe [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]. Se múltiplas threads do software de aplicação acessarem o mesmo monitor, a sincronização fica a cargo da aplicação. Todos os métodos, no entanto, são declarados como seguros em relação a exceções (noexcept) [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089].

diag_lebenszyklus unoffered Não oferecido (Unoffered / criado) offered Angeboten (Offered / Aktiv) unoffered->offered Offer() [Erfolg] offered->offered Offer() [kAlreadyOffered] stopped Gestoppt (Stopped / Inaktiv) offered->stopped StopOffer() stopped->offered Offer()

Diagrama de estados: estados do ciclo de vida e transições na disponibilização de serviços de ara::diag::Monitor. Fontes: [SWS_DM_01088], [SWS_DM_01089]

Caminho de utilização

O fluxo regular para o monitoramento de um caminho de falha compreende os seguintes passos:

  1. Instanciação: a aplicação cria a instância de Monitor indicando InstanceSpecifier, o callback initMonitor bem como parâmetros de debouncing eventualmente necessários ou o callback de FDC [SWS_DM_00548], [SWS_DM_00549].
  2. Oferta de serviço: por meio de Offer(), o monitor registra-se junto ao DM como pronto para recepção [SWS_DM_01088].
  3. Inicialização: o Diagnostic Management informa a aplicação sobre eventos de inicialização pendentes por meio do callback InitMonitorNotifier registrado [SWS_DM_01088].
  4. Notificação cíclica/baseada em eventos: durante a operação funcional, a aplicação reporta continuamente o status do caminho de monitoramento via ReportMonitorAction(action) [SWS_DM_00543]. A ação passada contém resultados de teste (qualificados/não qualificados) ou comandos para controle de debouncing ou pré-armazenamento (prestorage). Caso tenha sido configurado debouncing interno ao monitor, o DM consulta o valor de contenção de falhas via callback registrado quando necessário [SWS_DM_00548].
  5. Encerramento do serviço: antes do desligamento ou na desativação da função de diagnóstico, a aplicação chama StopOffer() para impedir mensagens recebidas do DM [SWS_DM_01089].
Fluxo típico do uso do MonitorAplicaçãoara::diag::MonitorDiagnostic ManagementMonitor(specifier, initMonitor, ...)Offer()Service anbietenResult<void>Use Case: Inicialização e monitoramentoinitMonitor(action)ReportMonitorAction(action)Status aktualisierenoptMonitor-internes DebouncinggetFaultDetectionCounter()std::int8_t FDCUse Case: DeaktivierungStopOffer()Weiterleitung deaktivieren

Diagrama de sequência: sequência de chamadas típica, desde a inicialização até a desativação, passando pela notificação de status. Fontes: [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]

Cenários de erro

Situações de erro manifestam-se em ara::diag::Monitor em dois níveis distintos: como código de erro via ara::core::Result ou como violações em tempo de execução (violations) do framework.

O método Offer() retorna um ara::core::Result<void>. Se o monitor já estiver no estado oferecido, a chamada falha e retorna o código de erro DiagOfferErrc::kAlreadyOffered [SWS_DM_01088].

Erros graves de configuração ou de chamada acionam notificações de violação definidas:

  • InstanceSpecifierMappingIntegrityViolation: o InstanceSpecifier não pode ser resolvido no contexto de modelo do processo ou não aponta para um PortPrototype [SWS_DM_00548].
  • PortInterfaceMappingViolation: A porta referenciada não é tipificada por um DiagnosticMonitorInterface [SWS_DM_00548].
  • ProcessMappingViolation: não existe um processo modelado adequado para a instância de tempo de execução [SWS_DM_00548].
  • InstanceSpecifierAlreadyInUseViolation: o InstanceSpecifier já está sendo utilizado por outro monitor dentro do processo atual [SWS_DM_00548].
  • InvalidDebouncingAlgorithmViolation: o mecanismo de debouncing selecionado no construtor difere do método de debouncing modelado nas descrições de diagnóstico DEXT [SWS_DM_00548], [SWS_DM_00549], [SWS_DM_00550].
  • UnexpectedMonitorActionHandlingViolation: é passado ao método ReportMonitorAction() um valor de ação que não é suportado para o algoritmo de debouncing configurado [SWS_DM_00543].

Este guia baseia-se na especificação AUTOSAR Adaptive Platform Release R25-11.

Mapa de membros

Construtores e destrutor

1

Operadores

1

Diagrama de classes

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

G nara__diag__Monitor586 Monitor + Monitor() + operator=() + Offer() + ReportMonitorAction() + StopOffer()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Monitor função 6

Monitor constructor for Monitors with Monitor-internal debouncing. using ara::diag::CounterBased; using ara::diag::TimeBased;

Sobrecargas Monitor 6
Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor, std::function< std::int8_t()> getFaultDetection Counter) noexcept; SWS_DM_00548
Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor, CounterBased defaultValues) noexcept; SWS_DM_00549
Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor, TimeBased defaultValues) noexcept; SWS_DM_00550
Monitor (Monitor &)=delete; SWS_DM_01685
Monitor (Monitor &&) noexcept=delete; SWS_DM_01686
Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor) noexcept; SWS_DM_01972

Métodos

Offer função

With the Offer the application states that it is ready to receive and process initMonitor callouts.

ara::core::Result< void > Offer () noexcept;

Function to report the status information being relevant for error monitoring paths.

void ReportMonitorAction (MonitorAction action) noexcept;
StopOffer função

This StopOffer will disable the forwarding of request messages from DM.

void StopOffer () noexcept;

Operadores

operator= função 2

Monitor shall be a single not assignable instance.

Sobrecargas = 2
Monitor & operator= (Monitor &)=delete; SWS_DM_01683
Monitor & operator= (Monitor &&)=delete; SWS_DM_01684

Documentação dos métodos

função Monitor [SWS_DM_00548] Upstream: RS_AP_00121, RS_AP_00137, RS_Diag_04179, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor, std::function< std::int8_t()> getFaultDetection Counter) noexcept;

Monitor constructor for Monitors with Monitor-internal debouncing. using ara::diag::CounterBased; using ara::diag::TimeBased;

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process. InvalidDebouncin- Mismatching Debounce Algorithm in DEXT i.e gAlgorithmViola- DiagnosticEventToDebounceAlgorithmMapping shall be tion mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceMonitorInternal or DiagnosticEventToDebounceAlgorithmMapping shall not exist.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface.
initMonitorPossibility to register an InitMonitor callback
getFaultDetectionCounterPossibility to register a function to get the current FDC for this event.

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

Record
AUTOSAR/AP/record/SWS_DM_00548
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00548@rel:R25-11#1791b038
Content hash
1791b038
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00548
Status: valid/unmigrated Version: rel:R25-11#c407131c Versionshistorie & Revisions (1 transition, 8 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_00548@rel:R25-11#c407131c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b150023b2026-09-30
  • R19-11rel:R19-11#9dae45942026-10-14
  • R20-11rel:R20-11#1b9245172026-10-14
  • R21-11rel:R21-11#9d09d2232026-10-14
  • R22-11rel:R22-11#96a416ec2026-10-14
  • R23-11rel:R23-11#bc098b922026-10-14
  • R24-11rel:R24-11#5a7c66fa2026-10-14
  • R25-11rel:R25-11#c407131c2026-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

função Monitor [SWS_DM_00549] Upstream: RS_AP_00137, RS_AP_00121, RS_Diag_04179, RS_Diag_04068, RS_ AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor, CounterBased defaultValues) noexcept;

Monitor constructor for Monitors with counter-based debouncing.

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process. InvalidDebouncin- Mismatching Debounce Algorithm in DEXT i.e gAlgorithmViola- DiagnosticEventToDebounceAlgorithmMapping shall be tion mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceCounterBased.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface.
initMonitorPossibility to register an InitMonitor callback
defaultValuesDefault values for CounterBased debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00549
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00549@rel:R25-11#a75bbea3
Content hash
a75bbea3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00549
Status: valid/unmigrated Version: rel:R25-11#b6b90a41 Versionshistorie & Revisions (1 transition, 8 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_00549@rel:R25-11#b6b90a41
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#aa05357e2026-09-30
  • R19-11rel:R19-11#409ae35a2026-10-14
  • R20-11rel:R20-11#c96bf0f52026-10-14
  • R21-11rel:R21-11#269dc8742026-10-14
  • R22-11rel:R22-11#0b5b8e002026-10-14
  • R23-11rel:R23-11#86fe0f482026-10-14
  • R24-11rel:R24-11#363e9ef32026-10-14
  • R25-11rel:R25-11#b6b90a412026-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

função Monitor [SWS_DM_00550] Upstream: RS_AP_00121, RS_AP_00137, RS_Diag_04179, RS_Diag_04225, RS_ AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor, TimeBased defaultValues) noexcept;

Monitor constructor for Monitors with time-based debouncing.

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process. InvalidDebouncin- Mismatching Debounce Algorithm in DEXT i.e gAlgorithmViola- DiagnosticEventToDebounceAlgorithmMapping shall be tion mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceTimeBased.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface.
initMonitorPossibility to register an InitMonitor callback
defaultValuesDefault values for TimeBased debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00550
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00550@rel:R25-11#6f84ed06
Content hash
6f84ed06
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00550
Status: valid/unmigrated Version: rel:R25-11#37a4f2c0 Versionshistorie & Revisions (1 transition, 8 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_00550@rel:R25-11#37a4f2c0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1ba6e97a2026-09-30
  • R19-11rel:R19-11#4f8f56cd2026-10-14
  • R20-11rel:R20-11#cbc0dc0f2026-10-14
  • R21-11rel:R21-11#ed45df312026-10-14
  • R22-11rel:R22-11#7eec884b2026-10-14
  • R23-11rel:R23-11#6ec7d8d22026-10-14
  • R24-11rel:R24-11#1f707ece2026-10-14
  • R25-11rel:R25-11#37a4f2c02026-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

função Monitor [SWS_DM_01685] Upstream: RS_AP_00147

Monitor (Monitor &)=delete;

Monitor shall be a single not copy-able instance.

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor

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

Record
AUTOSAR/AP/record/SWS_DM_01685
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01685@rel:R25-11#a27d456d
Content hash
a27d456d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01685
Status: valid/unmigrated Version: rel:R25-11#b61bdc4e Versionshistorie & Revisions (1 transition, 4 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_01685@rel:R25-11#b61bdc4e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#885cac442026-09-30
  • R23-11rel:R23-11#1187bdc12026-10-14
  • R24-11rel:R24-11#b61bdc4e2026-10-14
  • R25-11rel:R25-11#b61bdc4e2026-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

função Monitor [SWS_DM_01686] Upstream: RS_AP_00147

Monitor (Monitor &&) noexcept=delete;

Move constructor of Monitor.

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor

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

Record
AUTOSAR/AP/record/SWS_DM_01686
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01686@rel:R25-11#8c5b4bbe
Content hash
8c5b4bbe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01686
Status: valid/unmigrated Version: rel:R25-11#0958d508 Versionshistorie & Revisions (1 transition, 4 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_01686@rel:R25-11#0958d508
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e3f6b2e12026-09-30
  • R23-11rel:R23-11#f9be95aa2026-10-14
  • R24-11rel:R24-11#0958d5082026-10-14
  • R25-11rel:R25-11#0958d5082026-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

função Monitor [SWS_DM_01972] Upstream: RS_AP_00121, RS_AP_00137, RS_Diag_04179, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

Monitor (const ara::core::InstanceSpecifier &specifier, InitMonitor Notifier initMonitor) noexcept;

Monitor constructor for Monitors without debouncing.

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process. InvalidDebouncin- Mismatching Debounce Algorithm in DEXT i.e gAlgorithmViola- DiagnosticEventToDebounceAlgorithmMapping shall be tion mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceMonitorInternal or DiagnosticEventToDebounceAlgorithmMapping shall not exist.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface.
initMonitorPossibility to register an InitMonitor callback

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

Record
AUTOSAR/AP/record/SWS_DM_01972
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01972@rel:R25-11#2c6d7372
Content hash
2c6d7372
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01972
Status: valid/unmigrated Version: rel:R25-11#9ab5ff05 Versionshistorie & Revisions (1 transition, 3 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_01972@rel:R25-11#9ab5ff05
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2b82c40a2026-09-30
  • R24-11rel:R24-11#9596c0212026-10-14
  • R25-11rel:R25-11#9ab5ff052026-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

função Offer [SWS_DM_01088] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169

ara::core::Result< void > Offer () noexcept;

With the Offer the application states that it is ready to receive and process initMonitor callouts.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2e8d03769af8 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Com a chamada do método Offer, uma Adaptive Application sinaliza ao Diagnostic Management (DM) que está pronta para a receção e o processamento de callouts initMonitor [SWS_DM_01088]. O método da classe ara::diag::Monitor não possui parâmetros e devolve ara::core::Result<void> [SWS_DM_01088]. Embora o nome tenha sido escolhido com base em ara::com, trata-se de uma implementação específica do componente de diagnóstico e não deve ser confundido com serviços de comunicação AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Em caso de erro, o método devolve o código de erro DiagOfferErrc::kAlreadyOffered se o serviço já tiver sido oferecido anteriormente [SWS_DM_01088]. Isto corresponde ao enumerador para sinalização de ofertas já ativas dentro dos domínios de erro de diagnóstico [SWS_DM_00514]. Em caso de chamada bem-sucedida, o objeto de retorno não contém qualquer erro.

No que diz respeito à concorrência, o método está especificado como not thread-safe, pelo que chamadas paralelas na mesma instância têm de ser sincronizadas pelo lado da aplicação [SWS_DM_01088]. Além disso, a função é segura contra exceções (exception safe) e está declarada com noexcept [SWS_DM_01088].

Na interação, a interface serve como uma porta disponibilizada para notificações do DM, enquanto a aplicação reporta estados de diagnóstico ao DM AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». A disponibilização via Offer permite ao DM acionar os notificadores initMonitor para monitores com debounce interno, baseado em contador ou baseado em tempo AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». O encerramento da prontidão do serviço é efetuado através do método StopOffer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Esta nota de utilização foi criada automaticamente. Todas as afirmações são comprovadas pela especificação AUTOSAR Adaptive Platform.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_01088
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01088@rel:R25-11#932bb11d
Content hash
932bb11d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01088
Status: valid/unmigrated Version: rel:R25-11#c26ecf6d Versionshistorie & Revisions (1 transition, 6 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_01088@rel:R25-11#c26ecf6d
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#14a77d032026-09-30
  • R21-11rel:R21-11#faa82eee2026-10-14
  • R22-11rel:R22-11#a9c6d5b82026-10-14
  • R23-11rel:R23-11#2bc534172026-10-14
  • R24-11rel:R24-11#51ad38872026-10-14
  • R25-11rel:R25-11#c26ecf6d2026-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

função ReportMonitorAction [SWS_DM_00543] Upstream: RS_Diag_04179, RS_AP_00139, RS_AP_00119

void ReportMonitorAction (MonitorAction action) noexcept;

Function to report the status information being relevant for error monitoring paths.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8334da733b55 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método síncrono ReportMonitorAction da classe ara::diag::Monitor reporta informações de status e de monitoramento de uma verificação de diagnóstico ao monitoramento de erros do daemon do Diagnostic Management [SWS_DM_00543]. Através do parâmetro action do tipo MonitorAction, a aplicação passa um resultado de teste qualificado ou não qualificado, ou comandos de controle para controlar o debouncing bem como para disparar um pré-armazenamento (prestorage) [SWS_DM_00543]. A função não fornece valor de retorno (void) e é declarada como noexcept bem como segura contra exceções [SWS_DM_00543].

Se ReportMonitorAction for chamado com um valor para action que não seja suportado pelo método de debouncing configurado do evento de diagnóstico, o Diagnostic Manager dispara uma violação de processo [SWS_DM_01988]. Além disso, o sistema define códigos de erro internos no tipo DiagErrc, por exemplo kReportIgnored para situações em que as condições de habilitação não são atendidas [SWS_DM_00514].

Para a integração e a concorrência, aplicam-se as seguintes condições de contorno:

  • Segurança de threads: A função não é segura para threads (not thread-safe) [SWS_DM_00543]. Chamadas paralelas na mesma instância de monitor devem ser sincronizadas pelo chamador (ao contrário de MultipleMonitor, onde a segurança de threads é configurável através do construtor [SWS_DM_01698]).
  • Condições de habilitação: Se uma Enable Condition associada ao evento de diagnóstico não for atendida, a chamada de ReportMonitorAction é ignorada SWS Diagnostics §7.3.4.1.4 «EnableConditions».
  • Debouncing: Ações reportadas como kPrefailed alteram o contador interno de debouncing de acordo com a largura de passo configurada [SWS_DM_00875], até que, ao atingir o valor limite, o erro seja classificado como kFinallyDefective [SWS_DM_00024].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR AP R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe
Verletzungen (Violations)UnexpectedMoni- ara::diag::Monitor::ReportMonitorAction is called with torActionHan- a parameter action value that is not supported by the used dlingViolation debouncing method.

Parameter (in)

ParameterBeschreibung
actionContains either the last (un-)qualified test result of the diagnostic monitor or commands to control the debouncing or to force a prestorage.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00543
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00543@rel:R25-11#e3d8c410
Content hash
e3d8c410
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00543
Status: valid/unmigrated Version: rel:R25-11#f21b58da Versionshistorie & Revisions (1 transition, 8 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_00543@rel:R25-11#f21b58da
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#060fb8752026-09-30
  • R19-11rel:R19-11#ecd452012026-10-14
  • R20-11rel:R20-11#601960092026-10-14
  • R21-11rel:R21-11#e35f2a592026-10-14
  • R22-11rel:R22-11#52a806d52026-10-14
  • R23-11rel:R23-11#3d9de7712026-10-14
  • R24-11rel:R24-11#f069565a2026-10-14
  • R25-11rel:R25-11#f21b58da2026-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

função StopOffer [SWS_DM_01089] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: e17ef3becf1d Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método ara::diag::Monitor::StopOffer desativa o encaminhamento de requisições e mensagens do Diagnostic Management (DM) para a respectiva instância de monitor ([SWS_DM_01089]). A chamada é executada de forma síncrona, não requer parâmetros e não possui valor de retorno ([SWS_DM_01089]). A operação serve como contrapartida a Offer e permite que uma Adaptive Application suspenda o monitoramento ativo, caso a parte do sistema correspondente temporariamente não precise ser monitorada (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). Embora o identificador seja baseado nas interfaces de ara::com, a especificação enfatiza expressamente que se trata de uma implementação independente de ara::diag::Monitor (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

No que diz respeito ao tratamento de erros, a função é declarada como noexcept e considerada segura contra exceções (exception safe); não existem códigos de erro específicos ou mensagens de erro ([SWS_DM_01089]). Como restrição essencial, StopOffer é classificado como não seguro para threads (not thread-safe) ([SWS_DM_01089]). Interpretação: em caso de acessos concorrentes ao mesmo objeto monitor, o próprio chamador provavelmente é responsável por uma sincronização adequada. Pergunta Q-3ead3049b4378083 (aberta)

No sistema como um todo, StopOffer se enquadra em um padrão uniforme do módulo de diagnóstico: interfaces análogas para desativar o encaminhamento de mensagens de DM são encontradas, entre outros, em GenericRoutine ([SWS_DM_00558]), CommunicationControl ([SWS_DM_00810]), EcuResetRequest ([SWS_DM_01017]) bem como Authentication ([SWS_DM_01131]).

Esta nota de uso foi gerada de forma automatizada e baseia-se nas especificações do AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_01089
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01089@rel:R25-11#f57c7d0d
Content hash
f57c7d0d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01089
Status: valid/unmigrated Version: rel:R25-11#66952c09 Versionshistorie & Revisions (1 transition, 6 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_01089@rel:R25-11#66952c09
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#25a3dd982026-09-30
  • R21-11rel:R21-11#ba7933502026-10-14
  • R22-11rel:R22-11#70e8e0742026-10-14
  • R23-11rel:R23-11#b0a4240b2026-10-14
  • R24-11rel:R24-11#44f352c32026-10-14
  • R25-11rel:R25-11#66952c092026-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

função operator= [SWS_DM_01683] Upstream: RS_AP_00147

Monitor & operator= (Monitor &)=delete;

Monitor shall be a single not assignable instance.

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor

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

Record
AUTOSAR/AP/record/SWS_DM_01683
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01683@rel:R25-11#e7ccbbad
Content hash
e7ccbbad
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01683
Status: valid/unmigrated Version: rel:R25-11#35cb3ac0 Versionshistorie & Revisions (1 transition, 4 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_01683@rel:R25-11#35cb3ac0
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e8fea5aa2026-09-30
  • R23-11rel:R23-11#f832beb72026-10-14
  • R24-11rel:R24-11#35cb3ac02026-10-14
  • R25-11rel:R25-11#35cb3ac02026-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

função operator= [SWS_DM_01684] Upstream: RS_AP_00147

Monitor & operator= (Monitor &&)=delete;

Move assignment operator of Monitor.

Header-Datei#include "ara/diag/monitor.h"
Scopeclass ara::diag::Monitor

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

Record
AUTOSAR/AP/record/SWS_DM_01684
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01684@rel:R25-11#b4f25689
Content hash
b4f25689
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01684
Status: valid/unmigrated Version: rel:R25-11#0f50b9c9 Versionshistorie & Revisions (1 transition, 4 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_01684@rel:R25-11#0f50b9c9
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ea640fb12026-09-30
  • R23-11rel:R23-11#e3480a782026-10-14
  • R24-11rel:R24-11#0f50b9c92026-10-14
  • R25-11rel:R25-11#0f50b9c92026-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