DEENESPTFRRUARHIKOZHNL

class <DataIdentifier-Namespace>::<DataIdentifierInterface>

[SWS_DM_00601] Upstream: RS_Diag_04169

class <DataIdentifierInterface> {...};

DiagnosticDataIdentifierInterface class

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Forwarding-Header#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>/<DataIdentifierShortname>_ fwd.h"
Scopenamespace <DataIdentifier-Namespace>

User GuideKI-GENERIERT

Ermöglicht der Anwendung das Beantworten von Diagnose-Lese- und Schreibanfragen für spezifische Datenbezeichner.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7fb3639fc276 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht der Anwendung das Beantworten von Diagnose-Lese- und Schreibanfragen für spezifische Datenbezeichner.

Die Schnittstelle <DataIdentifier-Namespace>::<DataIdentifierInterface> ermöglicht adaptiven Anwendungen die Bereitstellung modellspezifischer Diagnose-Datenbezeichner gegenüber dem Diagnostic Management [SWS_DM_00585]. Nach der Erzeugung schaltet Offer() die Weiterleitung von Anfragen frei, die über Read() oder Write() asynchron bearbeitet und bei Bedarf mit UDS-Fehlercodes beantwortet werden [SWS_DM_00599] [SWS_DM_00640]. Da die Instanz weder kopier- noch verschiebbar ist, wird der Dienst vor der Zerstörung explizit über StopOffer() beendet [SWS_DM_01665] [SWS_DM_00600].

Kontext

Die C++-Klasse <DataIdentifier-Namespace>::<DataIdentifierInterface> fungiert als funktionale Schnittstelle für Diagnose-Datenbezeichner (Data Identifiers, DIDs) im Modul diag der Adaptive Platform SWS Diagnostics S. 68. Sie verbindet die adaptive Anwendungsschicht mit dem zentralen Diagnostic Management (DM). Das Diagnostic Management empfängt externe Diagnoseanfragen und leitet diese an die registrierte Instanz weiter [SWS_DM_00599]. Die Anwendungssoftware stellt über abgeleitete Klassen die konkrete Implementierung bereit, um Dateninhalte über Lese- oder Schreiboperationen abzufragen oder zu aktualisieren [SWS_DM_00640] [SWS_DM_00598].

Lebenszyklus

Die Erzeugung erfolgt über den parametrisierten Konstruktor unter Übergabe eines ara::core::InstanceSpecifier und des Nebenläufigkeitsmodus ara::diag::ConcurrencyType [SWS_DM_00585]. Letzterer legt fest, ob Aufrufe an die Instanz nebenläufig (kConcurrent) oder nicht nebenläufig (kNotConcurrent) verarbeitet werden dürfen [SWS_DM_00585]. Da eine Instanz fest an ihre Modellkonfiguration gebunden ist, sind sowohl Kopier- als auch Verschiebekonstruktor explizit gelöscht [SWS_DM_01665] [SWS_DM_01666]; gleiches gilt für die Kopier- und Verschiebezuweisungsoperatoren [SWS_DM_01663] [SWS_DM_01664].

Nach der Instanziierung befindet sich die Schnittstelle im inaktiven Zustand. Erst durch den Aufruf von Offer() wird die Weiterleitung von Diagnoseanfragen durch das Diagnostic Management scharfgeschaltet [SWS_DM_00599]. Die Methode StopOffer() beendet diese Weiterleitung wieder [SWS_DM_00600]. Die Freigabe der Ressourcen erfolgt über den virtuellen Destruktor [SWS_DM_00586]. Interpretation: Vor der Zerstörung des Objekts dürfte typischerweise StopOffer() aufgerufen werden, um offene oder neu eingehende Weiterleitungen des DM geordnet zu verhindern. Frage Q-3710c559625978c9 (offen)

Nutzungspfad

Der reguläre Ablauf umfasst die Instanziierung, die Dienstanmeldung, die asynchrone Bearbeitung von Anfragen und die anschließende Deaktivierung:

  1. Instanziierung: Die Anwendung erzeugt eine Instanz der Schnittstelle unter Angabe des InstanceSpecifier und der gewünschten ConcurrencyType-Einstellung [SWS_DM_00585].
  2. Dienstfreigabe: Die Anwendung ruft Offer() auf, wodurch das Diagnostic Management Anfragen an diesen Handler zustellen kann [SWS_DM_00599].
  3. Anfragebearbeitung: Bei Lesezugriffen ruft das DM die rein virtuelle Methode Read() auf [SWS_DM_00640], bei Schreibzugriffen Write() [SWS_DM_00598]. Über den übergebenen cancellationHandler kann die Applikation Abbruchereignisse überwachen. Die Ergebnisse werden asynchron als ara::core::Future bereitgestellt, das bei Read() ein ReadOutput-Objekt mit den Ausgabedaten enthält [SWS_DM_00579] [SWS_DM_00640] [SWS_DM_80013].
  4. Dienstbeendigung: Durch Aufruf von StopOffer() wird die Weiterleitung gestoppt [SWS_DM_00600], bevor das Objekt zerstört wird [SWS_DM_00586].
Ablauf der Bereitstellung und Bearbeitung von Data-Identifier-AnfragenAnwendungDataIdentifierInterfaceDiagnostic ManagementKonstruktor(instanceSpec, concurrencyType)Offer()Weiterleitung aktivierenResult<void> (Erfolg)Use Case: Diagnoseanfrage durch DMRead(metaInfo, cancellationHandler)Future<ReadOutput>Use Case: Dienst einstellen und AbbauStopOffer()Weiterleitung deaktivieren~<DataIdentifierInterface>()

Sequenzdiagramm: Typischer Ablauf der DID-Bereitstellung von der Initialisierung über die asynchrone Anfragebeantwortung bis zur Deaktivierung. Quellen: [SWS_DM_00585], [SWS_DM_00599], [SWS_DM_00640], [SWS_DM_00600], [SWS_DM_00586].

Fehlerszenarien

Bereits bei der Objekterzeugung können Modellierungsfehler zu Verletzungen führen: Fehlen Port- oder Prozessverknüpfungen, treten InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation oder ProcessMappingViolation auf [SWS_DM_00585]. Wird derselbe InstanceSpecifier im selben Prozess wiederverwendet, meldet das Framework InstanceSpecifierAlreadyInUseViolation [SWS_DM_00585].

Wird Offer() aufgerufen, obwohl der Dienst bereits angeboten wird, schlägt der Aufruf fehl und liefert über das ara::core::Result den Fehlercode DiagOfferErrc::kAlreadyOffered zurück [SWS_DM_00599]. Schlägt die Ausführung von Read() oder Write() fehl, übermittelt die Implementierung Fehler asynchron im Future mittels ISO 14229-1 UDS-Fehlercodes (DiagUdsNrcErrc) oder anwendungsspezifischer ApApplicationError [SWS_DM_00640] [SWS_DM_00598]. Hinsichtlich der Ausnahmesicherheit sind Konstruktor und Bearbeitungsmethoden als exception safe spezifiziert [SWS_DM_00585] [SWS_DM_00599] [SWS_DM_00640] [SWS_DM_00598], während der Destruktor nicht als exception safe ausgewiesen ist [SWS_DM_00586].

Dieser Leitfaden stützt sich auf die AUTOSAR-Spezifikation für die Adaptive Platform (Release R25-11).

Mitgliederkarte

Klassendiagramm

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

G n_DataIdentifier_Namespace____DataIdentifierInterface_960 <DataIdentifierInterface> + <DataIdentifierOutArg> + Offer() + Read() + StopOffer() + Write() + operator=() + <DataIdentifierInterface>() + ~<DataIdentifierInterface>()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Construct a DataIdentifier from an ara::core::InstanceSpecifier

Überladungen <DataIdentifierInterface> 3
<DataIdentifierInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_00585
<DataIdentifierInterface2> (const <DataIdentifierInterface2> &other)=delete; SWS_DM_01665
<DataIdentifierInterface4> ( <DataIdentifierInterface4> &&other)=delete; SWS_DM_01666
Offer function

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

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

Provision of a reading DataIdentifier (DiagnosticDataIdentifierInterface in the role read).

virtual ara::core::Future< <DataIdentifier>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;
StopOffer function

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;
Write function

Provision of a writing DataIdentifier (DiagnosticDataIdentifierInterface in the role write).

virtual ara::core::Future< void > Write ( {<data-identifier-in-arg-derived-type-0toN>} {<data-identifier-in-arg-symbol-0toN>}, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Destruction of a DataIdentifier

virtual ~<DataIdentifierInterface6> ();

Operatoren

operator= function 2

Copy assignment constructor deletion

Überladungen = 2
<DataIdentifierInterface3> & operator= (const <DataIdentifierInterface3> &other)=delete; SWS_DM_01663
<DataIdentifierInterface5> & operator= ( <DataIdentifierInterface5> &&other)=delete; SWS_DM_01664

Konstanten

Member declaration representing an out argument in an Output.

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Eingebettete Typen

Dokumentation der Methoden

function <DataIdentifierInterface> [SWS_DM_00585] Upstream: RS_AP_00137, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

<DataIdentifierInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept;

Construct a DataIdentifier from an ara::core::InstanceSpecifier

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

Verwendung

Die Konstruktorfunktion <DataIdentifierInterface> dient der Instanziierung eines Datenidentifikators aus einem ara::core::InstanceSpecifier [SWS_DM_00585]. Die Deklaration erfolgt innerhalb des Namensraums <DataIdentifier-Namespace> über die Header-Datei #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" [SWS_DM_00585]. Der synchrone Aufruf ist als noexcept spezifiziert und besitzt die Eigenschaften „exception safe“ sowie „thread-safe“ [SWS_DM_00585].

Die Funktion nimmt folgende Übergabeparameter entgegen [SWS_DM_00585]:

  • instanceSpec (ara::core::InstanceSpecifier): Bezeichner der konkreten Instanz eines Dienstes [SWS_DM_00585].
  • concurrencyType (ara::diag::ConcurrencyType): Legt fest, ob die Schnittstelle threadsicher mit kConcurrent oder nicht-threadsicher mit kNotConcurrent betrieben wird [SWS_DM_00585].

Fehlerbehandlung und Modellierungsregeln

Die Funktion liefert keinen Rückgabewert und wirft keine Ausnahmen. Fehler in der Konfiguration oder Modellierung führen stattdessen zu definierten Violations [SWS_DM_00585]:

  • InstanceSpecifierMappingIntegrityViolation: Der instanceSpec kann im Kontext des Executables nicht aufgelöst werden oder verweist nicht auf einen PortPrototype [SWS_DM_00585].
  • PortInterfaceMappingViolation: Ein durch DiagnosticDataIdentifierInterface typisierter PortPrototype wird nicht durch ein DiagnosticDataPortMapping referenziert [SWS_DM_00585].
  • ProcessMappingViolation: Zum Instanzverweis existiert kein passender modellierter Prozess für den aktuellen Laufzeitprozess [SWS_DM_00585].
  • InstanceSpecifierAlreadyInUseViolation: Der Konstruktor wurde mit einem instanceSpec aufgerufen, der im aktuellen Prozess bereits in Verwendung ist [SWS_DM_00585].

Interpretation: Da die Funktion als noexcept deklariert ist, dürften festgestellte Violations framework-intern als kritische Initialisierungsfehler behandelt werden. Frage Q-8616025446bf33f2 (offen)

Nebenläufigkeit

Die Konstruktorfunktion selbst ist threadsicher ausgeführt [SWS_DM_00585]. Über das Argument concurrencyType wird gesteuert, ob nachgelagerte Schnittstellenaufrufe der Instanz nebenläufig erfolgen dürfen [SWS_DM_00585].

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
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 DiagnosticDataIdentifierInterface needs to be referenced by a DiagnosticDataPortMapping. 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
instanceSpecThe specifier of a specific instance of a service.
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_00585
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00585@rel:R25-11#424df92c
Content hash
424df92c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00585
Status: valid/unmigrated Version: rel:R25-11#4e8f5fe5 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_00585@rel:R25-11#4e8f5fe5
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#424df92c2026-09-30
  • R19-11rel:R19-11#420e87cb2026-10-14
  • R20-11rel:R20-11#6d8ab4df2026-10-14
  • R21-11rel:R21-11#c7e8234c2026-10-14
  • R22-11rel:R22-11#5168b3b22026-10-14
  • R23-11rel:R23-11#c7617fcf2026-10-14
  • R24-11rel:R24-11#9629e2942026-10-14
  • R25-11rel:R25-11#4e8f5fe52026-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 <DataIdentifierInterface> [SWS_DM_01665] Upstream: RS_AP_00147

<DataIdentifierInterface2> (const <DataIdentifierInterface2> &other)=delete;

Copy constructor deletion

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01665
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01665@rel:R25-11#ae00ab68
Content hash
ae00ab68
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01665
Status: valid/unmigrated Version: rel:R25-11#d2f9729a 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_01665@rel:R25-11#d2f9729a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ae00ab682026-09-30
  • R23-11rel:R23-11#c667bc4b2026-10-14
  • R24-11rel:R24-11#fa08505b2026-10-14
  • R25-11rel:R25-11#d2f9729a2026-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 <DataIdentifierInterface> [SWS_DM_01666] Upstream: RS_AP_00147

<DataIdentifierInterface4> ( <DataIdentifierInterface4> &&other)=delete;

Move constructor

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01666
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01666@rel:R25-11#37eed7f8
Content hash
37eed7f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01666
Status: valid/unmigrated Version: rel:R25-11#3ab93d5e 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_01666@rel:R25-11#3ab93d5e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#37eed7f82026-09-30
  • R23-11rel:R23-11#eaf209332026-10-14
  • R24-11rel:R24-11#8925cf032026-10-14
  • R25-11rel:R25-11#3ab93d5e2026-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_00599] Upstream: RS_AP_00119, RS_AP_00139, 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: ebb465f1e58b Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die synchrone Methode Offer() ermöglicht es dem Diagnostic Management (DM), eingehende Diagnoseanfragen an die jeweilige Instanz von <DataIdentifierInterface> weiterzuleiten ([SWS_DM_00599]). Die Funktion nimmt keine Übergabeparameter entgegen und ist als noexcept spezifiziert ([SWS_DM_00599]). Interpretation: Der Aufruf dürfte typischerweise während der Initialisierungsphase der Anwendung erfolgen, da der DM vor der Bereitstellung keine Anfragen zustellen kann. Frage Q-4ba81ff234a09f46 (offen)

Fehlerbehandlung und Rückgabewerte

Als Rückgabewert dient ara::core::Result<void> ([SWS_DM_00599]). War die Registrierung erfolgreich, enthält das Resultat keinen Wert. Ist der Handler bereits zuvor bereitgestellt worden, schlägt der Aufruf fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik ([SWS_DM_00599]; vgl. [SWS_DM_00514]).

Nebenläufigkeit und Einschränkungen

Die Funktion gewährleistet Ausnahmesicherheit (exception safe), ist jedoch ausdrücklich als nicht threadsicher (not thread-safe) spezifiziert ([SWS_DM_00599]). Parallele Aufrufe auf derselben Instanz müssen durch die Applikation synchronisiert werden.

Zusammenspiel

Das Bereitstellungsmuster entspricht dem einheitlichen Aktivierungsansatz im DM: Analoge Offer()-Methoden existieren für generische Identifier ([SWS_DM_00638]), Datenelemente ([SWS_DM_00597]), Routinen ([SWS_DM_00557], [SWS_DM_00594]) und DoIP-Dienste ([SWS_DM_00725], [SWS_DM_00735]). Solange Offer() nicht ausgeführt wurde, leitet der DM keine Anforderungen an den Handler weiter und antwortet bei DoIP-Diensten mit Standardwerten ([SWS_DM_01525], [SWS_DM_01527]).

Dieser Nutzungshinweis wurde automatisiert anhand der Spezifikation AUTOSAR Adaptive Release R25-11 generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: diag::DiagOfferErrc

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_00599
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00599@rel:R25-11#8a80b11d
Content hash
8a80b11d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00599
Status: valid/unmigrated Version: rel:R25-11#b1695320 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_00599@rel:R25-11#b1695320
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8a80b11d2026-09-30
  • R19-11rel:R19-11#ca894da82026-10-14
  • R20-11rel:R20-11#cb4154752026-10-14
  • R21-11rel:R21-11#1465258e2026-10-14
  • R22-11rel:R22-11#cb17bfe82026-10-14
  • R23-11rel:R23-11#209914022026-10-14
  • R24-11rel:R24-11#713a92052026-10-14
  • R25-11rel:R25-11#b16953202026-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 Read [SWS_DM_00640] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< <DataIdentifier>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a reading DataIdentifier (DiagnosticDataIdentifierInterface in the role read).

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

Verwendung

Die Methode Read dient der Bereitstellung von Daten eines Diagnose-Datenbezeichners (DataIdentifier) in der Lese-Rolle eines DiagnosticDataIdentifierInterface [SWS_DM_00640]. Der Aufruf erfolgt asynchron durch den Diagnostic Manager (DM) bei externen Diagnoseanfragen AUTOSAR_AP_SWS_Diagnostics S. 143 §7.3.2.6.1 „NRCs created by application“. Als Parameter werden metaInfo zur Auswertung der Anfrageeigenschaften sowie ein cancellationHandler übergeben [SWS_DM_00640]. Die verarbeitende Anwendung kann über cancellationHandler.IsCanceled() den Abbruchstatus abfragen oder mittels cancellationHandler.SetNotifier() einen Callback für den Fall registrieren, dass die Sitzung vorzeitig abgebrochen wird [SWS_DM_00640]. Das Ergebnis wird asynchron als ara::core::Future mit einem ReadOutput-Objekt zurückgeliefert [SWS_DM_00640], [SWS_DM_00579].

Fehlerbehandlung

Die Funktion ist als exception safe spezifiziert und darf keine Ausnahmen nach außen propagieren [SWS_DM_00640]. Tritt bei der Datenbeschaffung ein Fehler auf, liefert die Anwendung im ara::core::Future einen negativen Rückgabewert in Form eines passenden UDS-Fehlercodes (NRC nach ISO 14229-1 via DiagUdsNrcErrc) oder eines ApApplicationError zurück [SWS_DM_00640], AUTOSAR_AP_SWS_Diagnostics S. 143 §7.3.2.6.1 „NRCs created by application“.

Nebenläufigkeit und Zusammenspiel

Die Schnittstellenfunktion ist standardmäßig not thread-safe [SWS_DM_00640]. Eine nebenläufige Ausführung von Lese- und Schreibzugriffen durch den Diagnostic Manager wird über den Typ ara::diag::DataIdentifierConcurrencyType::readWrite geregelt, der standardmäßig auf kNotConcurrent voreingestellt ist [SWS_DM_00939]. Verwandte Leseoperationen existieren für einzelne Datenelemente über DiagnosticDataElementInterface [SWS_DM_00596] sowie für generische Bezeichner [SWS_DM_00636].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
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< {<data-identifier-name>}ReadOutput >• If successful: an ara::core::Future containing a ReadOutput object as per [SWS_DM_00579] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

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_00640
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00640@rel:R25-11#2edc9067
Content hash
2edc9067
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00640
Status: valid/unmigrated Version: rel:R25-11#09d4ff6e 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_00640@rel:R25-11#09d4ff6e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2edc90672026-09-30
  • R19-11rel:R19-11#6713bf032026-10-14
  • R20-11rel:R20-11#8a573eb02026-10-14
  • R21-11rel:R21-11#5d209a572026-10-14
  • R22-11rel:R22-11#d59456d32026-10-14
  • R23-11rel:R23-11#d388add12026-10-14
  • R24-11rel:R24-11#05b336912026-10-14
  • R25-11rel:R25-11#09d4ff6e2026-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_00600] 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: 3f19138aee59 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode StopOffer deinstalliert die Weiterleitung eingehender Diagnoseanfragen des Diagnostic Management (DM) an die konkrete Schnittstelleninstanz [SWS_DM_00600]. Durch den Aufruf signalisiert die adaptive Anwendung, dass sie vorübergehend oder dauerhaft nicht mehr zur Bearbeitung von Anfragen für diesen DataIdentifier bereitsteht.

Verwendung und Semantik

Der Aufruf erfolgt synchron, ist parameterlos und liefert keinen Rückgabewert zurück [SWS_DM_00600]. Als Header ist die generierte Schnittstellendatei #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" einzubinden [SWS_DM_00600]. Die Namensgebung folgt dem aus ara::com bekannten Muster, stellt jedoch eine eigenständige Schnittstelle der Diagnosedomäne dar AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

Fehlerbehandlung und Nebenläufigkeit

  • Ausnahmesicherheit: Die Funktion ist mit noexcept deklariert und garantiert vollständige Ausnahmesicherheit (exception safe) [SWS_DM_00600]. Es werden keine Exceptions geworfen.
  • Thread-Sicherheit: Die Operation ist als not thread-safe spezifiziert [SWS_DM_00600]. Der Aufruf muss synchronisiert erfolgen, sodass kein paralleler Zugriff auf dieselbe Schnittstelleninstanz stattfindet.

Zusammenspiel

Das Verhalten entspricht dem einheitlichen Deaktivierungsmuster des Diagnostic Management, wie es analog auch für verwandte Schnittstellen wie Routinen [SWS_DM_00558], generische Datenelemente [SWS_DM_00639] oder Download-Dienste [SWS_DM_00793] definiert ist. Eingehende Anfragen vom DM an diesen DataIdentifier werden nach erfolgreicher Deaktivierung nicht mehr an den Anwendungshandler weitergeleitet [SWS_DM_00600]; das DM dürfte daraufhin entsprechende negative Antwortcodes generieren. Frage Q-d301740d097f9946 (offen)

Dieser Nutzungshinweis basiert auf den Festlegungen der Spezifikation AUTOSAR AP R25-11.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
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_00600
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00600@rel:R25-11#22b51647
Content hash
22b51647
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00600
Status: valid/unmigrated Version: rel:R25-11#06007200 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_00600@rel:R25-11#06007200
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#22b516472026-09-30
  • R19-11rel:R19-11#086a57212026-10-14
  • R20-11rel:R20-11#b9a8e5302026-10-14
  • R21-11rel:R21-11#c2bf51c22026-10-14
  • R22-11rel:R22-11#008226012026-10-14
  • R23-11rel:R23-11#4ba8fcde2026-10-14
  • R24-11rel:R24-11#095120152026-10-14
  • R25-11rel:R25-11#060072002026-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 Write [SWS_DM_00598] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< void > Write ( {<data-identifier-in-arg-derived-type-0toN>} {<data-identifier-in-arg-symbol-0toN>}, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a writing DataIdentifier (DiagnosticDataIdentifierInterface in the role write).

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

Die Schnittstellenfunktion dient der typsicheren Bereitstellung eines schreibenden DataIdentifier (DID) in der Rolle Write [SWS_DM_00598]. Sie wird von der Diagnostic-Server-Instanz bei eingehenden Diagnoseanfragen des UDS-Dienstes 0x2E (WriteDataByIdentifier) aufgerufen [SWS_DM_00186], sofern der DID im System unterstützt wird und die Prüfungen der aktiven Diagnosesitzung sowie der Sicherheitsstufe erfolgreich bestanden wurden [SWS_DM_00415] [SWS_DM_00416] [SWS_DM_00417]. Im Unterschied zur generischen Variante mit rohem Byte-Span [SWS_DM_00637] bindet die Methode modellspezifisch typisierte Eingabeparameter an [SWS_DM_00598].

  • Parameter: Neben den generierten Eingabeargumenten empfängt die Methode Metainformationen zur Anfrage über metaInfo sowie einen cancellationHandler [SWS_DM_00598]. Über den Cancellation-Handler kann die Anwendung via IsCanceled prüfen, ob die Konversation abgebrochen wurde, oder mit SetNotifier eine Benachrichtigung für den Abbruchfall registrieren [SWS_DM_00598].
  • Rückgabewert und Fehlerbehandlung: Die Ausführung erfolgt asynchron über ara::core::Future<void> [SWS_DM_00598]. Im Erfolgsfall liefert das Future den Typ void. Im Fehlerfall ist ein zutreffender UDS-NRC gemäß ISO 14229-1 mittels ara::diag::DiagUdsNrcErrc oder ein entsprechender ApplicationError zurückzugeben [SWS_DM_00598]. Die Funktion ist als ausnahmesicher (exception safe) deklariert [SWS_DM_00598].
  • Nebenläufigkeit: Die Methode ist als nicht threadsicher (not thread-safe) eingestuft [SWS_DM_00598]. Ob Lese- und Schreibzugriffe durch das Diagnostic Management parallel aufgerufen werden dürfen, wird über das Konfigurationselement readWrite in DataIdentifierConcurrencyType gesteuert [SWS_DM_00939].

Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation erstellt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
{<data-identifier-in-arg-symbol-0toN>}The symbol name of method argument[0..N] in the ordered list of method arguments, with ClientServerOperation. direction == in given by ClientServerOperation. ArgumentDataPrototype[0..N]. shortName
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< void >• If successful: an ara::core::Future containing a void. • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or Ap ApplicationError.

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_00598
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00598@rel:R25-11#72cee5e4
Content hash
72cee5e4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00598
Status: valid/unmigrated Version: rel:R25-11#bdb87168 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_00598@rel:R25-11#bdb87168
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#72cee5e42026-09-30
  • R19-11rel:R19-11#0d590eb92026-10-14
  • R20-11rel:R20-11#8b24b94a2026-10-14
  • R21-11rel:R21-11#6fc896c62026-10-14
  • R22-11rel:R22-11#e1f8fedf2026-10-14
  • R23-11rel:R23-11#f147daab2026-10-14
  • R24-11rel:R24-11#911d64682026-10-14
  • R25-11rel:R25-11#bdb871682026-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_01663] Upstream: RS_AP_00147

<DataIdentifierInterface3> & operator= (const <DataIdentifierInterface3> &other)=delete;

Copy assignment constructor deletion

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01663
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01663@rel:R25-11#e8fc0e1d
Content hash
e8fc0e1d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01663
Status: valid/unmigrated Version: rel:R25-11#84430c7f 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_01663@rel:R25-11#84430c7f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e8fc0e1d2026-09-30
  • R23-11rel:R23-11#32ce8d7c2026-10-14
  • R24-11rel:R24-11#d7cea82e2026-10-14
  • R25-11rel:R25-11#84430c7f2026-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_01664] Upstream: RS_AP_00147

<DataIdentifierInterface5> & operator= ( <DataIdentifierInterface5> &&other)=delete;

Move assignment constructor

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01664
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01664@rel:R25-11#38d95984
Content hash
38d95984
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01664
Status: valid/unmigrated Version: rel:R25-11#22a1078d 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_01664@rel:R25-11#22a1078d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#38d959842026-09-30
  • R23-11rel:R23-11#e483c5232026-10-14
  • R24-11rel:R24-11#8aad364b2026-10-14
  • R25-11rel:R25-11#22a1078d2026-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 ~<DataIdentifierInterface> [SWS_DM_00586] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<DataIdentifierInterface6> ();

Destruction of a DataIdentifier

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitnot exception 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_00586
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00586@rel:R25-11#5bb9ad31
Content hash
5bb9ad31
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00586
Status: valid/unmigrated Version: rel:R25-11#30bedd44 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_00586@rel:R25-11#30bedd44
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#5bb9ad312026-09-30
  • R19-11rel:R19-11#e08946d32026-10-14
  • R20-11rel:R20-11#74e8f77a2026-10-14
  • R21-11rel:R21-11#42adefc82026-10-14
  • R22-11rel:R22-11#6fb7460b2026-10-14
  • R23-11rel:R23-11#b224e2552026-10-14
  • R24-11rel:R24-11#0c307cd32026-10-14
  • R25-11rel:R25-11#30bedd442026-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

Dokumentation der Konstanten / Variablen

variable <DataIdentifierOutArg> [SWS_DM_80013] Upstream: RS_Diag_04224, RS_Diag_04169

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Symbol<DataIdentifierOutArg>
Typ<DataIdentifierOutArgType>

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

Record
AUTOSAR/AP/record/SWS_DM_80013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_80013@rel:R25-11#563214cb
Content hash
563214cb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_80013
Status: valid/unmigrated Version: rel:R25-11#a48f634f 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_80013@rel:R25-11#a48f634f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#563214cb2026-09-30
  • R24-11rel:R24-11#866631f72026-10-14
  • R25-11rel:R25-11#a48f634f2026-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