DEENESPTFRRUARHIKOZHNL

class ara::diag::GenericDataIdentifier

[SWS_DM_00607] Upstream: RS_Diag_04169

class GenericDataIdentifier {...};

Generic DataIdentifier interface.

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

User GuideKI-GENERIERT

Ermöglicht Anwendungen die generische Bearbeitung von UDS-Lese- und Schreibanfragen für Diagnose-Identifier.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 02c252ff66d0 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht Anwendungen die generische Bearbeitung von UDS-Lese- und Schreibanfragen für Diagnose-Identifier.

Die Klasse ara::diag::GenericDataIdentifier dient als generische Schnittstelle zur asynchronen Bearbeitung von UDS-Lese- und Schreibanforderungen für Diagnose-Identifier in AUTOSAR Adaptive [SWS_DM_00636]. Nach der Bindung an einen Port und der Freigabe über Offer() leitet das Diagnostic Management Anfragen an die implementierten Methoden weiter [SWS_DM_00638]. Als singuläre Instanz kann das Objekt weder kopiert noch verschoben werden, während die Thread-Sicherheit der Anfragenbearbeitung über die beim Konstruktor gewählte Nebenläufigkeitskonfiguration gesteuert wird.

Kontext

Die Klasse ara::diag::GenericDataIdentifier stellt eine generische Serviceschnittstelle innerhalb des Funktionsclusters Diagnostic Management (DM) der AUTOSAR Adaptive Platform dar SWS Diagnostics §8.2 „GenericDataIdentifier“. Während typspezifische Schnittstellen an fest modellierte Datentypen gebunden sind, dient GenericDataIdentifier der flexiblen Verarbeitung von Diagnose-Identifiern (Data Identifiers, DIDs), bei denen der 16-Bit-Identifier dynamisch als Parameter übergeben wird.

An der Diagnoseverarbeitung sind primär drei Rollen beteiligt:

  • Der externe Diagnosetester, welcher standardisierte UDS-Dienste wie ReadDataByIdentifier (0x22) oder WriteDataByIdentifier (0x2E) an das Fahrzeug richtet.
  • Das Diagnostic Management (DM), das Diagnoseanfragen entgegennimmt, validiert und über definierte Port-Schnittstellen an die entsprechende Anwendungsinstanz weiterleitet, sofern diese zuvor über Offer aktiviert wurde [SWS_DM_00638].
  • Die anwendungsspezifische Implementierung von GenericDataIdentifier, welche die eigentliche Verarbeitungslogik kapselt, indem sie die Methoden Read [SWS_DM_00636] und Write [SWS_DM_00637] bereitstellt und die Daten asynchron zurückliefert.

Lebenszyklus

Eine Instanz von ara::diag::GenericDataIdentifier wird explizit über ihren Konstruktor instanziiert [SWS_DM_00634]. Dabei bindet der Aufrufer das Objekt an einen ara::core::InstanceSpecifier, der auf einen PortPrototype eines modellierten DiagnosticDataIdentifierGenericInterface verweist. Über das Argument concurrencyType (vom Typ DataIdentifierConcurrencyType) wird festgelegt, ob Anfragen nebenläufig (kConcurrent) oder sequenziell (kNotConcurrent) an den Handler übergeben werden [SWS_DM_00634].

Hinsichtlich Besitz und Lebensdauer ist GenericDataIdentifier als singuläre, nicht-kopierbare und nicht-verschiebbare Instanz modelliert:

Nach der Instanziierung befindet sich das Objekt im inaktiven Zustand; das Diagnostic Management leitet noch keine Anfragen weiter. Erst durch den Aufruf von Offer() [SWS_DM_00638] wird die Weiterleitung aktiviert. Um die Weiterleitung von Diagnoseanforderungen wieder zu deaktivieren, ruft die Anwendung StopOffer() [SWS_DM_00639] auf. Die Zerstörung des Objekts erfolgt über den virtuellen Destruktor [SWS_DM_00635].

In Bezug auf Nebenläufigkeit ist der Konstruktor threadsicher (thread-safe) [SWS_DM_00634]. Dagegen sind die administrativen Methoden Offer() [SWS_DM_00638] und StopOffer() [SWS_DM_00639] sowie der Destruktor [SWS_DM_00635] als nicht threadsicher spezifiziert. Die Thread-Sicherheit der Methoden Read und Write hängt bedingt vom gewählten concurrencyType ab [SWS_DM_00636], [SWS_DM_00637].

lifecycle NichtInitialisiert Nicht initialisiert Inaktiv Inaktiv (StopOffer) NichtInitialisiert->Inaktiv Konstruktor Aktiv Aktiv (Offer) Inaktiv->Aktiv Offer() Beendet Zerstört Inaktiv->Beendet Destruktor Aktiv->Inaktiv StopOffer() Aktiv->Beendet Destruktor

Zustandsdiagramm: Lebenszyklus und Zustandsübergänge der Handler-Instanz zwischen Inaktivität und Weiterleitungsbereitschaft. Quellen: [SWS_DM_00634], [SWS_DM_00638], [SWS_DM_00639], [SWS_DM_00635]

Nutzungspfad

Ein typischer Durchstich zur Behandlung von Diagnoseanfragen gliedert sich in folgende Schritte:

  1. Initialisierung: Die Anwendung instanziiert ihre abgeleitete Handler-Klasse unter Angabe des InstanceSpecifier sowie der Nebenläufigkeitskonfiguration [SWS_DM_00634]. Interpretation: Dies dürfte in der Praxis typischerweise während der Initialisierungsphase des Anwendungsprozesses erfolgen. Frage Q-32596fba68253958 (offen)
  2. Dienstbereitstellung: Die Anwendung ruft Offer() auf [SWS_DM_00638]. Das Diagnostic Management aktiviert die Weiterleitung eingehender DID-Anfragen.
  3. Anfrageverarbeitung:
    • Geht ein Leseauftrag ein, ruft das DM die Methode Read(dataIdentifier, metaInfo, cancellationHandler) auf [SWS_DM_00636]. Die Anwendung prüft den übergebenen 16-Bit-Identifier und liefert asynchron ein ara::core::Future<OperationOutput> zurück.
    • Trifft ein Schreibauftrag ein, ruft das DM Write(dataIdentifier, requestData, metaInfo, cancellationHandler) auf [SWS_DM_00637]. Die Nutzdaten in requestData bleiben gültig, bis das zugehörige Promise erfüllt wird oder die Verarbeitung abgebrochen wird.
  4. Abbruchprüfung: Während langwieriger Operationen kann der Handler über cancellationHandler.IsCanceled() prüfen, ob die Konversation abgebrochen wurde, oder via cancellationHandler.SetNotifier eine Benachrichtigungsfunktion registrieren [SWS_DM_00636], [SWS_DM_00637].
  5. Dienstabmeldung: Vor dem Beenden des Handlers ruft die Anwendung StopOffer() auf [SWS_DM_00639], wodurch das DM die Weiterleitung einstellt.
Ablauf einer generischen LeseanforderungDiagnosetesterDiagnostic ManagementGenericDataIdentifierUse Case: DienstregistrierungOffer()Result<void> (Erfolg)Use Case: Leseanforderung (UDS 0x22)ReadDataByIdentifierRead(dataIdentifier, metaInfo, cancellationHandler)altDaten erfolgreich ermitteltFuture mit OperationOutputPositive UDS-Antwort mit DatenFehlerfall / NRCFuture mit DiagUdsNrcErrcNegative UDS-Antwort (NRC)

Sequenzdiagramm: Zusammenspiel zwischen externem Tester, Diagnostic Management und GenericDataIdentifier bei einer UDS-Leseanforderung. Quellen: [SWS_DM_00638], [SWS_DM_00636]

Fehlerszenarien

Fehler können in unterschiedlichen Phasen der Interaktion auftreten:

  • Konfigurations- und Mapping-Verletzungen: Kann der InstanceSpecifier im Modell nicht aufgelöst werden oder verweist er nicht auf einen PortPrototype, liegt eine InstanceSpecifierMappingIntegrityViolation vor [SWS_DM_00634]. Fehlt die Zuordnung zu einem DiagnosticDataPortMapping, tritt eine PortInterfaceMappingViolation auf [SWS_DM_00634]. Ein fehlendes Prozess-Mapping erzeugt eine ProcessMappingViolation, und ein bereits verwendeter InstanceSpecifier führt zu einer InstanceSpecifierAlreadyInUseViolation [SWS_DM_00634].
  • Mehrfaches Anbieten: Wird Offer() aufgerufen, obwohl der Dienst bereits aktiv angeboten wird, gibt die Methode ein ara::core::Result mit dem Fehlercode DiagOfferErrc::kAlreadyOffered zurück [SWS_DM_00638].
  • Fachliche Diagnosefehler: Kann eine Lese- oder Schreibanforderung fachlich nicht bedient werden, liefert die Anwendung im Future keinen Erfolgsstatus, sondern einen standardisierten UDS-NRC (Negative Response Code) über DiagUdsNrcErrc gemäß ISO 14229-1 zurück [SWS_DM_00636], [SWS_DM_00637].

Dieser Leitfaden basiert auf der AUTOSAR-Spezifikation 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__GenericDataIdentifier357 GenericDataIdentifier + GenericDataIdentifier() + operator=() + ~GenericDataIdentifier() + Offer() + Read() + StopOffer() + Write()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Class for an GenericDataIdentifier.

Überladungen GenericDataIdentifier 3
explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept; SWS_DM_00634
GenericDataIdentifier (GenericDataIdentifier &)=delete; SWS_DM_01653
GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete; SWS_DM_01654

Destructor of class GenericDataIdentifier .

virtual ~GenericDataIdentifier () noexcept;

Methoden

Offer function

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

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

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;
StopOffer function

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

void StopOffer () noexcept;
Write function

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Operatoren

operator= function 2

GenericDataIdentifier shall be a single not assignable instance.

Überladungen = 2

Eingebettete Typen

Dokumentation der Methoden

function GenericDataIdentifier [SWS_DM_00634] Upstream: RS_AP_00137, RS_Diag_04169, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept;

Class for an GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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 DiagnosticDataIdentifierGenericInterface 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
specifierInstanceSpecifier to a PortPrototype of a DiagnosticDataIdentifierGenericInterface.
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_00634
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00634@rel:R25-11#9d754b4c
Content hash
9d754b4c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00634
Status: valid/unmigrated Version: rel:R25-11#71f09e07 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_00634@rel:R25-11#71f09e07
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9d754b4c2026-09-30
  • R19-11rel:R19-11#281ed5b12026-10-14
  • R20-11rel:R20-11#c8b741432026-10-14
  • R21-11rel:R21-11#161554792026-10-14
  • R22-11rel:R22-11#55a5b7df2026-10-14
  • R23-11rel:R23-11#571dfcd62026-10-14
  • R24-11rel:R24-11#4a63e6522026-10-14
  • R25-11rel:R25-11#71f09e072026-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 GenericDataIdentifier [SWS_DM_01653] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not copy-able instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01653
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01653@rel:R25-11#f309daca
Content hash
f309daca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01653
Status: valid/unmigrated Version: rel:R25-11#3de9089c 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_01653@rel:R25-11#3de9089c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#f309daca2026-09-30
  • R23-11rel:R23-11#ad3cab8a2026-10-14
  • R24-11rel:R24-11#d3cdff682026-10-14
  • R25-11rel:R25-11#3de9089c2026-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 GenericDataIdentifier [SWS_DM_01654] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete;

Move constructor of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01654
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01654@rel:R25-11#11d817c5
Content hash
11d817c5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01654
Status: valid/unmigrated Version: rel:R25-11#8f08b1d5 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_01654@rel:R25-11#8f08b1d5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#11d817c52026-09-30
  • R23-11rel:R23-11#5421592e2026-10-14
  • R24-11rel:R24-11#8f08b1d52026-10-14
  • R25-11rel:R25-11#8f08b1d52026-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_00638] Upstream: RS_AP_00139, RS_AP_00119, RS_Diag_04169

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

Verwendung: Die synchrone Methode Offer der Klasse ara::diag::GenericDataIdentifier ([SWS_DM_00638]) dient der Registrierung eines generischen Datenbezeichner-Handlers beim Diagnostic Management (DM). Durch diesen Aufruf wird der DM autorisiert, eingehende Diagnoseanfragen (Request Messages) für den betreffenden Datenbezeichner an diesen Handler weiterzuleiten ([SWS_DM_00638]). Die Funktion nimmt keine Übergabeparameter entgegen und liefert synchron ein ara::core::Result<void> zurück ([SWS_DM_00638]), das über Erfolg oder Fehler Auskunft gibt.

Fehlerbehandlung: Die Methode ist mit noexcept deklariert und garantiert vollständige Ausnahmesicherheit (exception safe) ([SWS_DM_00638]). Mögliche Fehler werden über das ara::core::Result gemeldet. Wurde der Handler bereits zuvor bereitgestellt, gibt die Funktion den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik zurück ([SWS_DM_00638]). Dieser entspricht der allgemeinen Fehlerenumeration DiagErrc::kAlreadyOffered ([SWS_DM_00514]).

Nebenläufigkeit und Einschränkungen: Die Funktion ist als nicht threadsicher (not thread-safe) spezifiziert ([SWS_DM_00638]). Folglich müssen Aufrufe auf derselben Instanz vor dem Zugriff geschützt werden. Da für GenericDataIdentifier keine separate Deregistrierungsmethode spezifiziert ist, dürfte das Dienstangebot vermutlich an die Lebensdauer der Handler-Instanz gekoppelt sein (Interpretation). Frage Q-7c64a5bd308464a8 (offen)

Zusammenspiel: Das Verfahren folgt dem durchgängigen Bereitstellungsmuster des Diagnostic Managements. Analoge Schnittstellen finden sich für typspezifische Datenbezeichner ([SWS_DM_00599]), generische Routinen ([SWS_DM_00557]) sowie generische UDS-Dienste ([SWS_DM_00619]).

Dieser Nutzungshinweis wurde durch ein KI-System generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00638
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00638@rel:R25-11#d9e8c129
Content hash
d9e8c129
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00638
Status: valid/unmigrated Version: rel:R25-11#1ea7c5d4 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_00638@rel:R25-11#1ea7c5d4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d9e8c1292026-09-30
  • R19-11rel:R19-11#34f18c6b2026-10-14
  • R20-11rel:R20-11#f2c3beea2026-10-14
  • R21-11rel:R21-11#a7b6c9862026-10-14
  • R22-11rel:R22-11#533034aa2026-10-14
  • R23-11rel:R23-11#b980ade42026-10-14
  • R24-11rel:R24-11#198e42702026-10-14
  • R25-11rel:R25-11#1ea7c5d42026-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_00636] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04172

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

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

Verwendung

Die Methode Read der Klasse ara::diag::GenericDataIdentifier wird aufgerufen, sobald eine Diagnoseanforderung für ReadDataByIdentifier (UDS 0x22) für den betreffenden Datenbezeichner eingeht [SWS_DM_00636]. Als Parameter übernimmt die Funktion die numerische Kennung dataIdentifier, den Kontext metaInfo sowie einen cancellationHandler. Über den cancellationHandler kann die Anwendung mittels IsCanceled den Abbruchstatus abfragen oder via SetNotifier eine Benachrichtigungsfunktion für abgebrochene Konversationen registrieren [SWS_DM_00636]. Das Ergebnis wird asynchron über ein ara::core::Future<OperationOutput> bereitgestellt, welches im Erfolgsfall die Nutzdaten (OperationOutput) zurückliefert [SWS_DM_00636].

Fehlerbehandlung

Im Fehlerfall liefert das Future einen negativen UDS-Rückgabewert (NRC) gemäß ISO 14229-1 über DiagUdsNrcErrc [SWS_DM_00636]. Falls die Schnittstelle noch nicht oder nicht mehr über offer() angeboten wird, antwortet der Diagnostic Management (DM) eigenständig mit dem NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257]. Wird das konfigurierte Limit an Response Pending-Nachrichten erreicht, bricht der Server die Verarbeitung ab und antwortet mit NRC 0x10 (generalReject) [SWS_DM_00369].

Nebenläufigkeit und Zusammenspiel

Die Methode ist als noexcept deklariert und ausnahmesicher [SWS_DM_00636]. Ihre Thread-Sicherheit ist bedingt: Ob die Implementierung threadsicher sein muss, wird über den im Konstruktor übergebenen ConcurrencyType gesteuert [SWS_DM_00636]. Steht readWrite auf kConcurrent, darf der DM Lese- und Schreibzugriffe nebenläufig anstoßen, andernfalls (kNotConcurrent) erfolgt der Aufruf sequenziell [SWS_DM_00939]. Im Unterschied zu spezifischen Schnittstellen wie [SWS_DM_00640] deckt GenericDataIdentifier generische DID-Bereiche flexibel über die übergebene ID ab [SWS_DM_00636].

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

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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
dataIdentifierthe corresponding DataIdentifier
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_00636
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00636@rel:R25-11#339b6352
Content hash
339b6352
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00636
Status: valid/unmigrated Version: rel:R25-11#cfd80198 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_00636@rel:R25-11#cfd80198
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#339b63522026-09-30
  • R19-11rel:R19-11#f8a15c312026-10-14
  • R20-11rel:R20-11#5e9a44792026-10-14
  • R21-11rel:R21-11#34887de02026-10-14
  • R22-11rel:R22-11#91d437d52026-10-14
  • R23-11rel:R23-11#6625968e2026-10-14
  • R24-11rel:R24-11#430ea0f32026-10-14
  • R25-11rel:R25-11#cfd801982026-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_00639] 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: bd73a88bfde2 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Elementfunktion StopOffer der Klasse ara::diag::GenericDataIdentifier dient dazu, die Weiterleitung eingehender Anfrage-Nachrichten aus dem Diagnostic Management (DM) an die jeweilige Instanz zu deaktivieren [SWS_DM_00639]. Der Aufruf erfolgt synchron über die Schnittstelle aus der Header-Datei #include "ara/diag/generic_data_identifier.h" [SWS_DM_00639]. Die Funktion besitzt die Signatur void StopOffer() noexcept;, nimmt keine Übergabeparameter entgegen und liefert keinen Rückgabewert zurück [SWS_DM_00639].

Fehlerbehandlung und Nebenläufigkeit

Die Spezifikation definiert StopOffer als ausnahmesicher (exception safe) und garantiert über den Bezeichner noexcept das Ausbleiben von Exceptions [SWS_DM_00639]. Spezifische Fehlercodes, Fehlerreaktionen oder Meldungen an DET bzw. DEM sind für diese Operation nicht vorgesehen. In Bezug auf die Nebenläufigkeit ist die Methode als nicht threadsicher (not thread-safe) klassifiziert [SWS_DM_00639]. Parallele Aufrufe auf derselben Instanz müssen daher durch den Aufrufer synchronisiert werden. Interpretation: Bereits begonnene Anfragen im Diagnostic Management dürften vor dem endgültigen Stopp der Weiterleitung noch regulär verarbeitet werden. Frage Q-94a464dc832c055c (offen)

Zusammenspiel im Diagnosemodul

Das Muster zur Rücknahme der Dienstebereitstellung wird im Diagnosemodul standardisiert und konsistent eingesetzt. Analoge StopOffer-Methoden existieren unter anderem für:

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsdaten generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00639
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00639@rel:R25-11#0466e7b5
Content hash
0466e7b5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00639
Status: valid/unmigrated Version: rel:R25-11#9225c34d 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_00639@rel:R25-11#9225c34d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0466e7b52026-09-30
  • R19-11rel:R19-11#e360cf692026-10-14
  • R20-11rel:R20-11#1bc0f5cd2026-10-14
  • R21-11rel:R21-11#3b09d7582026-10-14
  • R22-11rel:R22-11#77376b4a2026-10-14
  • R23-11rel:R23-11#6009f72f2026-10-14
  • R24-11rel:R24-11#d3d4a13c2026-10-14
  • R25-11rel:R25-11#9225c34d2026-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_00637] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

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

Die Methode Write der Klasse ara::diag::GenericDataIdentifier wird vom Diagnostic Management aufgerufen, sobald eine UDS-Anfrage des Dienstes WriteDataByIdentifier (0x2E) empfangen wird [SWS_DM_00637]. Voraussetzung für den Aufruf ist, dass der angeforderte Datenbezeichner unterstützt wird und die jeweilige Diagnose-Session sowie Sicherheitsstufe die Ausführung gestatten [SWS_DM_00186], [SWS_DM_00415], [SWS_DM_00416].

Der Aufruf erfolgt mit folgenden Parametern [SWS_DM_00637]:

  • dataIdentifier: Die 16-Bit-Kennung des zu schreibenden Datenbezeichners.
  • requestData: Ein ara::core::Span mit den Rohdaten der Anfrage ohne DID-Präfix. Der Puffer bleibt gültig, bis das zugehörige Promise erfüllt oder die Bearbeitung abgebrochen wird.
  • metaInfo: Zusätzliche Metadaten zur Diagnoseanforderung.
  • cancellationHandler: Dient der Überwachung eines vorzeitigen Abbruchs der Konversation per IsCanceled sowie der Registrierung einer Abbruchbenachrichtigung über SetNotifier.

Die Ausführung erfolgt asynchron und gibt ein ara::core::Future<void> zurück [SWS_DM_00637]. Bei erfolgreicher Verarbeitung wird das Promise mit void für eine positive Antwortnachricht erfüllt. Tritt ein Fehler auf, ist das Future mit einem passenden negativen UDS-Rückgabewert (NRC) gemäß ISO 14229-1 über DiagUdsNrcErrc abzuschließen [SWS_DM_00637]. Die Methode ist als noexcept deklariert und muss ausnahmesicher implementiert werden [SWS_DM_00637].

Hinsichtlich der Nebenläufigkeit ist die Thread-Sicherheit bedingt: Ob Write threadsicher implementiert werden muss, hängt vom ConcurrencyType ab, der bei der Instanziierung im Konstruktor übergeben wurde [SWS_DM_00637]. Eine parallele Ausführung von Lese- und Schreibzugriffen wird über das Flag readWrite gesteuert [SWS_DM_00939].

Dieser Text wurde von einer KI erstellt. Alle Angaben basieren ausschließlich auf den Spezifikationen des Release R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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
dataIdentifierthe corresponding DataIdentifier
requestDataContent of request message (without DataIdentifier). 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< void >A Future with either void (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_00637
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00637@rel:R25-11#88996344
Content hash
88996344
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00637
Status: valid/unmigrated Version: rel:R25-11#b7a94afa 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_00637@rel:R25-11#b7a94afa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#889963442026-09-30
  • R19-11rel:R19-11#8d85d1592026-10-14
  • R20-11rel:R20-11#701ab1d02026-10-14
  • R21-11rel:R21-11#10093f0c2026-10-14
  • R22-11rel:R22-11#9b15c55f2026-10-14
  • R23-11rel:R23-11#a7e012442026-10-14
  • R24-11rel:R24-11#9c761e5e2026-10-14
  • R25-11rel:R25-11#b7a94afa2026-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_01651] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not assignable instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01651
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01651@rel:R25-11#0a92f77c
Content hash
0a92f77c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01651
Status: valid/unmigrated Version: rel:R25-11#9b814f4a 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_01651@rel:R25-11#9b814f4a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#0a92f77c2026-09-30
  • R23-11rel:R23-11#1cfb26532026-10-14
  • R24-11rel:R24-11#211cc0882026-10-14
  • R25-11rel:R25-11#9b814f4a2026-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_01652] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &&)=delete;

Move assignment operator of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01652
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01652@rel:R25-11#5c58a414
Content hash
5c58a414
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01652
Status: valid/unmigrated Version: rel:R25-11#7c21b544 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_01652@rel:R25-11#7c21b544
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5c58a4142026-09-30
  • R23-11rel:R23-11#1428a6912026-10-14
  • R24-11rel:R24-11#7c21b5442026-10-14
  • R25-11rel:R25-11#7c21b5442026-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 ~GenericDataIdentifier [SWS_DM_00635] Upstream: RS_AP_00134, RS_Diag_04169

virtual ~GenericDataIdentifier () noexcept;

Destructor of class GenericDataIdentifier .

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00635
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00635@rel:R25-11#882197f5
Content hash
882197f5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00635
Status: valid/unmigrated Version: rel:R25-11#fc24e0db 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_00635@rel:R25-11#fc24e0db
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#882197f52026-09-30
  • R19-11rel:R19-11#ae023e7c2026-10-14
  • R20-11rel:R20-11#6892d8702026-10-14
  • R21-11rel:R21-11#cf811fb72026-10-14
  • R22-11rel:R22-11#0ec9aa792026-10-14
  • R23-11rel:R23-11#924c98d82026-10-14
  • R24-11rel:R24-11#fc24e0db2026-10-14
  • R25-11rel:R25-11#fc24e0db2026-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