DEENESPTFRRUARHIKOZHNL

class <DataElement-Namespace>::<DataElementInterface>

[SWS_DM_00603] Upstream: RS_Diag_04169

class <DataElementInterface> {...};

DiagnosticDataElementInterface class

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Forwarding-Header#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }/<DataElementShortname>_fwd.h"
Scopenamespace <DataElement-Namespace>

User GuideKI-GENERIERT

Ermöglicht Anwendungen die Bereitstellung und Beantwortung von Diagnose-Leseabfragen für den Diagnostic Manager.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 70357181b1bf Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht Anwendungen die Bereitstellung und Beantwortung von Diagnose-Leseabfragen für den Diagnostic Manager.

Die Schnittstelle dient Adaptive-Anwendungen zur Bereitstellung diagnostischer Daten für Lesezugriffe des Diagnostic Management. Nach der Instanziierung über einen Instanz-Spezifizierer muss die Anwendung den Dienst aktiv anbieten, damit eingehende Leseanfragen entgegengenommen werden können [SWS_DM_00597]. Eingehende Anfragen werden über die asynchrone Lesemethode verarbeitet, welche die angeforderten Ausgabedaten oder negative Rückmeldecodes in einem Zukunftswert bereitstellt [SWS_DM_00596]. Da Kopier- und Verschiebeoperationen gelöscht sind, ist jede Instanz fest an ihren Kontext gebunden.

Kontext

Die generierte C++-Klasse <DataElementInterface> fungiert innerhalb des Funktionsclusters diag (AUTOSAR Adaptive Platform) als standardisierte Serverschnittstelle zur Bereitstellung lesbarer Diagnosedaten AUTOSAR_AP_SWS_Diagnostics S. 68. Konkret bildet sie ein DiagnosticDataElementInterface in der Rolle read ab, über welches eine Adaptive-Anwendung Datenwerte für Diagnoseanfragen (wie etwa UDS ReadDataByIdentifier) an den Diagnostic Manager (DM) übermittelt [SWS_DM_00596].

Wesentliche Interaktionspartner sind das Diagnostic Management des Plattform-Daemons, welcher eingehende Diagnoseanfragen koordiniert, sowie die implementierende Adaptive-Anwendung, die von dieser Schnittstelle erbt und die Bereitstellungslogik ausformuliert. Die Instanziierung und Zuordnung zur Software-Architektur erfolgt über einen modellierten Port-Prototyp, der über einen ara::core::InstanceSpecifier angebunden wird [SWS_DM_00587]. Die Ausgabedaten werden dabei in einer typspezifischen Struktur gekapselt, deren Argumente durch entsprechende Ausgabeelemente repräsentiert werden [SWS_DM_80023], [SWS_DM_00581].

Lebenszyklus

Die Erzeugung einer Instanz erfolgt über den Konstruktor unter Angabe des ara::core::InstanceSpecifier sowie des Nebenläufigkeitsmodus ara::diag::ConcurrencyType [SWS_DM_00587]. Zur Wahrung einer eindeutigen Zuordnung innerhalb des Prozesses sind sowohl der Kopierkonstruktor als auch der Verschiebekonstruktor gelöscht [SWS_DM_01661], [SWS_DM_01662]. Gleichermaßen sind die Kopier- und Verschiebezuweisungsoperatoren explizit gelöscht [SWS_DM_01659], [SWS_DM_01660]. Eine Instanz verbleibt somit fest an ihrer erzeugten Adresse.

Hinsichtlich des Betriebs durchläuft das Objekt definierte Phasen:

  • Nicht angeboten (Not Offered): Nach der Konstruktion befindet sich das Objekt zunächst in einem inaktiven Zustand, in dem der DM keine Leseanfragen zustellt.
  • Angeboten (Offered): Durch den Aufruf von Offer() wird der Dienst beim DM aktiviert, sodass eingehende Leseanfragen weitergeleitet werden [SWS_DM_00597].
  • Abgemeldet: Der Aufruf von StopOffer() deaktiviert die Weiterleitung künftiger Diagnoseanfragen durch den DM [SWS_DM_00617].
  • Zerstörung: Der virtuelle Destruktor ~<DataElementInterface>() beendet den Lebenszyklus der Schnittstelleninstanz [SWS_DM_00588].

Während der Konstruktor als threadsicher spezifiziert ist [SWS_DM_00587], sind Offer(), StopOffer(), Read() und der Destruktor nicht threadsicher [SWS_DM_00597], [SWS_DM_00617], [SWS_DM_00596], [SWS_DM_00588]. Der Parameter concurrencyType im Konstruktor legt fest, ob die Handler-Implementierung thread-safe (kConcurrent) oder nicht thread-safe (kNotConcurrent) ausgeführt ist [SWS_DM_00587].

Lifecycle Uninitialized Uninitialized NotOffered NotOffered Uninitialized->NotOffered Konstruktor Offered Offered NotOffered->Offered Offer() Destructed Destructed NotOffered->Destructed Destruktor Offered->NotOffered StopOffer() Offered->Destructed Destruktor

Zustandsdiagramm: Zustandsphasen einer Schnittstelleninstanz zwischen Initialisierung, Veröffentlichungsstatus und Zerstörung. Quellen: [SWS_DM_00587], [SWS_DM_00597], [SWS_DM_00617], [SWS_DM_00588].

Nutzungspfad

Der reguläre Ablauf zur Datenabfrage folgt einer festen Abfolge von Schritten:

  1. Instanziierung: Die Anwendung instanziiert die abgeleitete Handler-Klasse mit dem gewünschten instanceSpec und concurrencyType [SWS_DM_00587].
  2. Dienstfreigabe: Die Anwendung ruft Offer() auf, wodurch der DM befähigt wird, Leseanfragen weiterzuleiten [SWS_DM_00597].
  3. Verarbeitung von Leseanfragen: Trifft eine Leseanfrage beim DM ein, ruft dieser die rein virtuelle Methode Read(metaInfo, cancellationHandler) am Handler auf [SWS_DM_00596]. Die Anwendung wertet metaInfo aus und kann über cancellationHandler.IsCanceled() prüfen, ob die Konversation abgebrochen wurde, oder einen Callback über cancellationHandler.SetNotifier registrieren [SWS_DM_00596].
  4. Rückmeldung: Interpretation: Die eigentliche Ermittlung der Ausgabedaten dürfte typischerweise asynchron erfolgen; das Ergebnis wird in einem ara::core::Future mit dem entsprechenden ReadOutput-Objekt bereitgestellt [SWS_DM_00596], [SWS_DM_00581]. Frage Q-ce317bd1275e4fd9 (offen)
  5. Dienstbeendigung: Vor dem Herunterfahren ruft die Anwendung StopOffer() auf, um die Weiterleitung zu unterbinden [SWS_DM_00617], gefolgt von der Objektzerstörung [SWS_DM_00588].
Aufrufsequenz zur Bereitstellung und Auslesung eines DiagnosedatenelementsDiagnostic ManagementDataElement HandlerAnwendungskernUse Case: DienstregistrierungOffer()Result<void> (kSuccess)Use Case: Leseanfrage verarbeitenRead(metaInfo, cancellationHandler)Daten abfragen / ermittelnaltErfolgreich gelesenReadOutput bereitstellenFuture mit ReadOutputFehlerfall / NRCFehler aufgetretenFuture mit DiagUdsNrcErrcUse Case: DienstabmeldungStopOffer()

Sequenzdiagramm: Aufrufsequenz von der Dienstanmeldung über das asynchrone Lesen bis zur Abmeldung. Quellen: [SWS_DM_00597], [SWS_DM_00596], [SWS_DM_00617].

Fehlerszenarien

Im Fehlerfall sind die verschiedenen Lebensphasen differenziert zu betrachten:

Bereits bei der Konstruktion können Integritätsverletzungen auftreten, die über spezifische Violations signalisiert werden [SWS_DM_00587]:

  • InstanceSpecifierMappingIntegrityViolation: Der Instanz-Spezifizierer kann im Modell des Executables nicht aufgelöst werden oder verweist nicht auf einen PortPrototype.
  • PortInterfaceMappingViolation: Ein durch das DiagnosticDataElementInterface typisierter PortPrototype wird nicht durch ein DiagnosticDataPortMapping referenziert.
  • ProcessMappingViolation: Eine passende InstanceRef existiert zwar, aber es wurde kein passender modellierter Prozess gefunden, der dem Laufzeitprozess entspricht.
  • InstanceSpecifierAlreadyInUseViolation: Der Konstruktor wurde mit einem InstanceSpecifier aufgerufen, der im aktuellen Prozess bereits verwendet wird.

Wird Offer() für einen bereits angebotenen Dienst aufgerufen, liefert die Methode ein ara::core::Result mit dem Fehlercode DiagOfferErrc::kAlreadyOffered zurück (Rollback-Semantik) [SWS_DM_00597].

Kann eine Leseanfrage in Read() nicht erfolgreich beantwortet werden, muss das zurückgegebene ara::core::Future einen entsprechenden ISO 14229-1 Negative Response Code (NRC) via DiagUdsNrcErrc oder einen ApApplicationError enthalten [SWS_DM_00596].

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR AP Release R25-11 und fasst die Anforderungen des Moduls diag zusammen.

Mitgliederkarte

Klassendiagramm

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

G n_DataElement_Namespace____DataElementInterface_750 <DataElementInterface> + <DataElementOutArg> + Offer() + Read() + StopOffer() + operator=() + <DataElementInterface>() + ~<DataElementInterface>()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

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

Überladungen <DataElementInterface> 3
<DataElementInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_00587
<DataElementInterface2> (const <DataElementInterface2> &other)=delete; SWS_DM_01661
<DataElementInterface4> (<DataElementInterface4> &&other)=delete; SWS_DM_01662
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 Read DataElement (DiagnosticDataElementInterface in the role read)

virtual ara::core::Future< <DataElement>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;

Destruction of a DataElement

virtual ~<DataElementInterface6> () noexcept;

Operatoren

operator= function 2

Copy assignment constructor deletion

Überladungen = 2
<DataElementInterface3> & operator= (const <DataElementInterface3> &other)=delete; SWS_DM_01659
<DataElementInterface5> & operator= ( <DataElementInterface5> &&other)=delete; SWS_DM_01660

Konstanten

Member declaration representing an out argument in an Output.

<DataElementOutArgType> <DataElementOutArg>;

Eingebettete Typen

Dokumentation der Methoden

function <DataElementInterface> [SWS_DM_00587] Upstream: RS_AP_00137, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

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

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

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

Die Konstruktorfunktion [SWS_DM_00587] dient der Instanziierung eines <DataElementInterface> über einen ara::core::InstanceSpecifier gemäß AUTOSAR_AP_SWS_Diagnostics §8.28.2.2.1.6.

Verwendung und Parameter:

  • instanceSpec: Spezifiziert die konkrete Instanz des Dienstes im Modellkontext.
  • concurrencyType: Bestimmt das Nebenläufigkeitsverhalten und legt fest, ob die Schnittstelle thread-sicher (kConcurrent) oder nicht thread-sicher (kNotConcurrent) ausgeführt wird.

Nebenläufigkeit und Exception-Sicherheit: Die Funktion ist als noexcept deklariert und in der Spezifikation als thread-safe sowie exception-safe klassifiziert [SWS_DM_00587].

Fehlerbehandlung und Modellierungsverletzungen: Fehler führen nicht zu C++-Ausnahmen, sondern zu spezifizierten Violations:

  • InstanceSpecifierMappingIntegrityViolation: Tritt auf, wenn instanceSpec im Prozesskontext nicht auflösbar ist oder nicht auf einen PortPrototype verweist.
  • PortInterfaceMappingViolation: Wird gemeldet, wenn ein über DiagnosticDataElementInterface typisierter PortPrototype nicht durch ein DiagnosticDataPortMapping referenziert wird.
  • ProcessMappingViolation: Liegt vor, wenn eine Instanzreferenz vorhanden ist, jedoch kein passender modellierter Prozess zum Laufzeitprozess existiert.
  • InstanceSpecifierAlreadyInUseViolation: Wird gesendet, wenn der instanceSpec im selben Prozess bereits durch einen Konstruktoraufruf belegt ist.

Dieser Verwendungshinweis wurde automatisiert auf Basis von AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
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 DiagnosticDataElementInterface 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_00587
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00587@rel:R25-11#5035bc32
Content hash
5035bc32
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00587
Status: valid/unmigrated Version: rel:R25-11#3137c965 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_00587@rel:R25-11#3137c965
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#5035bc322026-09-30
  • R19-11rel:R19-11#362db1312026-10-14
  • R20-11rel:R20-11#2280335d2026-10-14
  • R21-11rel:R21-11#90eaccce2026-10-14
  • R22-11rel:R22-11#163504222026-10-14
  • R23-11rel:R23-11#bbe3ec942026-10-14
  • R24-11rel:R24-11#5f9d4fbd2026-10-14
  • R25-11rel:R25-11#3137c9652026-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 <DataElementInterface> [SWS_DM_01661] Upstream: RS_AP_00147

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

Copy constructor deletion

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01661
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01661@rel:R25-11#1cd9fb52
Content hash
1cd9fb52
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01661
Status: valid/unmigrated Version: rel:R25-11#2f60d744 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_01661@rel:R25-11#2f60d744
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1cd9fb522026-09-30
  • R23-11rel:R23-11#0016469c2026-10-14
  • R24-11rel:R24-11#de93ef5f2026-10-14
  • R25-11rel:R25-11#2f60d7442026-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 <DataElementInterface> [SWS_DM_01662] Upstream: RS_AP_00147

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

Move constructor

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01662
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01662@rel:R25-11#91b60d86
Content hash
91b60d86
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01662
Status: valid/unmigrated Version: rel:R25-11#2bcbb47c 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_01662@rel:R25-11#2bcbb47c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#91b60d862026-09-30
  • R23-11rel:R23-11#df8de15a2026-10-14
  • R24-11rel:R24-11#05b223222026-10-14
  • R25-11rel:R25-11#2bcbb47c2026-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_00597] 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: 9d47ee9edbd8 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode Offer eines DataElementInterface aktiviert die Weiterleitung eingehender Diagnoseanfragen durch den Diagnostic Management Daemon (DM) an den zugehörigen Handler ([SWS_DM_00597]). Sie nimmt keine Parameter entgegen, garantiert Ausnahme-Sicherheit (exception safe / noexcept) und gibt ein ara::core::Result<void> zurück ([SWS_DM_00597]).

Für Fehlerbehandlung, Nebenläufigkeit und Reihenfolge gelten folgende Vorgaben:

  • Fehlerbehandlung: Wurde der Dienst bereits zuvor angeboten, schlägt der Aufruf fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik ([SWS_DM_00597]).
  • Nebenläufigkeit: Die Funktion ist als nicht threadsicher (not thread-safe) spezifiziert ([SWS_DM_00597]). Gleichzeitige Aufrufe auf derselben Instanz müssen anwendungsseitig synchronisiert werden.
  • Reihenfolgebedingungen: Solange Offer nicht durch die Adaptive Application aufgerufen wurde, leitet der DM keine Anfragen an den Handler weiter bzw. nutzt interne Fallback-Werte ([SWS_DM_01525], [SWS_DM_01527]). Der Aufruf dürfte typischerweise in der Startphase der Applikation erfolgen (Interpretation). Frage Q-dca0925e698789c5 (offen)

Das Konzept der Bereitstellung via Offer wird konsistent auch bei anderen DM-Handlern wie Routinen ([SWS_DM_00594]) und Datenidentifikatoren ([SWS_DM_00599]) verwendet. Die Benennung ist zwar an ara::com angelehnt, stellt jedoch eine eigenständige DM-Implementierung dar (SWS Diagnostics §7.3.4.1.2 „Monitors“).

Dieser Text wurde durch eine KI auf Basis der Spezifikationsdaten erstellt.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
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_00597
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00597@rel:R25-11#872cc339
Content hash
872cc339
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00597
Status: valid/unmigrated Version: rel:R25-11#dc11c9cd 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_00597@rel:R25-11#dc11c9cd
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#872cc3392026-09-30
  • R19-11rel:R19-11#aef2a6c42026-10-14
  • R20-11rel:R20-11#dc31bf0e2026-10-14
  • R21-11rel:R21-11#38b1f8ef2026-10-14
  • R22-11rel:R22-11#3ac4d67f2026-10-14
  • R23-11rel:R23-11#c2a3f2c12026-10-14
  • R24-11rel:R24-11#9279c3692026-10-14
  • R25-11rel:R25-11#dc11c9cd2026-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_00596] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

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

Provision of a Read DataElement (DiagnosticDataElementInterface in the role read)

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

Die Methode Read dient der Bereitstellung eines Datenelements innerhalb einer DiagnosticDataElementInterface-Instanz in der Rolle read [SWS_DM_00596]. Der Aufruf erfolgt asynchron durch den Diagnostic Manager zur Bearbeitung diagnostischer Leseanfragen.

Verwendung und Signatur

Die Schnittstelle liefert ein ara::core::Future mit einem typisierten ReadOutput-Objekt gemäß [SWS_DM_00581] zurück [SWS_DM_00596]. Über die übergebenen Parameter verarbeitet die Implementierung die Anfrage:

  • metaInfo: Übergibt Metainformationen zur eingehenden Diagnoseanfrage [SWS_DM_00596].
  • cancellationHandler: Ermöglicht die Überwachung eines vorzeitigen Abbruchs der Diagnosekonversation via cancellationHandler.IsCanceled() sowie die Registrierung einer Benachrichtigungsfunktion über cancellationHandler.SetNotifier() [SWS_DM_00596].

Fehlerbehandlung und Nebenläufigkeit

Kann das Datenelement nicht erfolgreich ausgelesen werden, gibt das ara::core::Future keinen Wert, sondern einen Fehler zurück. Als Fehlercode ist ein passender UDS-Negative-Response-Code (NRC) gemäß ISO 14229-1 über DiagUdsNrcErrc oder ein ApApplicationError zu setzen [SWS_DM_00596]. Die Funktion ist als noexcept und ausnahmesicher (exception safe) spezifiziert.

Hinsichtlich des Ausführungskontexts ist Read als not thread-safe deklariert [SWS_DM_00596]. Das Zusammenspiel entspricht dem allgemeinen Muster adaptiver Diagnose-Leseoperationen, wie sie analog für Data-Identifier ([SWS_DM_00640]) oder Extended-Data-Records ([SWS_DM_02156]) definiert sind.

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

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
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-element-name>}ReadOutput >• If successful: an ara::core::Future containing a ReadOutput object as per [SWS_DM_00581] • 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_00596
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00596@rel:R25-11#46170e3a
Content hash
46170e3a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00596
Status: valid/unmigrated Version: rel:R25-11#db56d6b8 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_00596@rel:R25-11#db56d6b8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#46170e3a2026-09-30
  • R19-11rel:R19-11#27ec1d4b2026-10-14
  • R20-11rel:R20-11#7e478e7b2026-10-14
  • R21-11rel:R21-11#86f986be2026-10-14
  • R22-11rel:R22-11#d7f279f42026-10-14
  • R23-11rel:R23-11#05b772b12026-10-14
  • R24-11rel:R24-11#47e253022026-10-14
  • R25-11rel:R25-11#db56d6b82026-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_00617] 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: 91119add8e3c Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode StopOffer am Interface <DataElement-Namespace>::<DataElementInterface> deaktiviert die Weiterleitung eingehender Anfragenachrichten aus dem Diagnostic Management (DM) an das betreffende Datenelement [SWS_DM_00617]. Der Aufruf erfolgt synchron, erfordert keine Übergabeparameter und liefert keinen Rückgabewert zurück [SWS_DM_00617].

Hinsichtlich der Fehlerbehandlung ist die Funktion als exception safe spezifiziert und mit noexcept deklariert [SWS_DM_00617]. Es werden weder C++-Exceptions ausgelöst noch Fehlercodes zurückgegeben. Interpretation: Da die Spezifikation lediglich das Unterbinden der Nachrichtenweiterleitung vorsieht, dürfte der Methodenaufruf ausschließlich künftige Diagnoseanfragen abweisen, während zum Aufrufzeitpunkt bereits laufende Verarbeitungen unbeeinflusst bleiben. Frage Q-a741bb87f41cfe59 (offen)

Bezüglich der Nebenläufigkeit ist die Schnittstelle als not thread-safe definiert [SWS_DM_00617]. Aufrufer müssen parallele Zugriffe auf dieselbe Instanz daher durch anwendungsseitige Synchronisationsmechanismen absichern. Obwohl der Name in Anlehnung an ara::com gewählt wurde, handelt es sich um eine eigenständige, diagnosespezifische Schnittstelle des Funktionsclusters Diagnostics AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

Das Deaktivieren fügt sich in das architektonische Gesamtmuster des DM ein: Analoge StopOffer-Methoden existieren für Data Identifier [SWS_DM_00600], generische Routinen [SWS_DM_00558], generische UDS-Dienste [SWS_DM_00620] sowie Reset-Anfragen [SWS_DM_01017], um jeweils die Weiterleitung von Anfragen an den entsprechenden Handler kontrolliert zu beenden.

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

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
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_00617
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00617@rel:R25-11#c087b549
Content hash
c087b549
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00617
Status: valid/unmigrated Version: rel:R25-11#f93e3c48 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_00617@rel:R25-11#f93e3c48
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c087b5492026-09-30
  • R19-11rel:R19-11#4686d8712026-10-14
  • R20-11rel:R20-11#302902f52026-10-14
  • R21-11rel:R21-11#60b4eb6e2026-10-14
  • R22-11rel:R22-11#630d49a22026-10-14
  • R23-11rel:R23-11#d3c624d92026-10-14
  • R24-11rel:R24-11#a0e4aac82026-10-14
  • R25-11rel:R25-11#f93e3c482026-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_01659] Upstream: RS_AP_00147

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

Copy assignment constructor deletion

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01659
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01659@rel:R25-11#473419de
Content hash
473419de
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01659
Status: valid/unmigrated Version: rel:R25-11#af6f33fc 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_01659@rel:R25-11#af6f33fc
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#473419de2026-09-30
  • R23-11rel:R23-11#9013eaab2026-10-14
  • R24-11rel:R24-11#bd96b8662026-10-14
  • R25-11rel:R25-11#af6f33fc2026-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_01660] Upstream: RS_AP_00147

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

Move assignment constructor

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01660
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01660@rel:R25-11#e5b15729
Content hash
e5b15729
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01660
Status: valid/unmigrated Version: rel:R25-11#5711e300 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_01660@rel:R25-11#5711e300
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e5b157292026-09-30
  • R23-11rel:R23-11#1e4f2e112026-10-14
  • R24-11rel:R24-11#92f17c3c2026-10-14
  • R25-11rel:R25-11#5711e3002026-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 ~<DataElementInterface> [SWS_DM_00588] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<DataElementInterface6> () noexcept;

Destruction of a DataElement

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
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_00588
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00588@rel:R25-11#b88cfb3b
Content hash
b88cfb3b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00588
Status: valid/unmigrated Version: rel:R25-11#ad7733a4 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_00588@rel:R25-11#ad7733a4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b88cfb3b2026-09-30
  • R19-11rel:R19-11#4c53dc262026-10-14
  • R20-11rel:R20-11#b2fa29ed2026-10-14
  • R21-11rel:R21-11#0f467e0d2026-10-14
  • R22-11rel:R22-11#b00f6d462026-10-14
  • R23-11rel:R23-11#28e88b432026-10-14
  • R24-11rel:R24-11#2cdc2f6c2026-10-14
  • R25-11rel:R25-11#ad7733a42026-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 <DataElementOutArg> [SWS_DM_80023] Upstream: RS_Diag_04224, RS_Diag_04169

<DataElementOutArgType> <DataElementOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
Symbol<DataElementOutArg>
Typ<DataElementOutArgType>

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

Record
AUTOSAR/AP/record/SWS_DM_80023
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_80023@rel:R25-11#98e36acc
Content hash
98e36acc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_80023
Status: valid/unmigrated Version: rel:R25-11#caed5afa 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_80023@rel:R25-11#caed5afa
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#98e36acc2026-09-30
  • R24-11rel:R24-11#b1ac80b72026-10-14
  • R25-11rel:R25-11#caed5afa2026-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