DEENESPTFRRUARHIKOZHNL

class <DataIdentifier-Namespace>::<DataIdentifierInterface>

[SWS_DM_00601] Upstream: RS_Diag_04169

class <DataIdentifierInterface> {...};

DiagnosticDataIdentifierInterface class

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

User GuideAI-GENERATED

Enables the application to answer diagnostic read and write requests for specific data identifiers.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 7fb3639fc276 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Enables the application to answer diagnostic read and write requests for specific data identifiers.

The interface <DataIdentifier-Namespace>::<DataIdentifierInterface> enables adaptive applications to provide model-specific diagnostic data identifiers to Diagnostic Management [SWS_DM_00585]. After creation, Offer() enables the forwarding of requests, which are processed asynchronously via Read() or Write() and answered with UDS error codes if needed [SWS_DM_00599] [SWS_DM_00640]. Because the instance is neither copyable nor movable, the service is explicitly terminated via StopOffer() prior to destruction [SWS_DM_01665] [SWS_DM_00600].

Context

The C++ class <DataIdentifier-Namespace>::<DataIdentifierInterface> acts as a functional interface for diagnostic data identifiers (Data Identifiers, DIDs) in module diag of the Adaptive Platform SWS Diagnostics p. 68. It connects the adaptive application layer with the central Diagnostic Management (DM). Diagnostic Management receives external diagnostic requests and forwards them to the registered instance [SWS_DM_00599]. Through derived classes, the application software provides the concrete implementation to query or update data contents via read or write operations [SWS_DM_00640] [SWS_DM_00598].

Lifecycle

Creation takes place via the parameterized constructor by passing an ara::core::InstanceSpecifier and the concurrency mode ara::diag::ConcurrencyType [SWS_DM_00585]. The latter specifies whether calls to the instance may be processed concurrently (kConcurrent) or non-concurrently (kNotConcurrent) [SWS_DM_00585]. Because an instance is bound firmly to its model configuration, both the copy and move constructors are explicitly deleted [SWS_DM_01665] [SWS_DM_01666]; the same applies to the copy and move assignment operators [SWS_DM_01663] [SWS_DM_01664].

After instantiation, the interface is in an inactive state. Only by calling Offer() is the forwarding of diagnostic requests by Diagnostic Management enabled [SWS_DM_00599]. Method StopOffer() stops this forwarding again [SWS_DM_00600]. Release of resources occurs via the virtual destructor [SWS_DM_00586]. Interpretation: Prior to destroying the object, StopOffer() is typically expected to be called to prevent open or newly incoming DM forwardings in an orderly manner. Question Q-3710c559625978c9 (open)

Usage Path

The regular sequence comprises instantiation, service registration, asynchronous request processing, and subsequent deactivation:

  1. Instantiation: The application creates an instance of the interface, specifying the InstanceSpecifier and the desired ConcurrencyType setting [SWS_DM_00585].
  2. Service release: The application calls Offer(), enabling Diagnostic Management to deliver requests to this handler [SWS_DM_00599].
  3. Request processing: For read accesses, the DM calls the pure virtual method Read() [SWS_DM_00640]; for write accesses, Write() [SWS_DM_00598]. The application can monitor cancellation events via the passed cancellationHandler. The results are provided asynchronously as ara::core::Future, which contains an ReadOutput object with the output data in case of Read() [SWS_DM_00579] [SWS_DM_00640] [SWS_DM_80013].
  4. Service termination: Calling StopOffer() stops forwarding [SWS_DM_00600] before the object is destroyed [SWS_DM_00586].
Sequence of provision and processing of data identifier requestsApplicationDataIdentifierInterfaceDiagnostic ManagementKonstruktor(instanceSpec, concurrencyType)Offer()Weiterleitung aktivierenResult<void> (Erfolg)Use Case: Diagnoseanfrage durch DMRead(metaInfo, cancellationHandler)Future<ReadOutput>Use Case: Stop service and teardownStopOffer()Weiterleitung deaktivieren~<DataIdentifierInterface>()

Sequence diagram: Typical sequence of DID provision from initialization through asynchronous request answering to deactivation. Sources: [SWS_DM_00585], [SWS_DM_00599], [SWS_DM_00640], [SWS_DM_00600], [SWS_DM_00586].

Error Scenarios

Modeling errors can lead to violations as early as object creation: If port or process links are missing, InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation, or ProcessMappingViolation occur [SWS_DM_00585]. If the same InstanceSpecifier is reused in the same process, the framework reports InstanceSpecifierAlreadyInUseViolation [SWS_DM_00585].

If Offer() is called even though the service is already being offered, the call fails and returns error code DiagOfferErrc::kAlreadyOffered via the ara::core::Result [SWS_DM_00599]. If execution of Read() or Write() fails, the implementation transmits errors asynchronously in Future by means of ISO 14229-1 UDS error codes (DiagUdsNrcErrc) or application-specific ApApplicationError [SWS_DM_00640] [SWS_DM_00598]. Regarding exception safety, the constructor and processing methods are specified as exception safe [SWS_DM_00585] [SWS_DM_00599] [SWS_DM_00640] [SWS_DM_00598], whereas the destructor is not designated as exception safe [SWS_DM_00586].

This guide is based on the AUTOSAR specification for the Adaptive Platform (Release R25-11).

Member map

Class diagram

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

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

Detail view

Select an entry in the outline.

Methods

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

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

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

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

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

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

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;
Write function

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

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

Destruction of a DataIdentifier

virtual ~<DataIdentifierInterface6> ();

Operators

operator= function 2

Copy assignment constructor deletion

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

Constants

Member declaration representing an out argument in an Output.

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Embedded types

Method documentation

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

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

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

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

use

The constructor function <DataIdentifierInterface> serves to instantiate a data identifier from an ara::core::InstanceSpecifier [SWS_DM_00585]. The declaration takes place within namespace <DataIdentifier-Namespace> via header file #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" [SWS_DM_00585]. The synchronous call is specified as noexcept and possesses the properties "exception safe" and "thread-safe" [SWS_DM_00585].

The function accepts the following input parameters [SWS_DM_00585]:

  • instanceSpec (ara::core::InstanceSpecifier): Identifier of the concrete instance of a service [SWS_DM_00585].
  • concurrencyType (ara::diag::ConcurrencyType): Defines whether the interface is operated thread-safely with kConcurrent or non-thread-safely with kNotConcurrent [SWS_DM_00585].

Error Handling and Modeling Rules

The function provides no return value and throws no exceptions. Instead, errors in configuration or modeling lead to defined violations [SWS_DM_00585]:

  • InstanceSpecifierMappingIntegrityViolation: The instanceSpec cannot be resolved in the context of the executable or does not refer to a PortPrototype [SWS_DM_00585].
  • PortInterfaceMappingViolation: A PortPrototype typed by DiagnosticDataIdentifierInterface is not referenced by a DiagnosticDataPortMapping [SWS_DM_00585].
  • ProcessMappingViolation: No matching modeled process exists for the current runtime process for the instance reference [SWS_DM_00585].
  • InstanceSpecifierAlreadyInUseViolation: The constructor was called with a instanceSpec that is already in use in the current process [SWS_DM_00585].

Interpretation: Since the function is declared as noexcept, identified violations are likely treated internally by the framework as critical initialization errors. Question Q-8616025446bf33f2 (open)

Concurrency

The constructor function itself is implemented thread-safe [SWS_DM_00585]. Argument concurrencyType controls whether subsequent interface calls on the instance may occur concurrently [SWS_DM_00585].

This usage note was generated automatically based on the specification.

Implementer's Guide to follow (complexity I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is typed by a pingViolation DiagnosticDataIdentifierInterface needs to be referenced by a DiagnosticDataPortMapping. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
instanceSpecThe specifier of a specific instance of a service.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent)..

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

Record
AUTOSAR/AP/record/SWS_DM_00585
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00585@rel:R25-11#424df92c
Content hash
424df92c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00585
Status: valid/unmigrated Version: rel:R25-11#4e8f5fe5 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00585@rel:R25-11#4e8f5fe5
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#424df92c2026-09-30
  • R19-11rel:R19-11#420e87cb2026-10-14
  • R20-11rel:R20-11#6d8ab4df2026-10-14
  • R21-11rel:R21-11#c7e8234c2026-10-14
  • R22-11rel:R22-11#5168b3b22026-10-14
  • R23-11rel:R23-11#c7617fcf2026-10-14
  • R24-11rel:R24-11#9629e2942026-10-14
  • R25-11rel:R25-11#4e8f5fe52026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function <DataIdentifierInterface> [SWS_DM_01665] Upstream: RS_AP_00147

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

Copy constructor deletion

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

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

Record
AUTOSAR/AP/record/SWS_DM_01665
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01665@rel:R25-11#ae00ab68
Content hash
ae00ab68
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01665
Status: valid/unmigrated Version: rel:R25-11#d2f9729a Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01665@rel:R25-11#d2f9729a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ae00ab682026-09-30
  • R23-11rel:R23-11#c667bc4b2026-10-14
  • R24-11rel:R24-11#fa08505b2026-10-14
  • R25-11rel:R25-11#d2f9729a2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function <DataIdentifierInterface> [SWS_DM_01666] Upstream: RS_AP_00147

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

Move constructor

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

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

Record
AUTOSAR/AP/record/SWS_DM_01666
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01666@rel:R25-11#37eed7f8
Content hash
37eed7f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01666
Status: valid/unmigrated Version: rel:R25-11#3ab93d5e Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01666@rel:R25-11#3ab93d5e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#37eed7f82026-09-30
  • R23-11rel:R23-11#eaf209332026-10-14
  • R24-11rel:R24-11#8925cf032026-10-14
  • R25-11rel:R25-11#3ab93d5e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function Offer [SWS_DM_00599] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169, RS_Diag_04224

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

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

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

Usage and Call Context

The synchronous method Offer() enables Diagnostic Management (DM) to forward incoming diagnostic requests to the respective instance of <DataIdentifierInterface> ([SWS_DM_00599]). The function takes no input parameters and is specified as noexcept ([SWS_DM_00599]). Interpretation: The call is likely to occur typically during the initialization phase of the application, as the DM cannot deliver requests prior to offering. Question Q-4ba81ff234a09f46 (open)

Error Handling and Return Values

ara::core::Result<void> serves as the return value ([SWS_DM_00599]). If registration was successful, the result contains no value. If the handler was already offered previously, the call fails and returns the error code DiagOfferErrc::kAlreadyOffered with rollback semantics ([SWS_DM_00599]; cf. [SWS_DM_00514]).

Concurrency and Limitations

The function ensures exception safety (exception safe), but is explicitly specified as not thread-safe (not thread-safe) ([SWS_DM_00599]). Parallel calls on the same instance must be synchronized by the application.

Interaction

The offering pattern corresponds to the uniform activation approach in the DM: Analogous Offer() methods exist for generic identifiers ([SWS_DM_00638]), data elements ([SWS_DM_00597]), routines ([SWS_DM_00557], [SWS_DM_00594]), and DoIP services ([SWS_DM_00725], [SWS_DM_00735]). As long as Offer() has not been executed, the DM does not forward any requests to the handler and responds with default values for DoIP services ([SWS_DM_01525], [SWS_DM_01527]).

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

Implementer's Guide to follow (complexity I2)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_00599
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00599@rel:R25-11#8a80b11d
Content hash
8a80b11d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00599
Status: valid/unmigrated Version: rel:R25-11#b1695320 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00599@rel:R25-11#b1695320
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8a80b11d2026-09-30
  • R19-11rel:R19-11#ca894da82026-10-14
  • R20-11rel:R20-11#cb4154752026-10-14
  • R21-11rel:R21-11#1465258e2026-10-14
  • R22-11rel:R22-11#cb17bfe82026-10-14
  • R23-11rel:R23-11#209914022026-10-14
  • R24-11rel:R24-11#713a92052026-10-14
  • R25-11rel:R25-11#b16953202026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function Read [SWS_DM_00640] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

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

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

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

use

The method Read serves to provide data of a diagnostic data identifier (DataIdentifier) in the reader role of a DiagnosticDataIdentifierInterface [SWS_DM_00640]. The call is made asynchronously by the Diagnostic Manager (DM) upon external diagnostic requests AUTOSAR_AP_SWS_Diagnostics p. 143 §7.3.2.6.1 “NRCs created by application”. As parameters, metaInfo for evaluating the request properties as well as a cancellationHandler are passed [SWS_DM_00640]. The processing application can query the cancellation status via cancellationHandler.IsCanceled() or register a callback by means of cancellationHandler.SetNotifier() in case the session is canceled prematurely [SWS_DM_00640]. The result is returned asynchronously as ara::core::Future with a ReadOutput object [SWS_DM_00640], [SWS_DM_00579].

Error handling

The function is specified as exception safe and must not propagate any exceptions to the outside [SWS_DM_00640]. If an error occurs during data retrieval, the application returns a negative return value in the ara::core::Future in the form of a matching UDS error code (NRC according to ISO 14229-1 via DiagUdsNrcErrc) or a ApApplicationError [SWS_DM_00640], AUTOSAR_AP_SWS_Diagnostics p. 143 §7.3.2.6.1 “NRCs created by application”.

Concurrency and Interaction

The interface function is not thread-safe by default [SWS_DM_00640]. Concurrent execution of read and write accesses by the Diagnostic Manager is governed by the type ara::diag::DataIdentifierConcurrencyType::readWrite, which defaults to kNotConcurrent [SWS_DM_00939]. Related read operations exist for individual data elements via DiagnosticDataElementInterface [SWS_DM_00596] as well as for generic identifiers [SWS_DM_00636].

This text was generated by an AI based on the AUTOSAR Adaptive R25-11 specification.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00640
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00640@rel:R25-11#2edc9067
Content hash
2edc9067
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00640
Status: valid/unmigrated Version: rel:R25-11#09d4ff6e Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00640@rel:R25-11#09d4ff6e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2edc90672026-09-30
  • R19-11rel:R19-11#6713bf032026-10-14
  • R20-11rel:R20-11#8a573eb02026-10-14
  • R21-11rel:R21-11#5d209a572026-10-14
  • R22-11rel:R22-11#d59456d32026-10-14
  • R23-11rel:R23-11#d388add12026-10-14
  • R24-11rel:R24-11#05b336912026-10-14
  • R25-11rel:R25-11#09d4ff6e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function StopOffer [SWS_DM_00600] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM

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

The StopOffer method uninstalls the forwarding of incoming diagnostic requests from Diagnostic Management (DM) to the specific interface instance [SWS_DM_00600]. By issuing the call, the adaptive application signals that it is temporarily or permanently no longer available to process requests for this DataIdentifier.

Usage and Semantics

The call is synchronous, parameterless, and returns no value [SWS_DM_00600]. The generated interface file #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" must be included as the header [SWS_DM_00600]. The naming follows the pattern known from ara::com, but represents an independent interface of the diagnostic domain AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”.

Error Handling and Concurrency

  • Exception safety: The function is declared with noexcept and guarantees complete exception safety (exception safe) [SWS_DM_00600]. No exceptions are thrown.
  • Thread safety: The operation is specified as not thread-safe [SWS_DM_00600]. The call must be synchronized so that no parallel access to the same interface instance occurs.

Interaction

The behavior corresponds to the uniform deactivation pattern of Diagnostic Management, as also defined analogously for related interfaces such as routines [SWS_DM_00558], generic data elements [SWS_DM_00639], or download services [SWS_DM_00793]. After successful deactivation, incoming requests from the DM to this DataIdentifier are no longer forwarded to the application handler [SWS_DM_00600]; the DM is then expected to generate corresponding negative response codes. Question Q-d301740d097f9946 (open)

This usage note is based on the definitions in the AUTOSAR AP R25-11 specification.

Implementer's Guide to follow (complexity I2)

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

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00600
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00600@rel:R25-11#22b51647
Content hash
22b51647
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00600
Status: valid/unmigrated Version: rel:R25-11#06007200 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00600@rel:R25-11#06007200
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#22b516472026-09-30
  • R19-11rel:R19-11#086a57212026-10-14
  • R20-11rel:R20-11#b9a8e5302026-10-14
  • R21-11rel:R21-11#c2bf51c22026-10-14
  • R22-11rel:R22-11#008226012026-10-14
  • R23-11rel:R23-11#4ba8fcde2026-10-14
  • R24-11rel:R24-11#095120152026-10-14
  • R25-11rel:R25-11#060072002026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function Write [SWS_DM_00598] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

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

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

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

The interface function serves to provide a writing DataIdentifier (DID) in the role Write in a type-safe manner [SWS_DM_00598]. It is called by the Diagnostic Server instance upon incoming diagnostic requests of UDS service 0x2E (WriteDataByIdentifier) [SWS_DM_00186], provided that the DID is supported in the system and the checks of the active diagnostic session and the security level were successfully passed [SWS_DM_00415] [SWS_DM_00416] [SWS_DM_00417]. In contrast to the generic variant with raw byte span [SWS_DM_00637], the method binds model-specifically typed input parameters [SWS_DM_00598].

  • Parameters: In addition to the generated input arguments, the method receives meta-information about the request via metaInfo as well as a cancellationHandler [SWS_DM_00598]. Via the cancellation handler, the application can check via IsCanceled whether the conversation was canceled, or register a notification for the cancellation case with SetNotifier [SWS_DM_00598].
  • Return value and error handling: Execution is asynchronous via ara::core::Future<void> [SWS_DM_00598]. In the case of success, the future returns type void. In the error case, an applicable UDS NRC according to ISO 14229-1 via ara::diag::DiagUdsNrcErrc or a corresponding ApplicationError must be returned [SWS_DM_00598]. The function is declared as exception-safe (exception safe) [SWS_DM_00598].
  • Concurrency: The method is classified as not thread-safe (not thread-safe) [SWS_DM_00598]. Whether read and write accesses may be called in parallel by Diagnostic Management is controlled via the configuration element readWrite in DataIdentifierConcurrencyType [SWS_DM_00939].

This usage note was created automatically based on the AUTOSAR specification.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
{<data-identifier-in-arg-symbol-0toN>}The symbol name of method argument[0..N] in the ordered list of method arguments, with ClientServerOperation. direction == in given by ClientServerOperation. ArgumentDataPrototype[0..N]. shortName
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< void >• If successful: an ara::core::Future containing a void. • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or Ap ApplicationError.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00598
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00598@rel:R25-11#72cee5e4
Content hash
72cee5e4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00598
Status: valid/unmigrated Version: rel:R25-11#bdb87168 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00598@rel:R25-11#bdb87168
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#72cee5e42026-09-30
  • R19-11rel:R19-11#0d590eb92026-10-14
  • R20-11rel:R20-11#8b24b94a2026-10-14
  • R21-11rel:R21-11#6fc896c62026-10-14
  • R22-11rel:R22-11#e1f8fedf2026-10-14
  • R23-11rel:R23-11#f147daab2026-10-14
  • R24-11rel:R24-11#911d64682026-10-14
  • R25-11rel:R25-11#bdb871682026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function operator= [SWS_DM_01663] Upstream: RS_AP_00147

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

Copy assignment constructor deletion

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

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

Record
AUTOSAR/AP/record/SWS_DM_01663
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01663@rel:R25-11#e8fc0e1d
Content hash
e8fc0e1d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01663
Status: valid/unmigrated Version: rel:R25-11#84430c7f Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01663@rel:R25-11#84430c7f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e8fc0e1d2026-09-30
  • R23-11rel:R23-11#32ce8d7c2026-10-14
  • R24-11rel:R24-11#d7cea82e2026-10-14
  • R25-11rel:R25-11#84430c7f2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function operator= [SWS_DM_01664] Upstream: RS_AP_00147

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

Move assignment constructor

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

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

Record
AUTOSAR/AP/record/SWS_DM_01664
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01664@rel:R25-11#38d95984
Content hash
38d95984
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01664
Status: valid/unmigrated Version: rel:R25-11#22a1078d Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01664@rel:R25-11#22a1078d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#38d959842026-09-30
  • R23-11rel:R23-11#e483c5232026-10-14
  • R24-11rel:R24-11#8aad364b2026-10-14
  • R25-11rel:R25-11#22a1078d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function ~<DataIdentifierInterface> [SWS_DM_00586] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<DataIdentifierInterface6> ();

Destruction of a DataIdentifier

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

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

Record
AUTOSAR/AP/record/SWS_DM_00586
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00586@rel:R25-11#5bb9ad31
Content hash
5bb9ad31
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00586
Status: valid/unmigrated Version: rel:R25-11#30bedd44 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00586@rel:R25-11#30bedd44
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#5bb9ad312026-09-30
  • R19-11rel:R19-11#e08946d32026-10-14
  • R20-11rel:R20-11#74e8f77a2026-10-14
  • R21-11rel:R21-11#42adefc82026-10-14
  • R22-11rel:R22-11#6fb7460b2026-10-14
  • R23-11rel:R23-11#b224e2552026-10-14
  • R24-11rel:R24-11#0c307cd32026-10-14
  • R25-11rel:R25-11#30bedd442026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Documentation of constants / variables

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

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Member declaration representing an out argument in an Output.

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

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

Record
AUTOSAR/AP/record/SWS_DM_80013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_80013@rel:R25-11#563214cb
Content hash
563214cb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_80013
Status: valid/unmigrated Version: rel:R25-11#a48f634f Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_80013@rel:R25-11#a48f634f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#563214cb2026-09-30
  • R24-11rel:R24-11#866631f72026-10-14
  • R25-11rel:R25-11#a48f634f2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill