DEENESPTFRRUARHIKOZHNL

class 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

User GuideKI-GENERIERT

Dient der Ausführung von Diagnoseüberwachungen und der Statusmeldung an das Diagnostic Management.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 49f63d89472d Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient der Ausführung von Diagnoseüberwachungen und der Statusmeldung an das Diagnostic Management.

Die Klasse ara::diag::Monitor stellt die funktionale Schnittstelle zur Implementierung von Diagnose-Überwachungsfunktionen und deren Anbindung an das Diagnostic Management bereit [SWS_DM_00548]. Nach der Bindung an einen Port-Prototyp signalisiert die Anwendung über Offer() ihre Empfangsbereitschaft und übermittelt Testergebnisse fortlaufend über ReportMonitorAction() [SWS_DM_01088], [SWS_DM_00543]. Monitor-Instanzen sind weder kopier- noch verschiebbar und sämtliche Operationen sind als nicht threadsicher spezifiziert [SWS_DM_01685].

Kontext

Die Klasse ara::diag::Monitor stellt die standardisierte C++-Schnittstelle zur Realisierung von Diagnose-Überwachungsfunktionen (Monitoren) innerhalb der Adaptive Platform dar [SWS_DM_00548]. Ein Monitor ist für die Erkennung und Meldung von Fehlersymptomen in funktionalen Software-Komponenten verantwortlich und übermittelt deren Zustände an das Modul Diagnostic Management (DM).

Die Bindung an das AUTOSAR-Systemmodell erfolgt über einen ara::core::InstanceSpecifier, welcher zwingend auf einen durch ein DiagnosticMonitorInterface typisierten PortPrototype verweisen muss [SWS_DM_00548]. An der Gesamtabwicklung sind im Wesentlichen drei Komponenten beteiligt: die anwendungsspezifische Funktionsüberwachung (Application), die lokale Schnittstelleninstanz von ara::diag::Monitor sowie das Plattform-Modul Diagnostic Management (DM), welches Ereignisse entgegennimmt und Reinitialisierungen anfordert.

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

Kontextdiagramm: Interaktionsbeziehungen zwischen Anwendungssoftware, ara::diag::Monitor und dem Diagnostic Management. Quellen: [SWS_DM_00548], [SWS_DM_00543], [SWS_DM_01088], [SWS_DM_01089]

Lebenszyklus

Die Instanziierung eines Monitors richtet sich nach dem im Modell definierten Entprellmechanismus (Debouncing). Die Adaptive Platform stellt hierfür vier Konstruktorvarianten bereit:

  • Monitor-interne Entprellung mit Registrierung eines InitMonitorNotifier-Callbacks und eines Funktionszeigers zur Abfrage des Fault Detection Counters (std::function<std::int8_t()> getFaultDetectionCounter) [SWS_DM_00548].
  • Zählerbasierte Entprellung unter Übergabe von Parametern des Typs CounterBased [SWS_DM_00549].
  • Zeitbasierte Entprellung unter Übergabe von Parametern des Typs TimeBased [SWS_DM_00550].
  • Direkte Überwachung ohne Entprellalgorithmus [SWS_DM_01972].

Instanzen von ara::diag::Monitor sind fest an ihren ursprünglichen Speicherort gebunden: Kopierkonstruktor [SWS_DM_01685] und Kopierzuweisungsoperator [SWS_DM_01683] sind gelöscht (delete). Gleichermaßen sind Verschiebekonstruktor [SWS_DM_01686] und Verschiebezuweisung [SWS_DM_01684] explizit gelöscht.

Nach der Erzeugung befindet sich die Instanz im Zustand Nicht angeboten (Unoffered). Erst durch den expliziten Aufruf von Offer() erklärt die Anwendung ihre Bereitschaft, Diagnose-Callouts wie initMonitor zu empfangen und zu verarbeiten [SWS_DM_01088]. Mit StopOffer() wird die Weiterleitung von Diagnoseanfragen aus dem DM wieder deaktiviert [SWS_DM_01089]. Nach dem Aufruf von StopOffer() dürfte eine spätere Wiederaufnahme des Betriebs durch einen erneuten Aufruf von Offer() vermutlich möglich sein. Frage Q-136565db34b28ae6 (offen) Vor der finalen Zerstörung des Monitor-Objekts dürfte die Anwendung vermutlich StopOffer() ausführen müssen, um ausstehende Benachrichtigungen sicher zu unterbinden.

Hinsichtlich der Nebenläufigkeit sind sämtliche Elementfunktionen von ara::diag::Monitor als nicht threadsicher spezifiziert [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]. Greifen mehrere Threads der Anwendungssoftware auf denselben Monitor zu, obliegt die Synchronisation der Anwendung. Alle Methoden sind jedoch als ausnahmesicher (noexcept) deklariert [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089].

diag_lebenszyklus unoffered Nicht angeboten (Unoffered / Erzeugt) offered Angeboten (Offered / Aktiv) unoffered->offered Offer() [Erfolg] offered->offered Offer() [kAlreadyOffered] stopped Gestoppt (Stopped / Inaktiv) offered->stopped StopOffer() stopped->offered Offer()

Zustandsdiagramm: Lebenszyklus-Zustände und Übergänge bei der Dienstbereitstellung von ara::diag::Monitor. Quellen: [SWS_DM_01088], [SWS_DM_01089]

Nutzungspfad

Der reguläre Ablauf zur Überwachung eines Fehlerpfads umfasst folgende Schritte:

  1. Instanziierung: Die Anwendung erzeugt die Monitor-Instanz unter Angabe des InstanceSpecifier, des Callbacks initMonitor sowie eventuell benötigter Entprellparameter oder des FDC-Callbacks [SWS_DM_00548], [SWS_DM_00549].
  2. Dienstangebot: Über Offer() meldet sich der Monitor beim DM als empfangsbereit an [SWS_DM_01088].
  3. Initialisierung: Das Diagnostic Management informiert die Anwendung über das registrierte InitMonitorNotifier-Callback über anstehende Initialisierungsereignisse [SWS_DM_01088].
  4. Zyklische/Ereignisbasierte Meldung: Während des operativen Betriebs meldet die Anwendung fortlaufend den Status des Überwachungspfads via ReportMonitorAction(action) [SWS_DM_00543]. Die übergebene Aktion enthält entweder Testergebnisse (qualifiziert/unqualifiziert) oder Befehle zur Entprellsteuerung bzw. Vorspeicherung (Prestorage). Wurde monitor-internes Debouncing konfiguriert, fragt das DM über den registrierten Callback bei Bedarf den Fehlereingrenzungswert ab [SWS_DM_00548].
  5. Dienstbeendigung: Vor dem Herunterfahren oder bei Deaktivierung der Diagnosefunktion ruft die Anwendung StopOffer() auf, um eingehende DM-Nachrichten zu unterbinden [SWS_DM_01089].
Typischer Ablauf der Monitor-NutzungAnwendungara::diag::MonitorDiagnostic ManagementMonitor(specifier, initMonitor, ...)Offer()Service anbietenResult<void>Use Case: Initialisierung und ÜberwachunginitMonitor(action)ReportMonitorAction(action)Status aktualisierenoptMonitor-internes DebouncinggetFaultDetectionCounter()std::int8_t FDCUse Case: DeaktivierungStopOffer()Weiterleitung deaktivieren

Sequenzdiagramm: Typische Aufrufabfolge von der Initialisierung über die Statusmeldung bis zur Deaktivierung. Quellen: [SWS_DM_00548], [SWS_DM_01088], [SWS_DM_00543], [SWS_DM_01089]

Fehlerszenarien

Fehlersituationen manifestieren sich bei ara::diag::Monitor auf zwei unterschiedlichen Ebenen: als Fehlercode über ara::core::Result oder als Laufzeitverletzungen (Violations) des Frameworks.

Die Methode Offer() gibt ein ara::core::Result<void> zurück. Befindet sich der Monitor bereits im angebotenen Zustand, schlägt der Aufruf fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered [SWS_DM_01088].

Schwerwiegende Konfigurations- oder Aufruffehler lösen definierte Verletzungsmeldungen aus:

  • InstanceSpecifierMappingIntegrityViolation: Der InstanceSpecifier kann im Modellkontext des Prozesses nicht aufgelöst werden oder verweist nicht auf einen PortPrototype [SWS_DM_00548].
  • PortInterfaceMappingViolation: Der referenzierte Port ist nicht durch ein DiagnosticMonitorInterface typisiert [SWS_DM_00548].
  • ProcessMappingViolation: Es existiert kein passender modellierter Prozess zur Laufzeitinstanz [SWS_DM_00548].
  • InstanceSpecifierAlreadyInUseViolation: Der InstanceSpecifier wird innerhalb des aktuellen Prozesses bereits von einem anderen Monitor verwendet [SWS_DM_00548].
  • InvalidDebouncingAlgorithmViolation: Der im Konstruktor gewählte Entprellmechanismus weicht von der in den DEXT-Diagnosebeschreibungen modellierten Entprellmethode ab [SWS_DM_00548], [SWS_DM_00549], [SWS_DM_00550].
  • UnexpectedMonitorActionHandlingViolation: Der Methode ReportMonitorAction() wird ein Aktionswert übergeben, der für den konfigurierten Entprellalgorithmus nicht unterstützt wird [SWS_DM_00543].

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11.

Mitgliederkarte

Konstruktoren und Destruktor

1

Operatoren

1

Klassendiagramm

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

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Monitor function 6

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

Überladungen 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

Methoden

Offer function

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 function

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

void StopOffer () noexcept;

Operatoren

operator= function 2

Monitor shall be a single not assignable instance.

Überladungen = 2
Monitor & operator= (Monitor &)=delete; SWS_DM_01683
Monitor & operator= (Monitor &&)=delete; SWS_DM_01684

Dokumentation der Methoden

function 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#b150023b
Content hash
b150023b
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

function 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#aa05357e
Content hash
aa05357e
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

function 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#1ba6e97a
Content hash
1ba6e97a
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

function 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#885cac44
Content hash
885cac44
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

function 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#e3f6b2e1
Content hash
e3f6b2e1
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

function 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#2b82c40a
Content hash
2b82c40a
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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2e8d03769af8 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Mit dem Aufruf der Methode Offer signalisiert eine Adaptive Application gegenüber dem Diagnostic Management (DM), dass sie zur Entgegennahme und Verarbeitung von initMonitor-Callouts bereit ist [SWS_DM_01088]. Die Methode der Klasse ara::diag::Monitor besitzt keine Parameter und liefert ara::core::Result<void> zurück [SWS_DM_01088]. Obwohl der Name in Anlehnung an ara::com gewählt wurde, handelt es sich um eine spezifische Implementierung der Diagnosekomponente und darf nicht mit Kommunikationsdiensten verwechselt werden AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

Im Fehlerfall gibt die Methode den Fehlercode DiagOfferErrc::kAlreadyOffered zurück, falls der Dienst bereits zuvor angeboten wurde [SWS_DM_01088]. Dies entspricht dem Enumerator zur Meldung bereits aktiver Angebote innerhalb der Diagnose-Fehlerdomänen [SWS_DM_00514]. Bei erfolgreichem Aufruf enthält das Rückgabeobjekt keinen Fehler.

Bezüglich der Nebenläufigkeit ist die Methode als not thread-safe spezifiziert, wodurch parallele Aufrufe auf derselben Instanz anwendungsseitig synchronisiert werden müssen [SWS_DM_01088]. Zudem ist die Funktion als ausnahmesicher (exception safe) und mit noexcept deklariert [SWS_DM_01088].

Im Zusammenspiel dient die Schnittstelle als bereitgestellter Port für Benachrichtigungen des DM, während die Anwendung Diagnosezustände an das DM meldet AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“. Das Anbieten via Offer ermöglicht dem DM das Auslösen der Notifier initMonitor für Monitore mit interner, zählerbasierter oder zeitbasierter Entprellung AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“. Das Beenden der Dienstbereitschaft erfolgt über die Methode StopOffer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

Dieser Nutzungshinweis wurde automatisiert erstellt. Sämtliche Aussagen sind durch die Spezifikation AUTOSAR Adaptive Platform belegt.

Implementer's Guide folgt (Komplexität 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#14a77d03
Content hash
14a77d03
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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8334da733b55 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode ReportMonitorAction der Klasse ara::diag::Monitor meldet Status- und Überwachungsinformationen einer Diagnoseprüfung an das Fehlermonitoring des Diagnostic Management Daemons [SWS_DM_00543]. Über den Parameter action vom Typ MonitorAction übergibt die Anwendung entweder ein qualifiziertes bzw. unqualifiziertes Testergebnis oder Steuerbefehle zur Steuerung der Entprellung sowie zur Auslösung einer Vorspeicherung (Prestorage) [SWS_DM_00543]. Die Funktion liefert keinen Rückgabewert (void) und ist als noexcept sowie ausnahmesicher deklariert [SWS_DM_00543].

Wird ReportMonitorAction mit einem Wert für action aufgerufen, der von dem konfigurierten Entprellverfahren des Diagnose-Events nicht unterstützt wird, löst der Diagnostic Manager eine Prozessverletzung aus [SWS_DM_01988]. Zudem definiert das System interne Fehlercodes im Typ DiagErrc, beispielsweise kReportIgnored für Situationen, in denen Freigabebedingungen nicht erfüllt sind [SWS_DM_00514].

Für die Integration und Nebenläufigkeit gelten folgende Randbedingungen:

  • Thread-Sicherheit: Die Funktion ist nicht threadsicher (not thread-safe) [SWS_DM_00543]. Parallele Aufrufe auf derselben Monitor-Instanz müssen aufruferseitig synchronisiert werden (im Unterschied zu MultipleMonitor, wo die Threadsicherheit über den Konstruktor konfigurierbar ist [SWS_DM_01698]).
  • Freigabebedingungen: Ist eine dem Diagnose-Event zugeordnete Enable Condition nicht erfüllt, wird der Aufruf von ReportMonitorAction ignoriert SWS Diagnostics §7.3.4.1.4 „EnableConditions“.
  • Entprellung: Gemeldete Aktionen wie kPrefailed verändern den internen Entprellzähler gemäß konfigurierter Schrittweite [SWS_DM_00875], bis bei Erreichen des Schwellenwerts der Fehler als kFinallyDefective eingestuft wird [SWS_DM_00024].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR AP R25-11 erstellt.

Implementer's Guide folgt (Komplexität 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#060fb875
Content hash
060fb875
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

function StopOffer [SWS_DM_01089] Upstream: RS_Diag_04169

void StopOffer () noexcept;

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e17ef3becf1d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode ara::diag::Monitor::StopOffer deaktiviert die Weiterleitung von Anfragen und Nachrichten aus dem Diagnostic Management (DM) an die betreffende Monitor-Instanz ([SWS_DM_01089]). Der Aufruf wird synchron ausgeführt, erfordert keine Übergabeparameter und besitzt keinen Rückgabewert ([SWS_DM_01089]). Die Operation dient als Gegenstück zu Offer und gestattet einer Adaptive Application, die aktive Überwachung auszusetzen, sofern der zugehörige Systemteil zeitweise nicht überwacht werden muss (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“). Zwar orientiert sich der Bezeichner an den Schnittstellen aus ara::com, die Spezifikation betont jedoch ausdrücklich, dass es sich um eine eigenständige Implementierung von ara::diag::Monitor handelt (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“).

Hinsichtlich der Fehlerbehandlung ist die Funktion als noexcept deklariert und gilt als ausnahmesicher (exception safe); spezifische Fehlercodes oder Fehlermeldungen existieren nicht ([SWS_DM_01089]). Als wesentliche Einschränkung ist StopOffer als nicht threadsicher (not thread-safe) klassifiziert ([SWS_DM_01089]). Interpretation: Bei nebenläufigen Zugriffen auf dasselbe Monitor-Objekt dürfte der Aufrufer selbst für eine geeignete Synchronisation zuständig sein. Frage Q-3ead3049b4378083 (offen)

Im Gesamtsystem fügt sich StopOffer in ein einheitliches Muster des Diagnosemoduls ein: Analoge Schnittstellen zum Deaktivieren der DM-Nachrichtenweiterleitung finden sich unter anderem bei GenericRoutine ([SWS_DM_00558]), CommunicationControl ([SWS_DM_00810]), EcuResetRequest ([SWS_DM_01017]) sowie Authentication ([SWS_DM_01131]).

Dieser Nutzungshinweis wurde automatisiert generiert und basiert auf den Spezifikationen von AUTOSAR Adaptive R25-11.

Implementer's Guide folgt (Komplexität 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#25a3dd98
Content hash
25a3dd98
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

function 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#e8fea5aa
Content hash
e8fea5aa
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

function 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#ea640fb1
Content hash
ea640fb1
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