DEENESPTFRRUARHIKOZHNL

class ara::diag::GenericUDSService

[SWS_DM_00602] Upstream: RS_Diag_04169

class GenericUDSService {...};

Generic UDS interface.

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

User GuideKI-GENERIERT

Dient als generische UDS-Schnittstelle zur asynchronen Bearbeitung eingehender Diagnoseanfragen im Diagnose-Manager.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d0d38c589b70 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als generische UDS-Schnittstelle zur asynchronen Bearbeitung eingehender Diagnoseanfragen im Diagnose-Manager.

Die Klasse ara::diag::GenericUDSService ermöglicht als generischer UDS-Service-Handler die Entgegennahme und Verarbeitung beliebiger UDS-Diagnoseanfragen über den AUTOSAR-Diagnose-Manager [SWS_DM_00616]. Nach der Bindung an einen Port-Prototypen wird der Dienst über Offer() aktiviert, verarbeitet Anfragen asynchron in der Methode HandleMessage() und wird mit StopOffer() wieder deregistriert [SWS_DM_00618], [SWS_DM_00619], [SWS_DM_00620]. Die Instanz ist weder kopier- noch verschiebbar und signalisiert Fehler über NRCs aus DiagUdsNrcErrc [SWS_DM_01657], [SWS_DM_00618].

Kontext

Die Klasse ara::diag::GenericUDSService stellt eine generische Serviceschnittstelle für die Diagnosekommunikation nach UDS (Unified Diagnostic Services) bereit. Sie dient als Basisklasse für Anwendungen, die benutzerdefinierte oder nicht durch dedizierte Schnittstellen abgedeckte UDS-Dienste implementieren und verarbeiten möchten. Die Interaktion erfolgt im Wesentlichen zwischen der diagnostizierenden Applikationskomponente, dem AUTOSAR-Diagnose-Manager (DM) sowie dem zugrunde liegenden Modellierungskontext. Die Anbindung an den Diagnose-Manager und das Plattformmodell erfolgt bei der Instanziierung über einen ara::core::InstanceSpecifier, der auf einen entsprechenden Port-Prototypen eines DiagnosticGenericUdsInterface verweist [SWS_DM_00616]. Sobald die Registrierung über die Schnittstelle aktiviert wird, leitet der Diagnose-Manager eingehende UDS-Anfragen an die implementierte Instanz weiter [SWS_DM_00619].

GenericUDSContext DM Diagnostic-Manager (DM) Service ara::diag::GenericUDSService DM->Service Offer() / StopOffer() DM->Service HandleMessage(sid, data) App Applikations-Handler Service->App Virtuelle Abarbeitung App->DM Future<OperationOutput> Model AUTOSAR Modell / InstanceSpecifier Model->Service Konfiguration / PortPrototype

Kontextdiagramm: Komponenten- und Interaktionskontext von ara::diag::GenericUDSService mit DM und Applikation. Quellen: [SWS_DM_00616], [SWS_DM_00618], [SWS_DM_00619]

Lebenszyklus

Eine Instanz von ara::diag::GenericUDSService ist an einen festen Port-Prototypen gebunden und als Einzelexemplar konzipiert: Kopierkonstruktor [SWS_DM_01657], Verschiebekonstruktor [SWS_DM_01658] sowie die Zuweisungsoperatoren [SWS_DM_01655], [SWS_DM_01656] sind gelöscht (delete). Die Erzeugung erfolgt explizit über den Konstruktor unter Angabe eines InstanceSpecifier und der Nebenläufigkeitskonfiguration ConcurrencyType (kConcurrent oder kNotConcurrent) [SWS_DM_00616]. Der Lebenszyklus der Servicebereitschaft gliedert sich in zwei wesentliche Phasen:

  • Nicht angeboten (Stopped / Initial): Nach der Konstruktion oder nach dem Aufruf von StopOffer() leitet der DM keine Anfragen an die Instanz weiter [SWS_DM_00620].
  • Angeboten (Offered): Nach erfolgreichem Aufruf von Offer() ist der Handler aktiv und verarbeitet eingehende Diagnosemeldungen [SWS_DM_00619].

Die Zerstörung erfolgt über den virtuellen Destruktor ~GenericUDSService() [SWS_DM_00584]. Hinsichtlich der Thread-Sicherheit ist der Konstruktor als threadsicher spezifiziert, während Offer(), StopOffer() und der Destruktor nicht threadsicher sind und eine externe Synchronisation erfordern [SWS_DM_00616], [SWS_DM_00619], [SWS_DM_00620], [SWS_DM_00584].

GenericUDSLifecycle Uninitialized Nicht existent Stopped Bereit / Nicht angeboten Uninitialized->Stopped Konstruktor(specifier, concurrencyType) Stopped->Uninitialized ~GenericUDSService() Offered Angeboten (Aktiv) Stopped->Offered Offer() Offered->Stopped StopOffer() Offered->Offered HandleMessage()

Zustandsdiagramm: Lebenszyklus und Service-Bereitstellungszustände. Quellen: [SWS_DM_00616], [SWS_DM_00619], [SWS_DM_00620], [SWS_DM_00584]

Nutzungspfad

Der reguläre Ablauf umfasst die Instanziierung der abgeleiteten Serviceklasse, die Freischaltung des Handlers, die asynchrone Auftragsabarbeitung und die spätere Deaktivierung:

  1. Instanziierung: Die Applikation instanziiert die spezialisierte Service-Klasse mit dem passenden ara::core::InstanceSpecifier sowie dem gewünschten ConcurrencyType [SWS_DM_00616].
  2. Dienst anbieten: Der Aufruf von Offer() signalisiert dem Diagnose-Manager die Bereitschaft zur Nachrichtenannahme [SWS_DM_00619].
  3. Nachrichtenverarbeitung: Eingehende UDS-Anfragen führen zum Aufruf der rein virtuellen Methode HandleMessage() durch den DM. Übergeben werden Service-Identifier (sid), Nutzdaten (requestData), Metadaten (metaInfo) und ein cancellationHandler [SWS_DM_00618]. Die Methode liefert ein ara::core::Future<OperationOutput> zurück, über das das Ergebnis oder ein Fehler asynchron bereitgestellt wird [SWS_DM_00618]. Der Handler kann über cancellationHandler.IsCanceled() prüfen, ob der Vorgang abgebrochen wurde, oder über cancellationHandler.SetNotifier() eine Benachrichtigung registrieren [SWS_DM_00618].
  4. Dienst beenden: Mittels StopOffer() wird die Weiterleitung von Anfragen beendet, bevor die Instanz zerstört wird [SWS_DM_00620], [SWS_DM_00584].
Verarbeitung einer UDS-Anfrage über GenericUDSServiceApplikationGenericUDSServiceDiagnostic-ManagerErzeugung(specifier, concurrencyType)Offer()Handler registrierenResult<void> (Erfolg)Use Case: Diagnoseanfrage bearbeitenHandleMessage(sid, requestData, metaInfo, cancelHandler)altVerarbeitung erfolgreichFuture::set_value(OperationOutput)Fehlerfall / AblehnungFuture::set_error(DiagUdsNrcErrc)Use Case: Dienst deregistrierenStopOffer()Handler deregistrieren

Sequenzdiagramm: Typischer Aufrufablauf bei Registrierung, Nachrichtenverarbeitung und Deregistrierung. Quellen: [SWS_DM_00616], [SWS_DM_00618], [SWS_DM_00619], [SWS_DM_00620]

Fehlerszenarien

Fehlersituationen können in verschiedenen Phasen auftreten und erfordern eine differenzierte Behandlung:

  • Instanziierungsverletzungen: Schlägt die Zuordnung des InstanceSpecifier im Modell fehl, meldet das Framework definierte Violations: InstanceSpecifierMappingIntegrityViolation (Specifier lässt sich im Modell nicht auflösen oder verweist nicht auf einen PortPrototype), PortInterfaceMappingViolation (Port ist nicht über ein DiagnosticServiceGenericMapping referenziert), ProcessMappingViolation (kein passender Prozess modelliert) oder InstanceSpecifierAlreadyInUseViolation (Specifier wird im Prozess bereits verwendet) [SWS_DM_00616].
  • Doppelter Angebotsaufruf: Wird Offer() aufgerufen, obwohl der Dienst bereits aktiv angeboten wird, schlägt der Aufruf fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered zurück (Rollback-Semantik) [SWS_DM_00619].
  • Diagnosebezogene Ausführungsfehler: Kann eine UDS-Nachricht in HandleMessage() fachlich nicht positiv beantwortet werden, ist das Ergebnis im Future mit einem passenden Negative Response Code (NRC) nach ISO 14229-1 via DiagUdsNrcErrc zu belegen [SWS_DM_00618]. Zudem muss die Implementierung auf Abbruchsignale des cancellationHandler reagieren, falls die zugrunde liegende Diagnosekonversation vorzeitig beendet wurde [SWS_DM_00618].

Dieser Klassen-Leitfaden wurde automatisiert auf Basis des AUTOSAR-Standards generiert.

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__GenericUDSService134 GenericUDSService + GenericUDSService() + operator=() + ~GenericUDSService() + HandleMessage() + Offer() + StopOffer()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructor of GenericUDSService.

Überladungen GenericUDSService 3
explicit GenericUDSService (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00616
GenericUDSService (GenericUDSService &)=delete; SWS_DM_01657
GenericUDSService (GenericUDSService &&) noexcept=delete; SWS_DM_01658

Destructor of GenericUDSService.

virtual ~GenericUDSService () noexcept;

Methoden

HandleMessage function

Called for any request message.

virtual ara::core::Future< OperationOutput > HandleMessage (std::uint8_t sid, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
Offer function

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

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

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

void StopOffer () noexcept;

Operatoren

operator= function 2

GenericUDSService shall be a single not assignable instance.

Überladungen = 2

Eingebettete Typen

Dokumentation der Methoden

function GenericUDSService [SWS_DM_00616] Upstream: RS_AP_00137, RS_Diag_04169, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

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

Constructor of GenericUDSService.

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService
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 DiagnosticGenericUdsInterface needs to be referenced by a DiagnosticServiceGenericMapping. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticGenericUdsInterface.
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_00616
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00616@rel:R25-11#87df6171
Content hash
87df6171
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00616
Status: valid/unmigrated Version: rel:R25-11#3d790c95 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_00616@rel:R25-11#3d790c95
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#87df61712026-09-30
  • R19-11rel:R19-11#84d8fb9f2026-10-14
  • R20-11rel:R20-11#50d1ef612026-10-14
  • R21-11rel:R21-11#bc4b87432026-10-14
  • R22-11rel:R22-11#927edc252026-10-14
  • R23-11rel:R23-11#f591fa1b2026-10-14
  • R24-11rel:R24-11#bb9f2bcf2026-10-14
  • R25-11rel:R25-11#3d790c952026-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 GenericUDSService [SWS_DM_01657] Upstream: RS_AP_00147

GenericUDSService (GenericUDSService &)=delete;

GenericUDSService shall be a single not copy-able instance.

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService

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

Record
AUTOSAR/AP/record/SWS_DM_01657
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01657@rel:R25-11#be554e2d
Content hash
be554e2d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01657
Status: valid/unmigrated Version: rel:R25-11#76928831 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_01657@rel:R25-11#76928831
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#be554e2d2026-09-30
  • R23-11rel:R23-11#a940ac8f2026-10-14
  • R24-11rel:R24-11#769288312026-10-14
  • R25-11rel:R25-11#769288312026-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 GenericUDSService [SWS_DM_01658] Upstream: RS_AP_00147

GenericUDSService (GenericUDSService &&) noexcept=delete;

Move constructor of GenericUDSService.

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService

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

Record
AUTOSAR/AP/record/SWS_DM_01658
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01658@rel:R25-11#fd8860f3
Content hash
fd8860f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01658
Status: valid/unmigrated Version: rel:R25-11#595ee4df 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_01658@rel:R25-11#595ee4df
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#fd8860f32026-09-30
  • R23-11rel:R23-11#a5685d662026-10-14
  • R24-11rel:R24-11#595ee4df2026-10-14
  • R25-11rel:R25-11#595ee4df2026-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 HandleMessage [SWS_DM_00618] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04172, RS_Diag_04173

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

Called for any request message.

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

Die Methode HandleMessage aus ara::diag::GenericUDSService dient der anwendungsspezifischen Verarbeitung eingehender UDS-Diagnoseanfragen [SWS_DM_00618].

Verwendung

Der Diagnostic Management (DM) ruft die Methode für jede empfangene Diagnose-Request-Nachricht auf [SWS_DM_00618]. Anhand der Parameter werden der Service Identifier (sid), die Nutzdaten (requestData als ara::core::Span<const std::uint8_t>), Verbindungsinformationen (metaInfo) sowie ein cancellationHandler übergeben. Die Verarbeitung erfolgt asynchron über die Rückgabe eines ara::core::Future<OperationOutput> [SWS_DM_00618]. Die Nutzdaten in requestData bleiben gültig, bis das zugehörige Promise erfüllt oder die Operation abgebrochen wird. Über cancellationHandler.IsCanceled() kann die Anwendung den Abbruchstatus prüfen oder mittels cancellationHandler.SetNotifier() eine Benachrichtigung für Sitzungsabbrüche registrieren [SWS_DM_00618].

Fehlerbehandlung

Kann eine Anforderung nicht erfolgreich verarbeitet werden, signalisiert die Anwendung den Fehler über das zurückgegebene Future mittels eines passenden negativen Antwortcodes (NRC nach ISO 14229-1) über DiagUdsNrcErrc [SWS_DM_00618].

Nebenläufigkeit und Randbedingungen

  • Lebensdauer von metaInfo: Die Gültigkeit des metaInfo-Objekts ist strikt auf die aktive Ausführungsdauer des Methodenaufrufs beschränkt [SWS_DM_01345]. Ein Speichern oder Verwenden nach Rückkehr von HandleMessage führt zu undefiniertem Verhalten.
  • Reentranz und Nebenläufigkeit: Ob Aufrufe threadsicher erfolgen müssen, bestimmt der im Konstruktor festgelegte ara::diag::ConcurrencyType SWS Diagnostics §7.3.1.2 „Concurrency of ara::diag interfaces“. Bei kConcurrent darf der DM nachfolgende Anfragen parallel aufrufen; bei kNotConcurrent wartet der DM, bis das Resultat der laufenden Anfrage bereitgestellt wurde.

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

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService
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
sidDiagnostic Request Service Identifier.
requestDataDiagnostic request data (starting after SID). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<OperationOutput >A Result with either a OperationOutput or an error

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_00618
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00618@rel:R25-11#99edf635
Content hash
99edf635
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00618
Status: valid/unmigrated Version: rel:R25-11#256cc37a 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_00618@rel:R25-11#256cc37a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#99edf6352026-09-30
  • R19-11rel:R19-11#07f4afe82026-10-14
  • R20-11rel:R20-11#97dcd1762026-10-14
  • R21-11rel:R21-11#bf4e483a2026-10-14
  • R22-11rel:R22-11#f4f521dc2026-10-14
  • R23-11rel:R23-11#96bc13662026-10-14
  • R24-11rel:R24-11#8392efc52026-10-14
  • R25-11rel:R25-11#256cc37a2026-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_00619] 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: 19027d24302f Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode Offer der Klasse ara::diag::GenericUDSService schaltet die Weiterleitung von Diagnoseanfragen frei: Sie ermöglicht dem Diagnostic Manager (DM), eingehende UDS-Anforderungsnachrichten an diesen Handler weiterzuleiten [SWS_DM_00619]. Der synchrone Aufruf besitzt keine Parameter, blockiert nicht und liefert als Rückgabewert ein ara::core::Result<void> [SWS_DM_00619]. Die Ausführung dürfte typischerweise (Interpretation:) während der Initialisierungs- und Startphase der Adaptive Application erfolgen, bevor Diagnosebotschaften über das Netzwerk verarbeitet werden müssen. Frage Q-c1e385a434fe1e4e (offen)

Fehlerbehandlung und Nebenläufigkeit

Die Funktion ist mit noexcept deklariert und garantiert Exception-Sicherheit [SWS_DM_00619]. Wurde der Dienst bereits zuvor angeboten, schlägt die Registrierung fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik zurück [SWS_DM_00619]. Bezüglich der Thread-Sicherheit ist die Schnittstelle als not thread-safe spezifiziert [SWS_DM_00619]; gleichzeitige Aufrufe auf derselben Instanz müssen durch die aufrufende Anwendung synchronisiert werden.

Zusammenspiel

Das Anbieten über Offer entspricht dem standardisierten Registrierungsmuster im AUTOSAR-Adaptive-Diagnose-Subsystem, wie es vergleichbar für Routinen ([SWS_DM_00557]) oder Datenbezeichner ([SWS_DM_00638]) spezifiziert ist. Obwohl die Nomenklatur an ara::com angelehnt ist, handelt es sich um eine diagnostikspezifische Methode des Diagnostic Managers AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

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

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService
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_00619
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00619@rel:R25-11#05dc2f91
Content hash
05dc2f91
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00619
Status: valid/unmigrated Version: rel:R25-11#ae4f6e9d 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_00619@rel:R25-11#ae4f6e9d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#05dc2f912026-09-30
  • R19-11rel:R19-11#0e22e9622026-10-14
  • R20-11rel:R20-11#542fec492026-10-14
  • R21-11rel:R21-11#31bb39122026-10-14
  • R22-11rel:R22-11#420b15e72026-10-14
  • R23-11rel:R23-11#7855d6082026-10-14
  • R24-11rel:R24-11#2afc8d572026-10-14
  • R25-11rel:R25-11#ae4f6e9d2026-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_00620] 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: 5dba8a8b4077 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode StopOffer der Klasse ara::diag::GenericUDSService deaktiviert die Weiterleitung eingehender Diagnoseanfragen vom Diagnostic Management (DM) an die Service-Instanz [SWS_DM_00620]. Die Funktion wird über den Header ara/diag/generic_uds_service.h bereitgestellt, erwartet keine Parameter und besitzt den Rückgabetyp void [SWS_DM_00620].

Fehlerbehandlung

Die Methode ist mit noexcept und als ausnahmesicher (exception safe) spezifiziert [SWS_DM_00620]. Sie wirft keine Ausnahmen und gibt keine Fehlercodes zurück; das Stoppen der Weiterleitung erfolgt deterministisch.

Nebenläufigkeit und Einschränkungen

Laut Spezifikation ist StopOffer als nicht threadsicher (not thread-safe) klassifiziert [SWS_DM_00620]. Parallele Aufrufe für dieselbe Instanz müssen anwendungsseitig abgesichert werden. Interpretation: Der Aufruf von StopOffer dürfte typischerweise vor der Zerstörung des Instanzobjekts oder bei vorübergehender Nichtverfügbarkeit erfolgen, um ausstehende Weiterleitungen zu verhindern. Frage Q-408323dd00c313c0 (offen)

Zusammenspiel

Das Konzept von StopOffer folgt einem konsistenten Architekturmuster innerhalb von ara::diag, wie es sich auch bei generischen Routinen [SWS_DM_00558], generischen Data Identifiern [SWS_DM_00639], Security Access [SWS_DM_00767] sowie Monitoren [SWS_DM_01089] findet. Obwohl die Bezeichnungen an ara::com angelehnt sind, handelt es sich um eine eigenständige Implementierung des Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

Dieser Nutzungshinweis wurde von einer KI generiert und basiert ausschließlich auf den Spezifikationen des AUTOSAR-Releases R25-11.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService
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_00620
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00620@rel:R25-11#4e246fdf
Content hash
4e246fdf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00620
Status: valid/unmigrated Version: rel:R25-11#1d426258 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_00620@rel:R25-11#1d426258
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#4e246fdf2026-09-30
  • R19-11rel:R19-11#e52849f92026-10-14
  • R20-11rel:R20-11#66bfb24f2026-10-14
  • R21-11rel:R21-11#7d420efa2026-10-14
  • R22-11rel:R22-11#f6582c092026-10-14
  • R23-11rel:R23-11#f67e3ec02026-10-14
  • R24-11rel:R24-11#b55c0cb92026-10-14
  • R25-11rel:R25-11#1d4262582026-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_01655] Upstream: RS_AP_00147

GenericUDSService & operator= (GenericUDSService &)=delete;

GenericUDSService shall be a single not assignable instance.

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService

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

Record
AUTOSAR/AP/record/SWS_DM_01655
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01655@rel:R25-11#a547556d
Content hash
a547556d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01655
Status: valid/unmigrated Version: rel:R25-11#7e13bda6 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_01655@rel:R25-11#7e13bda6
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#a547556d2026-09-30
  • R23-11rel:R23-11#d553807d2026-10-14
  • R24-11rel:R24-11#7e13bda62026-10-14
  • R25-11rel:R25-11#7e13bda62026-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_01656] Upstream: RS_AP_00147

GenericUDSService & operator= (GenericUDSService &&)=delete;

Move assignment operator of GenericUDSService.

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService

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

Record
AUTOSAR/AP/record/SWS_DM_01656
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01656@rel:R25-11#b4b3af99
Content hash
b4b3af99
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01656
Status: valid/unmigrated Version: rel:R25-11#38601fc9 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_01656@rel:R25-11#38601fc9
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b4b3af992026-09-30
  • R23-11rel:R23-11#ca5bd3e62026-10-14
  • R24-11rel:R24-11#38601fc92026-10-14
  • R25-11rel:R25-11#38601fc92026-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 ~GenericUDSService [SWS_DM_00584] Upstream: RS_AP_00134, RS_Diag_04169

virtual ~GenericUDSService () noexcept;

Destructor of GenericUDSService.

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopeclass ara::diag::GenericUDSService
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_00584
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00584@rel:R25-11#1744d32b
Content hash
1744d32b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00584
Status: valid/unmigrated Version: rel:R25-11#67b03061 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_00584@rel:R25-11#67b03061
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1744d32b2026-09-30
  • R19-11rel:R19-11#a888e6d82026-10-14
  • R20-11rel:R20-11#b89a01092026-10-14
  • R21-11rel:R21-11#b89a01092026-10-14
  • R22-11rel:R22-11#b2f7e8712026-10-14
  • R23-11rel:R23-11#0599d30b2026-10-14
  • R24-11rel:R24-11#ac8cbc5b2026-10-14
  • R25-11rel:R25-11#67b030612026-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