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

Guide utilisateurGÉNÉRÉ PAR IA

Sert à l'exécution de surveillances de diagnostic et à la notification d'état au Diagnostic Management.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 49f63d89472d Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert à l'exécution de surveillances de diagnostic et à la notification d'état au Diagnostic Management.

La classe ara::diag::Monitor fournit l'interface fonctionnelle pour l'implémentation de fonctions de surveillance de diagnostic et leur raccordement au Diagnostic Management [SWS_DM_00548]. Après la liaison à un prototype de port, l'application signale via Offer() qu'elle est prête à recevoir et transmet en continu les résultats de test via ReportMonitorAction() [SWS_DM_01088], [SWS_DM_00543]. Les instances de moniteur ne sont ni copiables ni déplaçables et toutes les opérations sont spécifiées comme non thread-safe [SWS_DM_01685].

Contexte

La classe ara::diag::Monitor représente l'interface C++ standardisée pour la réalisation de fonctions de surveillance de diagnostic (moniteurs) au sein de l'Adaptive Platform [SWS_DM_00548]. Un moniteur est responsable de la détection et du signalement des symptômes de défauts dans les composants logiciels fonctionnels et transmet leurs états au module Diagnostic Management (DM).

La liaison au modèle de système AUTOSAR s'effectue via un ara::core::InstanceSpecifier, qui doit obligatoirement référencer un PortPrototype typé par un DiagnosticMonitorInterface [SWS_DM_00548]. Trois composants participent principalement au déroulement global : la surveillance fonctionnelle spécifique à l'application (Application), l'instance d'interface locale de ara::diag::Monitor ainsi que le module de plateforme Diagnostic Management (DM), qui reçoit les événements et demande les réinitialisations.

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

Diagramme de contexte : relations d'interaction entre le logiciel applicatif, ara::diag::Monitor et le Diagnostic Management. Sources : [SWS_DM_00548], [SWS_DM_00543], [SWS_DM_01088], [SWS_DM_01089]

Cycle de vie

L'instanciation d'un moniteur dépend du mécanisme de filtrage des rebonds (debouncing) défini dans le modèle. L'Adaptive Platform fournit à cet effet quatre variantes de constructeur :

  • Dévalidation interne au moniteur avec enregistrement d'un callback InitMonitorNotifier et d'un pointeur de fonction pour l'interrogation du Fault Detection Counter (std::function<std::int8_t()> getFaultDetectionCounter) [SWS_DM_00548].
  • Dévalidation par compteur avec transmission de paramètres du type CounterBased [SWS_DM_00549].
  • Dévalidation temporelle avec transmission de paramètres du type TimeBased [SWS_DM_00550].
  • Surveillance directe sans algorithme de dévalidation [SWS_DM_01972].

Les instances de ara::diag::Monitor sont strictement liées à leur emplacement mémoire d'origine : le constructeur de copie [SWS_DM_01685] et l'opérateur d'assignation par copie [SWS_DM_01683] sont supprimés (delete). De même, le constructeur de déplacement [SWS_DM_01686] et l'assignation par déplacement [SWS_DM_01684] sont explicitement supprimés.

Après sa création, l'instance se trouve dans l'état Non proposé (Unoffered). Ce n'est que par l'appel explicite de Offer() que l'application déclare être prête à recevoir et traiter les callouts de diagnostic tels que initMonitor [SWS_DM_01088]. Avec StopOffer(), le réacheminement des requêtes de diagnostic provenant du DM est à nouveau désactivé [SWS_DM_01089]. Après l'appel de StopOffer(), une reprise ultérieure du fonctionnement par un nouvel appel de Offer() devrait probablement être possible. Question Q-136565db34b28ae6 (ouverte) Avant la destruction finale de l'objet Monitor, l'application devrait probablement exécuter StopOffer() afin d'empêcher de manière sûre les notifications en attente.

En ce qui concerne la concurrence, toutes les fonctions membres de ara::diag::Monitor sont spécifiées comme non thread-safe [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]. Si plusieurs threads du logiciel d'application accèdent au même moniteur, la synchronisation incombe à l'application. Toutes les méthodes sont cependant déclarées comme sûres vis-à-vis des exceptions (noexcept) [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089].

diag_lebenszyklus unoffered Non proposé (Unoffered / Créé) offered Angeboten (Offered / Aktiv) unoffered->offered Offer() [Erfolg] offered->offered Offer() [kAlreadyOffered] stopped Gestoppt (Stopped / Inaktiv) offered->stopped StopOffer() stopped->offered Offer()

Diagramme d'états : États du cycle de vie et transitions lors de la mise à disposition de services d'ara::diag::Monitor. Sources : [SWS_DM_01088], [SWS_DM_01089]

Parcours d'utilisation

Le déroulement standard pour la surveillance d'un chemin de défaillance comprend les étapes suivantes :

  1. Instanciation : l'application crée l'instance de Monitor en spécifiant l'InstanceSpecifier, le callback initMonitor ainsi que les paramètres de dévalidation éventuellement requis ou le callback FDC [SWS_DM_00548], [SWS_DM_00549].
  2. Offre de service : via Offer(), le moniteur se déclare prêt à recevoir auprès du DM [SWS_DM_01088].
  3. Initialisation : le Diagnostic Management informe l'application des événements d'initialisation en attente via le callback InitMonitorNotifier enregistré [SWS_DM_01088].
  4. Notification cyclique / basée sur des événements : pendant le fonctionnement opérationnel, l'application notifie en continu l'état du chemin de surveillance via ReportMonitorAction(action) [SWS_DM_00543]. L'action transmise contient soit des résultats de test (qualifiés/non qualifiés), soit des commandes de contrôle de dévalidation ou de pré-mémorisation (Prestorage). Si une dévalidation interne au moniteur a été configurée, le DM interroge en cas de besoin la valeur de détection de défaillance via le callback enregistré [SWS_DM_00548].
  5. Fin de service : avant l'arrêt ou lors de la désactivation de la fonction de diagnostic, l'application appelle StopOffer() afin d'empêcher les messages entrants du DM [SWS_DM_01089].
Déroulement typique de l'utilisation du moniteurApplicationara::diag::MonitorGestion des diagnosticsMonitor(specifier, initMonitor, ...)Offer()Service anbietenResult<void>Use Case: Initialisation et surveillanceinitMonitor(action)ReportMonitorAction(action)Status aktualisierenoptMonitor-internes DebouncinggetFaultDetectionCounter()std::int8_t FDCUse Case: DeaktivierungStopOffer()Weiterleitung deaktivieren

Diagramme de séquence : Séquence d'appels typique, de l'initialisation à la désactivation en passant par la notification d'état. Sources : [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]

Scénarios d'erreur

Les situations d'erreur se manifestent pour ara::diag::Monitor à deux niveaux distincts : sous forme de code d'erreur via ara::core::Result ou sous forme de violations d'exécution (Violations) du framework.

La méthode Offer() renvoie un ara::core::Result<void>. Si le moniteur se trouve déjà dans l'état proposé, l'appel échoue et renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered [SWS_DM_01088].

Les erreurs graves de configuration ou d'appel déclenchent des messages de violation définis :

  • InstanceSpecifierMappingIntegrityViolation : l'InstanceSpecifier ne peut pas être résolu dans le contexte de modèle du processus ou ne fait pas référence à un PortPrototype [SWS_DM_00548].
  • PortInterfaceMappingViolation\u202f: Le port référencé n'est pas typé par un DiagnosticMonitorInterface [SWS_DM_00548].
  • ProcessMappingViolation : aucun processus modélisé correspondant n'existe pour l'instance d'exécution [SWS_DM_00548].
  • InstanceSpecifierAlreadyInUseViolation : l'InstanceSpecifier est déjà utilisé par un autre moniteur au sein du processus actuel [SWS_DM_00548].
  • InvalidDebouncingAlgorithmViolation : le mécanisme de dévalidation sélectionné dans le constructeur diffère de la méthode de dévalidation modélisée dans les descriptions de diagnostic DEXT [SWS_DM_00548], [SWS_DM_00549], [SWS_DM_00550].
  • UnexpectedMonitorActionHandlingViolation : une valeur d'action qui n'est pas prise en charge pour l'algorithme de dévalidation configuré est transmise à la méthode ReportMonitorAction() [SWS_DM_00543].

Ce guide est basé sur la spécification AUTOSAR Adaptive Platform Release R25-11.

Carte des membres

Constructeurs et destructeur

1

Opérateurs

1

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

Monitor fonction 6

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

Surcharges 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éthodes

Offer fonction

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 fonction

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

void StopOffer () noexcept;

Opérateurs

operator= fonction 2

Monitor shall be a single not assignable instance.

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

Documentation des méthodes

fonction 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#6d635c4f
Content hash
6d635c4f
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

fonction 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#f357c755
Content hash
f357c755
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

fonction 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#783a47d1
Content hash
783a47d1
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

fonction 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#80d7c731
Content hash
80d7c731
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

fonction 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#ea333422
Content hash
ea333422
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

fonction 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#6bd207bc
Content hash
6bd207bc
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2e8d03769af8 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Par l'appel de la méthode Offer, une Adaptive Application signale au Diagnostic Management (DM) qu'elle est prête pour la réception et le traitement des callouts initMonitor [SWS_DM_01088]. La méthode de la classe ara::diag::Monitor ne possède aucun paramètre et renvoie ara::core::Result<void> [SWS_DM_01088]. Bien que le nom ait été choisi par analogie avec ara::com, il s'agit d'une implémentation spécifique du composant de diagnostic qui ne doit pas être confondue avec des services de communication AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ».

En cas d'erreur, la méthode renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered si le service a déjà été proposé auparavant [SWS_DM_01088]. Cela correspond à l'énumérateur signalant des offres déjà actives au sein des domaines d'erreur de diagnostic [SWS_DM_00514]. En cas d'appel réussi, l'objet de retour ne contient aucune erreur.

Concernant la concurrence, la méthode est spécifiée comme not thread-safe, ce qui implique que les appels parallèles sur la même instance doivent être synchronisés côté application [SWS_DM_01088]. De plus, la fonction est déclarée comme sûre vis-à-vis des exceptions (exception safe) et avec noexcept [SWS_DM_01088].

Dans leur interaction, l'interface sert de port fourni pour les notifications du DM, tandis que l'application signale des états de diagnostic au DM AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ». La mise à disposition via Offer permet au DM de déclencher les notificateurs initMonitor pour les moniteurs dotés d'un filtrage anti-rebond interne, basé sur compteur ou basé sur temps AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ». La fin de la disponibilité du service s'effectue via la méthode StopOffer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ».

Cette note d'utilisation a été générée automatiquement. Toutes les affirmations sont étayées par la spécification AUTOSAR Adaptive Platform.

Guide de l'implémenteur à venir (complexité 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#03b39a55
Content hash
03b39a55
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8334da733b55 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode synchrone ReportMonitorAction de la classe ara::diag::Monitor signale les informations d'état et de surveillance d'un contrôle de diagnostic au monitoring des défauts du démon de Diagnostic Management [SWS_DM_00543]. Via le paramètre action de type MonitorAction, l'application transmet soit un résultat de test qualifié ou non qualifié, soit des commandes de contrôle pour piloter le filtrage (déboubage) ainsi que pour déclencher un pré-enregistrement (Prestorage) [SWS_DM_00543]. La fonction ne fournit aucune valeur de retour (void) et est déclarée comme noexcept ainsi que sûre du point de vue des exceptions [SWS_DM_00543].

Si ReportMonitorAction est appelée avec une valeur pour action qui n'est pas prise en charge par la méthode de filtrage configurée pour l'événement de diagnostic, le Diagnostic Manager déclenche une violation de processus [SWS_DM_01988]. De plus, le système définit des codes d'erreur internes dans le type DiagErrc, par exemple kReportIgnored pour les situations dans lesquelles les conditions de validation (Enable Conditions) ne sont pas remplies [SWS_DM_00514].

Pour l'intégration et la concurrence, les contraintes suivantes s'appliquent :

  • Sûreté des threads : la fonction n'est pas sûre pour les threads (not thread-safe) [SWS_DM_00543]. Les appels parallèles sur la même instance de moniteur doivent être synchronisés côté appelant (à la différence de MultipleMonitor, où la sûreté des threads est configurable via le constructeur [SWS_DM_01698]).
  • Conditions de validation : si une Enable Condition associée à l'événement de diagnostic n'est pas remplie, l'appel de ReportMonitorAction est ignoré SWS Diagnostics §7.3.4.1.4 « EnableConditions ».
  • Filtrage (déboubage) : les actions signalées telles que kPrefailed modifient le compteur interne de filtrage selon le pas configuré [SWS_DM_00875], jusqu'à ce que, lorsque la valeur de seuil est atteinte, le défaut soit classé comme kFinallyDefective [SWS_DM_00024].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR AP R25-11.

Guide de l'implémenteur à venir (complexité 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#65ab29bc
Content hash
65ab29bc
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

fonction StopOffer [SWS_DM_01089] Upstream: RS_Diag_04169

void StopOffer () noexcept;

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e17ef3becf1d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode ara::diag::Monitor::StopOffer désactive le transfert des requêtes et messages du Diagnostic Management (DM) vers l'instance de moniteur concernée ([SWS_DM_01089]). L'appel est exécuté de manière synchrone, ne nécessite aucun paramètre d'entrée et n'a pas de valeur de retour ([SWS_DM_01089]). L'opération sert de pendant à Offer et permet à une Adaptive Application de suspendre la surveillance active, pour autant que la partie de système associée n'ait pas besoin d'être surveillée temporairement (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors »). Bien que l'identifiant s'oriente sur les interfaces issues de ara::com, la spécification souligne expressément qu'il s'agit d'une implémentation autonome de ara::diag::Monitor (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors »).

Concernant le traitement des erreurs, la fonction est déclarée comme noexcept et considérée comme sûre vis-à-vis des exceptions (exception safe) ; aucun code d'erreur ni message d'erreur spécifique n'existe ([SWS_DM_01089]). Comme restriction essentielle, StopOffer est classée comme non sûre pour les threads (not thread-safe) ([SWS_DM_01089]). Interprétation : lors d'accès concurrents au même objet moniteur, l'appelant devrait être lui-même responsable d'une synchronisation appropriée. Question Q-3ead3049b4378083 (ouverte)

Dans le système global, StopOffer s'intègre dans un modèle uniforme du module de diagnostic : des interfaces analogues pour désactiver le transfert des messages du DM se trouvent entre autres chez GenericRoutine ([SWS_DM_00558]), CommunicationControl ([SWS_DM_00810]), EcuResetRequest ([SWS_DM_01017]) ainsi que Authentication ([SWS_DM_01131]).

Cette note d'utilisation a été générée automatiquement et se base sur les spécifications d'AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité 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#34c6e635
Content hash
34c6e635
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

fonction 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#62a4a2c1
Content hash
62a4a2c1
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

fonction 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#8900a8b6
Content hash
8900a8b6
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