DEENESPTFRRUARHIKOZHNL

class ara::diag::GenericRoutine

[SWS_DM_00605] Upstream: RS_Diag_04169, RS_Diag_04224

class GenericRoutine {...};

Generic Routine interface.

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

User GuideKI-GENERIERT

Ermöglicht Anwendungen die generische Bearbeitung von UDS-RoutineControl-Diensten mit asynchroner Datenübergabe.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ed3ab770d945 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht Anwendungen die generische Bearbeitung von UDS-RoutineControl-Diensten mit asynchroner Datenübergabe.

Die Klasse stellt einen generischen Handler für UDS-RoutineControl-Dienste bereit und leitet Anfragen für unterschiedliche Routine-Kennungen an adaptive Anwendungen weiter [SWS_DM_00552]. Entwickler implementieren die geforderten Routine-Aktionen über asynchrone Methoden wie Start und aktivieren die Nachrichtenweiterleitung durch Offer [SWS_DM_00557]. Da Instanzen weder kopierbar noch verschiebbar sind, müssen Lebenszyklus und Nebenläufigkeit exakt über den Konstruktor und die Schnittstellen-Konfiguration gesteuert werden. Laufende Operationen unterstützen kooperative Abbrüche sowie standardisierte UDS-Fehlercodes.

Kontext

Die Klasse ara::diag::GenericRoutine stellt die generische Schnittstelle für die Verarbeitung von Diagnose-Routinen gemäß ISO 14229-1 (UDS RoutineControl, Service 0x31) in der AUTOSAR Adaptive Platform bereit. Sie fungiert als Bindeglied zwischen dem zentralen Diagnostic Management (DM) und der adaptiven Anwendung. Eine Instanz dieser Klasse wird an einen modellierten Port-Prototyp des Typs DiagnosticRoutineGenericInterface gebunden, welcher über ein DiagnosticServiceGenericMapping im Modell referenziert sein muss [SWS_DM_00552]. Im Unterschied zu typspezifischen Routinen-Schnittstellen übergibt GenericRoutine die Rohdaten der Diagnoseanfrage als ara::core::Span<const std::uint8_t> zusammen mit der konkreten Routinen-Kennung (routineId) an die Anwendung [SWS_DM_00554], [SWS_DM_00555], [SWS_DM_00556]. Dadurch kann ein einziger Handler mehrere Routinen flexibel bedienen.

Lebenszyklus

Instanzen von GenericRoutine sind an ihren spezifischen Port gebunden und dürfen weder kopiert noch verschoben werden; Kopier- und Verschiebekonstruktor sowie Zuweisungsoperatoren sind explizit gelöscht [SWS_DM_01637], [SWS_DM_01638], [SWS_DM_01635], [SWS_DM_01636]. Die Initialisierung erfolgt über den Konstruktor unter Angabe des ara::core::InstanceSpecifier sowie des Nebenläufigkeitsverhaltens (ConcurrencyType: kConcurrent oder kNotConcurrent) [SWS_DM_00552]. Dieser Parameter legt fest, ob die virtuellen Ausführungsmethoden thread-sicher implementiert sein müssen.

Nach der Erzeugung leitet das DM zunächst keine Nachrichten an den Handler weiter. Erst durch den Aufruf von Offer() wird die Weiterleitung aktiviert [SWS_DM_00557]. Über StopOffer() kann die Weiterleitung wieder deaktiviert werden [SWS_DM_00558], bevor die Instanz durch den virtuellen Destruktor ~GenericRoutine() freigegeben wird [SWS_DM_00553]. Während der Konstruktor threadsicher ist, sind Offer(), StopOffer() und der Destruktor nicht threadsicher und erfordern externe Synchronisation [SWS_DM_00552], [SWS_DM_00557], [SWS_DM_00558], [SWS_DM_00553].

generic_routine_lifecycle start instantiated Instanziiert (Nicht angeboten) start->instantiated GenericRoutine(...) offered Angeboten (Weiterleitung aktiv) instantiated->offered Offer() end instantiated->end ~GenericRoutine() offered->instantiated StopOffer() offered->offered Start() / Stop() / RequestResults() offered->end ~GenericRoutine()

Zustandsdiagramm: Lebenszyklus und Zustandsübergänge einer GenericRoutine-Instanz. Quellen: [SWS_DM_00552], [SWS_DM_00557], [SWS_DM_00558], [SWS_DM_00553]

Nutzungspfad

Zur Bereitstellung einer generischen Routine leitet eine Anwendung von GenericRoutine ab und überschreibt die benötigten virtuellen Methoden. Die Methode Start (UDS-Subfunktion 0x01) ist rein virtuell (pure virtual) und muss zwingend implementiert werden [SWS_DM_00554]. Die Methoden Stop (Subfunktion 0x02) [SWS_DM_00555] und RequestResults (Subfunktion 0x03) [SWS_DM_00556] sind virtuelle Methoden; Interpretation: Da sie nicht rein virtuell sind, dürften sie nur dann überschrieben werden müssen, wenn die jeweilige Routine das Stoppen oder die separate Ergebnisabfrage fachlich unterstützt. Frage (offen)

Der reguläre Ablauf umfasst folgende Phasen:

  • Instanziierung: Erzeugen des abgeleiteten Handlers mit Port-Referenz und Nebenläufigkeitsmodus [SWS_DM_00552].
  • Aktivierung: Aufruf von Offer() zur Freigabe für das DM [SWS_DM_00557].
  • Ausführung: Bei eingehenden UDS-Anfragen ruft das DM Start, Stop oder RequestResults auf. Die Anwendung erhält routineId, requestData, metaInfo sowie einen CancellationHandler und liefert ein ara::core::Future<OperationOutput> zurück [SWS_DM_00554], [SWS_DM_00555], [SWS_DM_00556]. Die Gültigkeit von requestData ist garantiert, bis das zugehörige Promise erfüllt oder die Operation abgebrochen wird [SWS_DM_00554].
  • Abbruchbehandlung: Die Anwendung kann über cancellationHandler.IsCanceled() den Abbruchstatus prüfen oder via cancellationHandler.SetNotifier() einen Callback registrieren [SWS_DM_00554]. Interpretation: Im Falle eines Abbruchs dürfte die Anwendung laufende Hintergrundaktivitäten vorzeitig beenden und das Promise zeitnah auflösen. Frage (offen)
  • Deaktivierung: Beenden der Weiterleitung via StopOffer() [SWS_DM_00558] vor der Zerstörung des Objekts.
Typischer Ablauf der generischen Routine-VerarbeitungDiagnostic Manager (DM)GenericRoutine-HandlerAnwendungs-WorkerOffer()Result<void> (Erfolg)Use Case: Diagnoseanfrage RoutineControl (Start 0x01)Start(routineId, requestData, metaInfo, cancellationHandler)Asynchrone Ausführung anstoßenFuture<OperationOutput>altErfolgreicher AbschlussPromise erfüllen (OperationOutput)FehlerfallPromise mit UDS NRC erfüllen (DiagUdsNrcErrc)Use Case: Dienst deregistrierenStopOffer()

Sequenzdiagramm: Typischer Ablauf der Registrierung, Routine-Ausführung und Deregistrierung. Quellen: [SWS_DM_00557], [SWS_DM_00554], [SWS_DM_00558]

Fehlerszenarien

Fehler können sowohl bei der Konfiguration als auch während der Laufzeit und Ausführung auftreten:

  • Modell- und Zuordnungsverletzungen: Schlägt die Auflösung des InstanceSpecifier im Modell fehl, wird er nicht als PortPrototype identifiziert oder existiert kein passendes DiagnosticServiceGenericMapping, meldet das Framework Violations wie InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, ProcessMappingViolation oder InstanceSpecifierAlreadyInUseViolation [SWS_DM_00552].
  • Bereitstellungsfehler: Wird Offer() aufgerufen, obwohl der Dienst bereits angeboten wird, schlägt der Aufruf fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered zurück [SWS_DM_00557].
  • Diagnostische Fehlercodes (NRC): Kann eine Routine-Operation nicht erfolgreich abgeschlossen werden oder enthält die Anfrage ungültige Parameter, erfüllt die Anwendung das zurückgegebene Future nicht mit OperationOutput, sondern mit einem passenden UDS Negative Response Code (NRC) aus DiagUdsNrcErrc gemäß ISO 14229-1 [SWS_DM_00554], [SWS_DM_00555], [SWS_DM_00556].

Dieser Klassen-Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11 und wurde automatisiert erstellt.

Mitgliederkarte

Konstruktoren und Destruktor

2

Operatoren

1

Eingebettete Typen

1

Klassendiagramm

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

G nara__diag__GenericRoutine818 GenericRoutine + GenericRoutine() + operator=() + ~GenericRoutine() + Offer() + RequestResults() + Start() + Stop() + StopOffer()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

GenericRoutine function 3

Class for an GenericRoutine.

Überladungen GenericRoutine 3
explicit GenericRoutine (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00552
GenericRoutine (GenericRoutine &)=delete; SWS_DM_01637
GenericRoutine (GenericRoutine &&) noexcept=delete; SWS_DM_01638

Destructor of class GenericRoutine .

virtual ~GenericRoutine () noexcept;

Methoden

Offer function

This Offer will enable the DM to forward request messages to this handler.

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

Called for RoutineControl with SubFunction RequestResults (0x03) request for this Diagnostic RoutineIdentifier.

virtual ara::core::Future< OperationOutput > RequestResults (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;
Start function

Called for RoutineControl with SubFunction Start (0x01) request for this DiagnosticRoutine Identifier.

virtual ara::core::Future< OperationOutput > Start (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
Stop function

Called for RoutineControl with SubFunction Stop (0x02) request for this DiagnosticRoutine Identifier.

virtual ara::core::Future< OperationOutput > Stop (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;
StopOffer function

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

void StopOffer () noexcept;

Operatoren

operator= function 2

GenericRoutine shall be a single not assignable instance.

Überladungen = 2

Eingebettete Typen

Dokumentation der Methoden

function GenericRoutine [SWS_DM_00552] Upstream: RS_AP_00137, RS_Diag_04169, RS_Diag_04224, RS_AP_00170, RS_ AP_00171, RS_AP_00172, RS_AP_00173

explicit GenericRoutine (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Class for an GenericRoutine.

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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 typed by a pingViolation DiagnosticRoutineGenericInterface needs to be referenced by a DiagnosticServiceGenericMapping. 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.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticRoutineGenericInterface.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).

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

Record
AUTOSAR/AP/record/SWS_DM_00552
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00552@rel:R25-11#3b80ef8b
Content hash
3b80ef8b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00552
Status: valid/unmigrated Version: rel:R25-11#c9b9a91d 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_00552@rel:R25-11#c9b9a91d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3b80ef8b2026-09-30
  • R19-11rel:R19-11#51e933df2026-10-14
  • R20-11rel:R20-11#0d85dbb92026-10-14
  • R21-11rel:R21-11#92d6b5382026-10-14
  • R22-11rel:R22-11#8bf360da2026-10-14
  • R23-11rel:R23-11#a1b6139f2026-10-14
  • R24-11rel:R24-11#96d2033b2026-10-14
  • R25-11rel:R25-11#c9b9a91d2026-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 GenericRoutine [SWS_DM_01637] Upstream: RS_AP_00147

GenericRoutine (GenericRoutine &)=delete;

GenericRoutine shall be a single not copy-able instance.

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine

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

Record
AUTOSAR/AP/record/SWS_DM_01637
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01637@rel:R25-11#14cfa5d2
Content hash
14cfa5d2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01637
Status: valid/unmigrated Version: rel:R25-11#9a0cb8e2 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_01637@rel:R25-11#9a0cb8e2
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#14cfa5d22026-09-30
  • R23-11rel:R23-11#51890adb2026-10-14
  • R24-11rel:R24-11#3254577b2026-10-14
  • R25-11rel:R25-11#9a0cb8e22026-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 GenericRoutine [SWS_DM_01638] Upstream: RS_AP_00147

GenericRoutine (GenericRoutine &&) noexcept=delete;

Move constructor of GenericRoutine.

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine

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

Record
AUTOSAR/AP/record/SWS_DM_01638
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01638@rel:R25-11#773a8774
Content hash
773a8774
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01638
Status: valid/unmigrated Version: rel:R25-11#51079bf1 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_01638@rel:R25-11#51079bf1
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#773a87742026-09-30
  • R23-11rel:R23-11#39b72a912026-10-14
  • R24-11rel:R24-11#51079bf12026-10-14
  • R25-11rel:R25-11#51079bf12026-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_00557] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04169, RS_Diag_04224

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

This Offer will enable the DM to forward request messages to this handler.

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

Verwendung

Die Funktion Offer der Klasse ara::diag::GenericRoutine versetzt das Diagnostic Management (DM) in die Lage, eingehende Diagnose-Anforderungsnachrichten für eine Routine an den registrierten Handler weiterzuleiten [SWS_DM_00557]. Der Aufruf erfolgt synchron, nimmt keine Parameter entgegen und liefert ein ara::core::Result<void> zurück [SWS_DM_00557]. Da die Methode mit der Spezifikation noexcept deklariert ist, gilt sie als ausnahmesicher (exception safe) [SWS_DM_00557].

Fehlerbehandlung

Schlägt die Bereitstellung fehl, liefert die Methode ein negatives Resultat. Wurde die Routine für die betreffende Instanz bereits zuvor angeboten, gibt die Methode den spezifischen Fehlercode DiagOfferErrc::kAlreadyOffered zurück [SWS_DM_00557]. Für diesen Fehlerfall ist eine Rollback-Semantik definiert, sodass der Zustand unverändert bleibt [SWS_DM_00557]. Der Fehlerbezeichner kAlreadyOffered ist zudem in den internen Fehlerdomänen für Diagnose-Aufrufe verankert [SWS_DM_00514].

Nebenläufigkeit und Einschränkungen

Die Schnittstelle ist ausdrücklich als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_00557]. Greifen mehrere Threads einer Anwendung auf denselben Handler zu, muss der Aufruf synchronisiert werden. Interpretation: Der Aufruf dürfte typischerweise während der Initialisierung erfolgen, da vor der Ausführung von Offer keine Anfragen empfangen werden können. Frage Q-0c42f415bcb0de20 (offen)

Zusammenspiel

Das Anbieten von Funktionalitäten über Offer ist ein zentrales Muster im AUTOSAR-Adaptive-Diagnosecluster; es wird analog auch für typspezifische Routine-Schnittstellen [SWS_DM_00594], generische UDS-Dienste [SWS_DM_00619] sowie Data Identifier [SWS_DM_00638] verwendet. Trotz Namensgleichheit mit ara::com stellt dies eine spezifische Implementierung des Diagnostic Management dar SWS Diagnostics §7.3.4.1.2 „Monitors“.

Dieser Nutzungshinweis wurde von einer KI kuratiert und stützt sich ausschließlich auf die AUTOSAR-Spezifikation R25-11.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine
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_00557
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00557@rel:R25-11#e128836f
Content hash
e128836f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00557
Status: valid/unmigrated Version: rel:R25-11#842b3bff 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_00557@rel:R25-11#842b3bff
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e128836f2026-09-30
  • R19-11rel:R19-11#2759f9062026-10-14
  • R20-11rel:R20-11#d89302952026-10-14
  • R21-11rel:R21-11#0eadb9e12026-10-14
  • R22-11rel:R22-11#eee8d1382026-10-14
  • R23-11rel:R23-11#292d5a312026-10-14
  • R24-11rel:R24-11#f26055882026-10-14
  • R25-11rel:R25-11#842b3bff2026-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 RequestResults [SWS_DM_00556] Upstream: RS_AP_00119, RS_Diag_04169, RS_Diag_04170, RS_Diag_04224

virtual ara::core::Future< OperationOutput > RequestResults (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Called for RoutineControl with SubFunction RequestResults (0x03) request for this Diagnostic RoutineIdentifier.

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

Die Methode RequestResults der Klasse ara::diag::GenericRoutine wird von der Diagnostic-Server-Instanz aufgerufen, um UDS-RoutineControl-Anfragen des Dienstes 0x31 mit der Subfunktion requestRoutineResults (0x03) für den parametrierten Diagnose-Routine-Identifikator generisch zu verarbeiten ([SWS_DM_00575], [SWS_DM_00556]).

Beim Aufruf werden der Routine-Identifikator routineId, die anfragespezifischen Metadaten metaInfo sowie die Eingangsdaten requestData übergeben ([SWS_DM_00556]). Die Gültigkeit des Spans requestData ist strikt darauf beschränkt, bis das korrespondierende Promise erfüllt oder die Ausführung abgebrochen wird ([SWS_DM_00556]). Ein übergebener cancellationHandler erlaubt das Abfragen des Abbruchstatus via IsCanceled sowie die Registrierung einer Benachrichtigungsfunktion via SetNotifier ([SWS_DM_00556]).

Das Ergebnis wird asynchron als ara::core::Future<OperationOutput> zurückgegeben ([SWS_DM_00556]). Interpretation: Die Bereitstellung der Ausgabedaten dürfte typischerweise asynchron über ein applikationsseitiges ara::core::Promise erfolgen. Frage Q-f50c8509d7515e3f (offen) Im Erfolgsfall stellt das Future ein OperationOutput bereit, während im Fehlerfall ein passender UDS-NRC gemäß ISO 14229-1 über DiagUdsNrcErrc übermittelt wird ([SWS_DM_00556]). Die Funktion ist als noexcept deklariert und gilt als ausnahmesicher ([SWS_DM_00556]).

Bezüglich der Nebenläufigkeit ist die Thread-Sicherheit bedingt (conditional): Ob die Methode threadsicher implementiert werden muss, wird verbindlich über den dem Konstruktor übergebenen ConcurrencyType gesteuert ([SWS_DM_00556]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
routineIdthe corresponding RoutineIdentifier
requestDataContent of request message (without RoutineIdentifier), Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<OperationOutput >A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message).

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00556
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00556@rel:R25-11#de1ddb39
Content hash
de1ddb39
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00556
Status: valid/unmigrated Version: rel:R25-11#53fd1ae4 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_00556@rel:R25-11#53fd1ae4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#de1ddb392026-09-30
  • R19-11rel:R19-11#20a566642026-10-14
  • R20-11rel:R20-11#d68da6d72026-10-14
  • R21-11rel:R21-11#b76c6ec72026-10-14
  • R22-11rel:R22-11#5b49da632026-10-14
  • R23-11rel:R23-11#be4d5ce62026-10-14
  • R24-11rel:R24-11#307b0f5f2026-10-14
  • R25-11rel:R25-11#53fd1ae42026-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 Start [SWS_DM_00554] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04224

virtual ara::core::Future< OperationOutput > Start (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for RoutineControl with SubFunction Start (0x01) request for this DiagnosticRoutine Identifier.

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

Die Methode Start der Klasse ara::diag::GenericRoutine wird aufgerufen, sobald eine Diagnoseanforderung für RoutineControl mit der Sub-Funktion Start (0x01) für die spezifizierte routineId eingeht [SWS_DM_00554]. Im Gegensatz zur typisierten Routine-Schnittstelle gemäß [SWS_DM_00591] nimmt diese generische Schnittstelle die Rohdaten der Anfragenachricht als Byte-Spanne entgegen.

Für die Implementierung gelten folgende Anforderungen und Schnittstelleneigenschaften:

  • Aufrufkontext und Parameter: Neben der routineId und den Metadaten (metaInfo) wird der Parameter requestData übergeben. Die Lebensdauer der Anfragedaten bleibt gültig, bis das Promise erfüllt oder die Bearbeitung durch den cancellationHandler abgebrochen wird [SWS_DM_00554].
  • Abbruchbehandlung: Die Routine kann mittels cancellationHandler.IsCanceled() den aktuellen Abbruchstatus abfragen oder über cancellationHandler.SetNotifier() eine Notifier-Funktion registrieren, die beim Abbruch der Konversation aufgerufen wird [SWS_DM_00554].
  • Asynchrone Semantik: Die Verarbeitung erfolgt nicht-blockierend über ara::core::Future<OperationOutput>. Bei erfolgreicher Durchführung stellt OperationOutput die Nutzdaten für die positive Antwort bereit [SWS_DM_00554].
  • Fehlerbehandlung: Schlägt die Ausführung fehl, ist das Future mit einem passenden Negative Response Code (NRC) nach ISO 14229-1 unter Verwendung von DiagUdsNrcErrc abzuschließen [SWS_DM_00554].
  • Nebenläufigkeit: Die Funktion ist ausnahmesicher deklariert (noexcept). Ob die Bereitstellung threadsicher erfolgen muss, entscheidet der dem Konstruktor übergebene ConcurrencyType [SWS_DM_00554].

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
routineIdthe corresponding RoutineIdentifier
requestDataContent of request message (without RoutineIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<OperationOutput >A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message).

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00554
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00554@rel:R25-11#a9ad9212
Content hash
a9ad9212
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00554
Status: valid/unmigrated Version: rel:R25-11#632d4829 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_00554@rel:R25-11#632d4829
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a9ad92122026-09-30
  • R19-11rel:R19-11#f6d47d602026-10-14
  • R20-11rel:R20-11#ba587eba2026-10-14
  • R21-11rel:R21-11#5f3710452026-10-14
  • R22-11rel:R22-11#927f1c032026-10-14
  • R23-11rel:R23-11#362a0cc42026-10-14
  • R24-11rel:R24-11#a07e64292026-10-14
  • R25-11rel:R25-11#632d48292026-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 Stop [SWS_DM_00555] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04224

virtual ara::core::Future< OperationOutput > Stop (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Called for RoutineControl with SubFunction Stop (0x02) request for this DiagnosticRoutine Identifier.

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

Die Methode Stop wird bei einer UDS-RoutineControl-Anfrage mit der Subfunktion Stop (0x02) für die jeweilige generische Diagnoseroutine aufgerufen [SWS_DM_00555]. Gegenüber typisierten Routine-Schnittstellen [SWS_DM_00592] nimmt sie den Routine-Bezeichner routineId sowie die Anfragedaten als Rohdaten-Span requestData entgegen [SWS_DM_00555].

Bei der Verwendung sind folgende Parameter- und Ablaufregeln zu beachten [SWS_DM_00555]:

  • Lebensdauer des Eingangsdaten-Spans: Der Speicherbereich von requestData bleibt gültig, bis das zugehörige Promise erfüllt oder die Ausführung über den cancellationHandler abgebrochen wurde [SWS_DM_00555].
  • Abbruchbehandlung: Die Anwendung kann über cancellationHandler.IsCanceled() prüfen, ob die aktuelle Diagnosekonversation abgebrochen wurde, oder über cancellationHandler.SetNotifier eine Benachrichtigungsfunktion registrieren, die beim Abbruch ausgelöst wird [SWS_DM_00555].
  • Asynchronität und Rückgabe: Die Funktion arbeitet asynchron und liefert ein ara::core::Future<OperationOutput> zurück, das im Erfolgsfall die Ausgabedaten für die positive UDS-Antwort enthält [SWS_DM_00555].

Die Fehlerbehandlung erfolgt über negative Diagnose-Rückgabewerte: Schlägt das Anhalten der Routine fehl, ist das Future mit einem passenden UDS-NRC-Fehlercode gemäß ISO 14229-1 über DiagUdsNrcErrc abzuschließen [SWS_DM_00555].

Hinsichtlich Nebenläufigkeit ist die Methode als noexcept und ausnahmesicher spezifiziert. Ob die konkrete Implementierung threadsicher ausgelegt sein muss, hängt vom ConcurrencyType ab, der bei der Instanziierung im Konstruktor übergeben wurde [SWS_DM_00555].

Dieser Nutzungshinweis basiert ausschließlich auf den Spezifikationen des Adaptive-AUTOSAR-Releases R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
routineIdthe corresponding RoutineIdentifier
requestDataContent of request message (without RoutineIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaData of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<OperationOutput >A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for an negative response message).

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00555
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00555@rel:R25-11#04e6a862
Content hash
04e6a862
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00555
Status: valid/unmigrated Version: rel:R25-11#56c0affc 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_00555@rel:R25-11#56c0affc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#04e6a8622026-09-30
  • R19-11rel:R19-11#23fc2c642026-10-14
  • R20-11rel:R20-11#3e55de712026-10-14
  • R21-11rel:R21-11#b34b7e672026-10-14
  • R22-11rel:R22-11#dbc3abf42026-10-14
  • R23-11rel:R23-11#146ebc662026-10-14
  • R24-11rel:R24-11#702a311c2026-10-14
  • R25-11rel:R25-11#56c0affc2026-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_00558] Upstream: RS_Diag_04169, RS_Diag_04224

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: 73588f5f0b57 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode ara::diag::GenericRoutine::StopOffer deaktiviert die Weiterleitung von eingehenden Diagnoseanforderungen des Diagnostic Management (DM) an die entsprechende Routine-Instanz [SWS_DM_00558]. Die Funktion besitzt die Signatur void StopOffer() noexcept;, nimmt keine Parameter entgegen und liefert keinen Rückgabewert [SWS_DM_00558]. Der Aufruf wird synchron verarbeitet und signalisiert dem DM, dass die Routine ab diesem Zeitpunkt keine Anforderungen mehr entgegennimmt.

Fehlerbehandlung

Die Operation ist als exception safe spezifiziert und mit noexcept deklariert [SWS_DM_00558]. Fehlercodes oder C++-Exceptions treten bei der Ausführung nicht auf. Spezifische Meldungen an Entwicklungs- oder Fehlerspeicherinstanzen (DET/DEM) sind für diese Schnittstelle im Diagnosemodul nicht vorgesehen.

Nebenläufigkeit und Einschränkungen

Hinsichtlich des Threading-Verhaltens ist die Methode als not thread-safe ausgewiesen [SWS_DM_00558]. Nebenläufige Aufrufe auf derselben Instanz von ara::diag::GenericRoutine müssen daher anwendungsseitig synchronisiert werden. Interpretation: Ein Aufruf dürfte vor allem dann stattfinden, wenn eine Routine temporär inaktiviert oder die Anwendung kontrolliert beendet wird, nachdem zuvor ein Bereitstellungsaufruf erfolgt ist. Frage Q-e110ce01110699e3 (offen)

Zusammenspiel

Die Namensgebung folgt konzeptionell dem Service-Offering von ara::com, stellt jedoch eine eigenständige Implementierung innerhalb von ara::diag dar und darf nicht mit Kommunikationsangeboten vermischt werden (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“). Das gleiche Bereitstellungsmuster zur Deaktivierung der Anforderungsweiterleitung nutzen modulweit auch weitere Diagnose-Klassen wie ara::diag::GenericUDSService [SWS_DM_00620], ara::diag::GenericDataIdentifier [SWS_DM_00639], Routine-Interfaces [SWS_DM_00595] sowie ara::diag::Monitor [SWS_DM_01089].

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsunterlagen von AUTOSAR R25-11.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine
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_00558
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00558@rel:R25-11#f2c61aa6
Content hash
f2c61aa6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00558
Status: valid/unmigrated Version: rel:R25-11#39feb507 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_00558@rel:R25-11#39feb507
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f2c61aa62026-09-30
  • R19-11rel:R19-11#33f222af2026-10-14
  • R20-11rel:R20-11#ec8bc9632026-10-14
  • R21-11rel:R21-11#c0037e202026-10-14
  • R22-11rel:R22-11#b08db6972026-10-14
  • R23-11rel:R23-11#3cfad6d22026-10-14
  • R24-11rel:R24-11#ec651f742026-10-14
  • R25-11rel:R25-11#39feb5072026-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_01635] Upstream: RS_AP_00147

GenericRoutine & operator= (GenericRoutine &)=delete;

GenericRoutine shall be a single not assignable instance.

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine

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

Record
AUTOSAR/AP/record/SWS_DM_01635
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01635@rel:R25-11#fea4feed
Content hash
fea4feed
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01635
Status: valid/unmigrated Version: rel:R25-11#3028b007 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_01635@rel:R25-11#3028b007
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#fea4feed2026-09-30
  • R23-11rel:R23-11#98987c072026-10-14
  • R24-11rel:R24-11#3028b0072026-10-14
  • R25-11rel:R25-11#3028b0072026-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_01636] Upstream: RS_AP_00147

GenericRoutine & operator= (GenericRoutine &&)=delete;

Move assignment operator of GenericRoutine.

Header-Datei#include "ara/diag/generic_routine.h"
Scopeclass ara::diag::GenericRoutine

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

Record
AUTOSAR/AP/record/SWS_DM_01636
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01636@rel:R25-11#24fc6364
Content hash
24fc6364
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01636
Status: valid/unmigrated Version: rel:R25-11#881d1dd4 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_01636@rel:R25-11#881d1dd4
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#24fc63642026-09-30
  • R23-11rel:R23-11#98cccf9a2026-10-14
  • R24-11rel:R24-11#881d1dd42026-10-14
  • R25-11rel:R25-11#881d1dd42026-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 ~GenericRoutine [SWS_DM_00553] Upstream: RS_AP_00134, RS_Diag_04169, RS_Diag_04224

virtual ~GenericRoutine () noexcept;

Destructor of class GenericRoutine .

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

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

Record
AUTOSAR/AP/record/SWS_DM_00553
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00553@rel:R25-11#c9913752
Content hash
c9913752
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00553
Status: valid/unmigrated Version: rel:R25-11#a6efdb40 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_00553@rel:R25-11#a6efdb40
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c99137522026-09-30
  • R19-11rel:R19-11#b7ba28462026-10-14
  • R20-11rel:R20-11#dbe0f1bb2026-10-14
  • R21-11rel:R21-11#dbe0f1bb2026-10-14
  • R22-11rel:R22-11#510ac3412026-10-14
  • R23-11rel:R23-11#50b0d8172026-10-14
  • R24-11rel:R24-11#a6efdb402026-10-14
  • R25-11rel:R25-11#a6efdb402026-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