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 GuideAI-GENERATED

Serves as a generic UDS interface for the asynchronous processing of incoming diagnostic requests in the Diagnostic Manager.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: d0d38c589b70 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Serves as a generic UDS interface for the asynchronous processing of incoming diagnostic requests in the Diagnostic Manager.

As a generic UDS service handler, the ara::diag::GenericUDSService class enables receiving and processing arbitrary UDS diagnostic requests via the AUTOSAR Diagnostic Manager [SWS_DM_00616]. After binding to a port prototype, the service is activated via Offer(), processes requests asynchronously in the HandleMessage() method, and is deregistered again with StopOffer() [SWS_DM_00618], [SWS_DM_00619], [SWS_DM_00620]. The instance is neither copyable nor movable and signals errors via NRCs from DiagUdsNrcErrc [SWS_DM_01657], [SWS_DM_00618].

Context

The ara::diag::GenericUDSService class provides a generic service interface for diagnostic communication according to UDS (Unified Diagnostic Services). It serves as a base class for applications that want to implement and process custom UDS services or UDS services not covered by dedicated interfaces. Interaction essentially takes place between the diagnosing application component, the AUTOSAR Diagnostic Manager (DM), and the underlying modeling context. Connecting to the Diagnostic Manager and the platform model takes place during instantiation via an ara::core::InstanceSpecifier that references a corresponding port prototype of an DiagnosticGenericUdsInterface [SWS_DM_00616]. As soon as registration via the interface is activated, the Diagnostic Manager forwards incoming UDS requests to the implemented instance [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

Context diagram: Component and interaction context of ara::diag::GenericUDSService with DM and application. Sources: [SWS_DM_00616], [SWS_DM_00618], [SWS_DM_00619]

Lifecycle

An instance of ara::diag::GenericUDSService is bound to a fixed port prototype and designed as a single instance: copy constructor [SWS_DM_01657], move constructor [SWS_DM_01658], as well as assignment operators [SWS_DM_01655], [SWS_DM_01656] are deleted (delete). Creation takes place explicitly via the constructor specifying an InstanceSpecifier and the concurrency configuration ConcurrencyType (kConcurrent or kNotConcurrent) [SWS_DM_00616]. The lifecycle of service readiness is divided into two main phases:

  • Not offered (Stopped / Initial): After construction or after calling StopOffer(), the DM does not forward any requests to the instance [SWS_DM_00620].
  • Offered: After successfully calling Offer(), the handler is active and processes incoming diagnostic messages [SWS_DM_00619].

Destruction takes place via the virtual destructor ~GenericUDSService() [SWS_DM_00584]. With regard to thread safety, the constructor is specified as thread-safe, whereas Offer(), StopOffer(), and the destructor are not thread-safe and require external synchronization [SWS_DM_00616], [SWS_DM_00619], [SWS_DM_00620], [SWS_DM_00584].

GenericUDSLifecycle Uninitialized Non-existent Stopped Ready / Not offered Uninitialized->Stopped Konstruktor(specifier, concurrencyType) Stopped->Uninitialized ~GenericUDSService() Offered Angeboten (Aktiv) Stopped->Offered Offer() Offered->Stopped StopOffer() Offered->Offered HandleMessage()

State diagram: Lifecycle and service provisioning states. Sources: [SWS_DM_00616], [SWS_DM_00619], [SWS_DM_00620], [SWS_DM_00584]

Usage Path

The regular flow comprises instantiating the derived service class, enabling the handler, asynchronous request processing, and subsequent deactivation:

  1. Instantiation: The application instantiates the specialized service class with the matching ara::core::InstanceSpecifier and the desired ConcurrencyType [SWS_DM_00616].
  2. Offer service: Calling Offer() signals readiness to accept messages to the Diagnostic Manager [SWS_DM_00619].
  3. Message processing: Incoming UDS requests lead to the DM calling the pure virtual method HandleMessage(). Passed parameters are service identifier (sid), payload (requestData), metadata (metaInfo), and a cancellationHandler [SWS_DM_00618]. The method returns a ara::core::Future<OperationOutput> through which the result or an error is provided asynchronously [SWS_DM_00618]. The handler can check via cancellationHandler.IsCanceled() whether the operation was canceled, or register a notification via cancellationHandler.SetNotifier() [SWS_DM_00618].
  4. Stop service: By means of StopOffer(), the forwarding of requests is stopped before the instance is destroyed [SWS_DM_00620], [SWS_DM_00584].
Processing of a UDS request via 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

Sequence diagram: Typical call sequence during registration, message processing, and deregistration. Sources: [SWS_DM_00616], [SWS_DM_00618], [SWS_DM_00619], [SWS_DM_00620]

Error Scenarios

Error situations can occur in various phases and require differentiated handling:

  • Instantiation violations: If mapping the InstanceSpecifier in the model fails, the framework reports defined violations: InstanceSpecifierMappingIntegrityViolation (specifier cannot be resolved in the model or does not reference an PortPrototype), PortInterfaceMappingViolation (port is not referenced via an DiagnosticServiceGenericMapping), ProcessMappingViolation (no matching process modeled), or InstanceSpecifierAlreadyInUseViolation (specifier is already used in the process) [SWS_DM_00616].
  • Duplicate offer call: If Offer() is called even though the service is already actively offered, the call fails and returns the error code DiagOfferErrc::kAlreadyOffered (rollback semantics) [SWS_DM_00619].
  • Diagnostic-related execution errors: If a UDS message cannot be answered positively from a domain perspective in HandleMessage(), the result in the Future must be set with an appropriate Negative Response Code (NRC) according to ISO 14229-1 via DiagUdsNrcErrc [SWS_DM_00618]. In addition, the implementation must react to cancellation signals of the cancellationHandler if the underlying diagnostic conversation was terminated prematurely [SWS_DM_00618].

This class guide was generated automatically based on the AUTOSAR standard.

Member map

Constructors and destructor

2

Operators

1

Embedded types

1

Class diagram

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

G nara__diag__GenericUDSService134 GenericUDSService + GenericUDSService() + operator=() + ~GenericUDSService() + HandleMessage() + Offer() + StopOffer()

Detail view

Select an entry in the outline.

Constructors and destructor

Constructor of GenericUDSService.

Overloads 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;

Methods

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;

Operators

operator= function 2

GenericUDSService shall be a single not assignable instance.

Overloads = 2

Embedded types

Method documentation

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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 38c6453769b1 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method HandleMessage from ara::diag::GenericUDSService serves for application-specific processing of incoming UDS diagnostic requests [SWS_DM_00618].

use

Diagnostic Management (DM) calls the method for each received diagnostic request message [SWS_DM_00618]. Based on the parameters, the service identifier (sid), the payload (requestData as ara::core::Span<const std::uint8_t>), connection information (metaInfo), and a cancellationHandler are passed. Processing occurs asynchronously via the return of a ara::core::Future<OperationOutput> [SWS_DM_00618]. The payload in requestData remains valid until the associated promise is fulfilled or the operation is canceled. Via cancellationHandler.IsCanceled(), the application can check the cancellation status or register a notification for session cancellations by means of cancellationHandler.SetNotifier() [SWS_DM_00618].

Error handling

If a request cannot be processed successfully, the application signals the error via the returned future by means of an appropriate negative response code (NRC according to ISO 14229-1) via DiagUdsNrcErrc [SWS_DM_00618].

Concurrency and Constraints

  • Lifetime of metaInfo: The validity of the metaInfo object is strictly limited to the active execution duration of the method call [SWS_DM_01345]. Storing or using it after return from HandleMessage results in undefined behavior.
  • Reentrancy and Concurrency: The ara::diag::ConcurrencyType defined in the constructor determines whether calls must be thread-safe SWS Diagnostics §7.3.1.2 “Concurrency of ara::diag interfaces”. In the case of kConcurrent, the DM may call subsequent requests in parallel; in the case of kNotConcurrent, the DM waits until the result of the ongoing request has been provided.

This usage note was generated automatically based on the AUTOSAR Adaptive R25-11 specification.

Implementer's Guide to follow (complexity 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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 19027d24302f Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method Offer of class ara::diag::GenericUDSService enables the forwarding of diagnostic requests: it allows the Diagnostic Manager (DM) to forward incoming UDS request messages to this handler [SWS_DM_00619]. The synchronous call has no parameters, is non-blocking, and returns a ara::core::Result<void> [SWS_DM_00619]. Execution would typically (Interpretation:) take place during the initialization and startup phase of the Adaptive Application, before diagnostic messages need to be processed over the network. Question Q-c1e385a434fe1e4e (open)

Error Handling and Concurrency

The function is declared with noexcept and guarantees exception safety [SWS_DM_00619]. If the service was already previously offered, the registration fails and returns the error code DiagOfferErrc::kAlreadyOffered with rollback semantics [SWS_DM_00619]. Regarding thread safety, the interface is specified as not thread-safe [SWS_DM_00619]; concurrent calls on the same instance must be synchronized by the calling application.

Interaction

Offering via Offer corresponds to the standardized registration pattern in the AUTOSAR Adaptive diagnostic subsystem, as specified similarly for routines ([SWS_DM_00557]) or data identifiers ([SWS_DM_00638]). Although the nomenclature is based on ara::com, it is a diagnostics-specific method of the Diagnostic Manager AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”.

This usage note was generated by an AI based on the AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity 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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 5dba8a8b4077 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method StopOffer of class ara::diag::GenericUDSService disables the forwarding of incoming diagnostic requests from Diagnostic Management (DM) to the service instance [SWS_DM_00620]. The function is provided via header ara/diag/generic_uds_service.h, expects no parameters, and has the return type void [SWS_DM_00620].

Error handling

The method is specified with noexcept and as exception safe (exception safe) [SWS_DM_00620]. It throws no exceptions and returns no error codes; stopping the forwarding occurs deterministically.

Concurrency and Limitations

According to the specification, StopOffer is classified as not thread-safe [SWS_DM_00620]. Parallel calls for the same instance must be synchronized on the application side. Interpretation: The call to StopOffer is likely to occur typically prior to the destruction of the instance object or during temporary unavailability in order to prevent pending forwardings. Question Q-408323dd00c313c0 (open)

Interaction

The concept of StopOffer follows a consistent architectural pattern within ara::diag, as also found in generic routines [SWS_DM_00558], generic data identifiers [SWS_DM_00639], Security Access [SWS_DM_00767], and monitors [SWS_DM_01089]. Although the names are based on ara::com, it is an independent implementation of Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”.

This usage note was generated by an AI and is based exclusively on the specifications of AUTOSAR release R25-11.

Implementer's Guide to follow (complexity 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