DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Sirve para la ejecución de monitorizaciones de diagnóstico y la notificación de estado al Diagnostic Management.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 49f63d89472d Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve para la ejecución de monitorizaciones de diagnóstico y la notificación de estado al Diagnostic Management.

La clase ara::diag::Monitor proporciona la interfaz funcional para la implementación de funciones de monitorización de diagnóstico y su conexión al Diagnostic Management [SWS_DM_00548]. Tras la vinculación a un prototipo de puerto, la aplicación señaliza mediante Offer() su disposición para la recepción y transmite continuamente los resultados de las pruebas a través de ReportMonitorAction() [SWS_DM_01088], [SWS_DM_00543]. Las instancias de Monitor no son copiables ni trasladables y todas las operaciones están especificadas como no seguras para subprocesos [SWS_DM_01685].

Contexto

La clase ara::diag::Monitor representa la interfaz estandarizada de C++ para la realización de funciones de monitorización de diagnóstico (monitores) dentro de la Adaptive Platform [SWS_DM_00548]. Un monitor es responsable de la detección y notificación de síntomas de fallos en componentes de software funcionales y transmite sus estados al módulo Diagnostic Management (DM).

La vinculación al modelo de sistema de AUTOSAR se realiza mediante un ara::core::InstanceSpecifier, el cual debe hacer referencia obligatoriamente a un PortPrototype tipificado por un DiagnosticMonitorInterface [SWS_DM_00548]. En la tramitación global intervienen esencialmente tres componentes: la monitorización funcional específica de la aplicación (Application), la instancia de interfaz local de ara::diag::Monitor y el módulo de plataforma Diagnostic Management (DM), que recibe eventos y solicita reinicializaciones.

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 (demonio DM) mon->dm Status- & Entprellmeldungen dm->mon Initialisierungs- & Steuerbefehle

Diagrama de contexto: relaciones de interacción entre el software de aplicación, ara::diag::Monitor y el Diagnostic Management. Fuentes: [SWS_DM_00548], [SWS_DM_00543], [SWS_DM_01088], [SWS_DM_01089]

Ciclo de vida

La instanciación de un monitor depende del mecanismo de eliminación de rebotes (debouncing) definido en el modelo. Para ello, la Adaptive Platform proporciona cuatro variantes de constructor:

  • Eliminación de rebotes interna del monitor con registro de una callback InitMonitorNotifier y un puntero a función para consultar el contador de detección de fallos (std::function<std::int8_t()> getFaultDetectionCounter) [SWS_DM_00548].
  • Eliminación de rebotes basada en contador pasando parámetros del tipo CounterBased [SWS_DM_00549].
  • Eliminación de rebotes basada en tiempo pasando parámetros del tipo TimeBased [SWS_DM_00550].
  • Monitorización directa sin algoritmo de eliminación de rebotes [SWS_DM_01972].

Las instancias de ara::diag::Monitor están vinculadas de forma fija a su ubicación de memoria original: el constructor de copia [SWS_DM_01685] y el operador de asignación por copia [SWS_DM_01683] están eliminados (delete). Del mismo modo, el constructor de movimiento [SWS_DM_01686] y la asignación por movimiento [SWS_DM_01684] están explícitamente eliminados.

Tras la creación, la instancia se encuentra en el estado No ofrecido (Unoffered). Solo mediante la llamada explícita a Offer() la aplicación declara su disposición a recibir y procesar callouts de diagnóstico como initMonitor [SWS_DM_01088]. Con StopOffer() se desactiva de nuevo el reenvío de solicitudes de diagnóstico procedentes del DM [SWS_DM_01089]. Tras la llamada a StopOffer(), presumiblemente sea posible una reanudación posterior del funcionamiento mediante una nueva llamada a Offer(). Pregunta Q-136565db34b28ae6 (abierta) Antes de la destrucción final del objeto monitor, la aplicación presumiblemente deba ejecutar StopOffer() para evitar con seguridad notificaciones pendientes.

En lo relativo a la concurrencia, todas las funciones miembro de ara::diag::Monitor están especificadas como no seguras para subprocesos [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]. Si varios subprocesos del software de aplicación acceden al mismo monitor, la sincronización es responsabilidad de la aplicación. No obstante, todos los métodos están declarados como seguros frente a excepciones (noexcept) [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089].

diag_lebenszyklus unoffered No ofrecido (Unoffered / creado) 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 del ciclo de vida y transiciones en la provisión del servicio de ara::diag::Monitor. Fuentes: [SWS_DM_01088], [SWS_DM_01089]

Ruta de uso

El flujo regular para la monitorización de una vía de fallo comprende los siguientes pasos:

  1. Instanciación: la aplicación crea la instancia de Monitor indicando el InstanceSpecifier, la callback initMonitor así como los parámetros de eliminación de rebotes o la callback de FDC que puedan ser necesarios [SWS_DM_00548], [SWS_DM_00549].
  2. Oferta de servicio: a través de Offer(), el monitor se registra ante el DM como listo para la recepción [SWS_DM_01088].
  3. Inicialización: el Diagnostic Management informa a la aplicación sobre eventos de inicialización pendientes a través de la callback InitMonitorNotifier registrada [SWS_DM_01088].
  4. Notificación cíclica/basada en eventos: durante el funcionamiento operativo, la aplicación notifica de forma continua el estado de la vía de monitorización mediante ReportMonitorAction(action) [SWS_DM_00543]. La acción transmitida contiene o bien resultados de prueba (calificados/no calificados) o bien comandos para el control de eliminación de rebotes o prealmacenamiento (prestorage). Si se configuró debouncing interno del monitor, el DM consulta el valor de delimitación de fallos en caso necesario a través de la callback registrada [SWS_DM_00548].
  5. Finalización del servicio: antes del apagado o al desactivar la función de diagnóstico, la aplicación invoca StopOffer() para impedir mensajes entrantes del DM [SWS_DM_01089].
Flujo típico de uso del monitorAplicaciónara::diag::MonitorDiagnostic ManagementMonitor(specifier, initMonitor, ...)Offer()Service anbietenResult<void>Use Case: Inicialización y monitorizacióninitMonitor(action)ReportMonitorAction(action)Status aktualisierenoptMonitor-internes DebouncinggetFaultDetectionCounter()std::int8_t FDCUse Case: DeaktivierungStopOffer()Weiterleitung deaktivieren

Diagrama de secuencia: secuencia típica de llamadas desde la inicialización y la notificación de estado hasta la desactivación. Fuentes: [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]

Escenarios de error

Las situaciones de error se manifiestan en ara::diag::Monitor en dos niveles distintos: como código de error mediante ara::core::Result o como infracciones en tiempo de ejecución (violations) del framework.

El método Offer() devuelve un ara::core::Result<void>. Si el monitor ya se encuentra en el estado ofrecido, la llamada falla y devuelve el código de error DiagOfferErrc::kAlreadyOffered [SWS_DM_01088].

Los errores graves de configuración o de invocación desencadenan mensajes de infracción definidos:

  • InstanceSpecifierMappingIntegrityViolation: el InstanceSpecifier no se puede resolver en el contexto de modelo del proceso o no hace referencia a un PortPrototype [SWS_DM_00548].
  • PortInterfaceMappingViolation: El puerto referenciado no está tipado por un DiagnosticMonitorInterface [SWS_DM_00548].
  • ProcessMappingViolation: no existe ningún proceso modelado adecuado para la instancia de tiempo de ejecución [SWS_DM_00548].
  • InstanceSpecifierAlreadyInUseViolation: el InstanceSpecifier ya está siendo utilizado por otro monitor dentro del proceso actual [SWS_DM_00548].
  • InvalidDebouncingAlgorithmViolation: el mecanismo de debouncing seleccionado en el constructor difiere del método de debouncing modelado en las descripciones de diagnóstico DEXT [SWS_DM_00548], [SWS_DM_00549], [SWS_DM_00550].
  • UnexpectedMonitorActionHandlingViolation: se pasa al método ReportMonitorAction() un valor de acción no admitido para el algoritmo de debouncing configurado [SWS_DM_00543].

Esta guía se basa en la especificación AUTOSAR Adaptive Platform Release R25-11.

Mapa de miembros

Constructores y destructor

1

Operadores

1

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Monitor función 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 función

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 función

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

void StopOffer () noexcept;

Operadores

operator= función 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

Documentación de los métodos

función 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#5bb25e54
Content hash
5bb25e54
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

función 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#017f5e74
Content hash
017f5e74
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

función 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#a1babc68
Content hash
a1babc68
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

función 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#74e4da38
Content hash
74e4da38
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

función 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#cb8e2a5b
Content hash
cb8e2a5b
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

función 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#684a034e
Content hash
684a034e
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2e8d03769af8 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Con la llamada al método Offer, una Adaptive Application indica a Diagnostic Management (DM) que está lista para recibir y procesar callouts de initMonitor [SWS_DM_01088]. El método de la clase ara::diag::Monitor no tiene parámetros y devuelve ara::core::Result<void> [SWS_DM_01088]. Aunque el nombre se eligió por analogía con ara::com, se trata de una implementación específica del componente de diagnóstico y no debe confundirse con servicios de comunicación AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

En caso de error, el método devuelve el código de error DiagOfferErrc::kAlreadyOffered si el servicio ya se había ofrecido previamente [SWS_DM_01088]. Esto corresponde al enumerador para notificar ofertas ya activas dentro de los dominios de error de diagnóstico [SWS_DM_00514]. Si la llamada es exitosa, el objeto devuelto no contiene ningún error.

En cuanto a la concurrencia, el método está especificado como not thread-safe, por lo que las llamadas paralelas en la misma instancia deben sincronizarse en el lado de la aplicación [SWS_DM_01088]. Además, la función está declarada como segura frente a excepciones (exception safe) y con noexcept [SWS_DM_01088].

En la interacción global, la interfaz sirve como un puerto proporcionado para notificaciones del DM, mientras que la aplicación comunica estados de diagnóstico al DM AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». La oferta vía Offer permite al DM activar los notificadores initMonitor para monitores con desparasitado (debouncing) interno, basado en contadores o basado en tiempo AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». La finalización de la disponibilidad del servicio se realiza mediante el método StopOffer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Esta nota de uso se ha creado de manera automatizada. Todas las afirmaciones están respaldadas por la especificación AUTOSAR Adaptive Platform.

Guía del implementador pendiente (complejidad 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#8135d9a8
Content hash
8135d9a8
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8334da733b55 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método síncrono ReportMonitorAction de la clase ara::diag::Monitor notifica información de estado y monitorización de una prueba de diagnóstico a la monitorización de errores del demonio del Diagnostic Management [SWS_DM_00543]. Mediante el parámetro action de tipo MonitorAction, la aplicación pasa un resultado de prueba cualificado o no cualificado, o bien comandos de control para gestionar el filtrado antirrebote y activar un almacenamiento previo (prestorage) [SWS_DM_00543]. La función no proporciona ningún valor de retorno (void) y está declarada como noexcept, así como segura frente a excepciones [SWS_DM_00543].

Si se llama a ReportMonitorAction con un valor para action que no es compatible con el procedimiento de filtrado antirrebote configurado para el evento de diagnóstico, el Diagnostic Manager desencadena una infracción de proceso [SWS_DM_01988]. Además, el sistema define códigos de error internos en el tipo DiagErrc, por ejemplo kReportIgnored para situaciones en las que no se cumplen las condiciones de habilitación [SWS_DM_00514].

Para la integración y la concurrencia se aplican las siguientes condiciones de contorno:

  • Seguridad para subprocesos: la función no es segura para subprocesos (not thread-safe) [SWS_DM_00543]. Las llamadas paralelas sobre la misma instancia de monitor deben sincronizarse del lado del emisor de la llamada (a diferencia de MultipleMonitor, donde la seguridad para subprocesos es configurable mediante el constructor [SWS_DM_01698]).
  • Condiciones de habilitación: si una condición de habilitación (Enable Condition) asignada al evento de diagnóstico no se cumple, se ignora la llamada a ReportMonitorAction SWS Diagnostics §7.3.4.1.4 «EnableConditions».
  • Filtrado antirrebote: las acciones notificadas como kPrefailed modifican el contador interno de antirrebote según el tamaño de paso configurado [SWS_DM_00875], hasta que, al alcanzarse el valor de umbral, el fallo se clasifica como kFinallyDefective [SWS_DM_00024].

Esta nota de uso se ha generado automáticamente a partir de la especificación AUTOSAR AP R25-11.

Guía del implementador pendiente (complejidad 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#be8406ce
Content hash
be8406ce
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

función StopOffer [SWS_DM_01089] Upstream: RS_Diag_04169

void StopOffer () noexcept;

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: e17ef3becf1d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método ara::diag::Monitor::StopOffer desactiva el reenvío de peticiones y mensajes del Diagnostic Management (DM) a la instancia de monitor correspondiente ([SWS_DM_01089]). La llamada se ejecuta de forma síncrona, no requiere parámetros de transferencia y no posee valor de retorno ([SWS_DM_01089]). La operación sirve de contrapartida para Offer y permite a una Adaptive Application suspender la monitorización activa siempre que la parte del sistema correspondiente no requiera supervisión temporalmente (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»). Si bien el identificador se orienta a las interfaces de ara::com, la especificación subraya expresamente que se trata de una implementación independiente de ara::diag::Monitor (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

En cuanto al tratamiento de errores, la función está declarada como noexcept y se considera segura frente a excepciones (exception safe); no existen códigos de error ni mensajes de error específicos ([SWS_DM_01089]). Como restricción esencial, StopOffer está clasificada como no segura para subprocesos (not thread-safe) ([SWS_DM_01089]). Interpretación: en accesos concurrentes al mismo objeto de monitor, es probable que el propio llamador sea responsable de una sincronización adecuada. Pregunta Q-3ead3049b4378083 (abierta)

En el sistema global, StopOffer se integra en un patrón uniforme del módulo de diagnóstico: se encuentran interfaces análogas para desactivar el reenvío de mensajes de DM, entre otros, en GenericRoutine ([SWS_DM_00558]), CommunicationControl ([SWS_DM_00810]), EcuResetRequest ([SWS_DM_01017]) y Authentication ([SWS_DM_01131]).

Esta nota de uso ha sido generada de forma automatizada y se basa en las especificaciones de AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#1324f695
Content hash
1324f695
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

función 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#395b3510
Content hash
395b3510
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

función 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#4f858cf3
Content hash
4f858cf3
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