DEENESPTFRRUARHIKOZHNL

classe <DataElement-Namespace>::<DataElementInterface>

[SWS_DM_00603] Upstream: RS_Diag_04169

class <DataElementInterface> {...};

DiagnosticDataElementInterface class

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

Guide utilisateurGÉNÉRÉ PAR IA

Permet aux applications de fournir et de répondre à des requêtes de lecture de diagnostic pour le Diagnostic Manager.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 70357181b1bf Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet aux applications de fournir et de répondre à des requêtes de lecture de diagnostic pour le Diagnostic Manager.

L'interface sert aux applications Adaptive à fournir des données de diagnostic pour les accès en lecture du Diagnostic Management. Après l'instanciation via un spécificateur d'instance, l'application doit activement proposer le service afin que les requêtes de lecture entrantes puissent être reçues [SWS_DM_00597]. Les requêtes entrantes sont traitées via la méthode de lecture asynchrone, qui fournit les données de sortie demandées ou des codes de retour négatifs dans une valeur future [SWS_DM_00596]. Les opérations de copie et de déplacement étant supprimées, chaque instance est liée de manière fixe à son contexte.

Contexte

La classe C++ générée <DataElementInterface> fait office, au sein du cluster fonctionnel diag (AUTOSAR Adaptive Platform), d'interface serveur standardisée pour la mise à disposition de données de diagnostic lisibles AUTOSAR_AP_SWS_Diagnostics p. 68. Concrètement, elle modélise un DiagnosticDataElementInterface dans le rôle read, par l'intermédiaire duquel une application Adaptive transmet des valeurs de données pour des requêtes de diagnostic (comme UDS ReadDataByIdentifier) au Diagnostic Manager (DM) [SWS_DM_00596].

Les partenaires d'interaction essentiels sont le Diagnostic Management du démon de plateforme, qui coordonne les requêtes de diagnostic entrantes, ainsi que l'application Adaptive d'implémentation, qui hérite de cette interface et en formule la logique de fourniture. L'instanciation et l'association à l'architecture logicielle s'effectuent via un prototype de port modélisé, raccordé par l'intermédiaire d'un ara::core::InstanceSpecifier [SWS_DM_00587]. Les données de sortie sont alors encapsulées dans une structure spécifique au type, dont les arguments sont représentés par des éléments de sortie correspondants [SWS_DM_80023], [SWS_DM_00581].

Cycle de vie

La création d'une instance s'effectue via le constructeur en spécifiant le ara::core::InstanceSpecifier ainsi que le mode de concurrence ara::diag::ConcurrencyType [SWS_DM_00587]. Afin de préserver une association univoque au sein du processus, le constructeur de copie ainsi que le constructeur de déplacement sont supprimés [SWS_DM_01661], [SWS_DM_01662]. De même, les opérateurs d'assignation par copie et par déplacement sont explicitement supprimés [SWS_DM_01659], [SWS_DM_01660]. Une instance reste ainsi attachée de manière fixe à son adresse de création.

En ce qui concerne son fonctionnement, l'objet passe par des phases définies :

  • Non proposé (Not Offered) : après la construction, l'objet se trouve d'abord dans un état inactif dans lequel le DM ne délivre aucune requête de lecture.
  • Proposé (Offered) : l'appel de Offer() active le service auprès du DM, de sorte que les requêtes de lecture entrantes soient transmises [SWS_DM_00597].
  • Désinscrit : l'appel de StopOffer() désactive le transfert des futures requêtes de diagnostic par le DM [SWS_DM_00617].
  • Destruction : le destructeur virtuel ~<DataElementInterface>() met fin au cycle de vie de l'instance d'interface [SWS_DM_00588].

Tandis que le constructeur est spécifié comme thread-safe [SWS_DM_00587], Offer(), StopOffer(), Read() et le destructeur ne sont pas thread-safe [SWS_DM_00597], [SWS_DM_00617], [SWS_DM_00596], [SWS_DM_00588]. Le paramètre concurrencyType du constructeur détermine si l'implémentation du gestionnaire est exécutée en mode thread-safe (kConcurrent) ou non thread-safe (kNotConcurrent) [SWS_DM_00587].

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

Diagramme d'états : phases d'état d'une instance d'interface entre l'initialisation, l'état de publication et la destruction. Sources : [SWS_DM_00587], [SWS_DM_00597], [SWS_DM_00617], [SWS_DM_00588].

Parcours d'utilisation

Le déroulement standard pour l'interrogation de données suit une séquence d'étapes définie :

  1. Instanciation : l'application instancie la classe de gestionnaire dérivée avec le instanceSpec et le concurrencyType souhaités [SWS_DM_00587].
  2. Mise à disposition du service : l'application appelle Offer(), ce qui permet au DM de transférer les requêtes de lecture [SWS_DM_00597].
  3. Traitement des requêtes de lecture : lorsqu'une requête de lecture parvient au DM, celui-ci appelle la méthode purement virtuelle Read(metaInfo, cancellationHandler) sur le gestionnaire [SWS_DM_00596]. L'application évalue metaInfo et peut vérifier via cancellationHandler.IsCanceled() si la conversation a été interrompue, ou enregistrer un callback via cancellationHandler.SetNotifier [SWS_DM_00596].
  4. Retour d'information : Interprétation : la détermination effective des données de sortie devrait typiquement s'effectuer de manière asynchrone ; le résultat est mis à disposition dans un ara::core::Future avec l'objet ReadOutput correspondant [SWS_DM_00596], [SWS_DM_00581]. Question Q-ce317bd1275e4fd9 (ouverte)
  5. Arrêt du service : avant l'arrêt complet, l'application appelle StopOffer() pour empêcher le transfert [SWS_DM_00617], suivi de la destruction de l'objet [SWS_DM_00588].
Séquence d’appel pour la mise à disposition et la lecture d’un élément de données de diagnosticGestion des diagnosticsDataElement HandlerAnwendungskernUse Case: DienstregistrierungOffer()Result<void> (kSuccess)Use Case: Leseanfrage verarbeitenRead(metaInfo, cancellationHandler)Daten abfragen / ermittelnaltErfolgreich gelesenReadOutput bereitstellenFuture avec ReadOutputFehlerfall / NRCFehler aufgetretenFuture avec DiagUdsNrcErrcUse Case: DienstabmeldungStopOffer()

Diagramme de séquence : séquence d'appels depuis l'enregistrement du service jusqu'à la désinscription, en passant par la lecture asynchrone. Sources : [SWS_DM_00597], [SWS_DM_00596], [SWS_DM_00617].

Scénarios d'erreur

En cas d'erreur, les différentes phases du cycle de vie doivent être examinées distinctement :

Dès la construction, des violations d'intégrité peuvent survenir et être signalées par des violations spécifiques [SWS_DM_00587] :

  • InstanceSpecifierMappingIntegrityViolation : le spécificateur d'instance ne peut pas être résolu dans le modèle de l'exécutable ou ne fait pas référence à un PortPrototype.
  • PortInterfaceMappingViolation : un PortPrototype typé par le DiagnosticDataElementInterface n'est pas référencé par un DiagnosticDataPortMapping.
  • ProcessMappingViolation : une InstanceRef correspondante existe bien, mais aucun processus modélisé correspondant au processus d'exécution n'a été trouvé.
  • InstanceSpecifierAlreadyInUseViolation : le constructeur a été appelé avec un InstanceSpecifier qui est déjà utilisé dans le processus actuel.

Si Offer() est appelé pour un service déjà proposé, la méthode renvoie un ara::core::Result avec le code d'erreur DiagOfferErrc::kAlreadyOffered (sémantique de rollback) [SWS_DM_00597].

Si une requête de lecture ne peut pas être traitée avec succès dans Read(), le ara::core::Future retourné doit contenir un Negative Response Code (NRC) ISO 14229-1 correspondant via DiagUdsNrcErrc ou un ApApplicationError [SWS_DM_00596].

Ce guide est basé sur la spécification AUTOSAR AP Release R25-11 et résume les exigences du module diag.

Carte des membres

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

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

Surcharges <DataElementInterface> 3
<DataElementInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_00587
<DataElementInterface2> (const <DataElementInterface2> &other)=delete; SWS_DM_01661
<DataElementInterface4> (<DataElementInterface4> &&other)=delete; SWS_DM_01662
Offer fonction

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

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

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

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

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;

Destruction of a DataElement

virtual ~<DataElementInterface6> () noexcept;

Opérateurs

operator= fonction 2

Copy assignment constructor deletion

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

Constantes

Member declaration representing an out argument in an Output.

<DataElementOutArgType> <DataElementOutArg>;

Types imbriqués

Documentation des méthodes

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

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 838df6a198bf Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction constructeur [SWS_DM_00587] sert à instancier un <DataElementInterface> via un ara::core::InstanceSpecifier conformément à AUTOSAR_AP_SWS_Diagnostics §8.28.2.2.1.6.

Utilisation et paramètres :

  • instanceSpec : spécifie l'instance concrète du service dans le contexte du modèle.
  • concurrencyType : détermine le comportement de concurrence et définit si l'interface est exécutée de manière sûre du point de vue des threads (kConcurrent) ou non sûre du point de vue des threads (kNotConcurrent).

Concurrence et sécurité face aux exceptions : la fonction est déclarée comme noexcept et classée dans la spécification comme thread-safe ainsi qu'exception-safe [SWS_DM_00587].

Gestion des erreurs et violations de modélisation : les erreurs n'entraînent pas d'exceptions C++, mais des violations spécifiées :

  • InstanceSpecifierMappingIntegrityViolation : survient lorsque instanceSpec n'est pas résoluble dans le contexte du processus ou ne renvoie pas à un PortPrototype.
  • PortInterfaceMappingViolation : signalé lorsqu'un PortPrototype typé via DiagnosticDataElementInterface n'est pas référencé par un DiagnosticDataPortMapping.
  • ProcessMappingViolation : présent lorsqu'une référence d'instance existe, mais qu'aucun processus modélisé correspondant au processus d'exécution n'existe.
  • InstanceSpecifierAlreadyInUseViolation : envoyé lorsque le instanceSpec est déjà occupé dans le même processus par un appel de constructeur.

Cette note d'utilisation a été générée de manière automatisée sur la base d'AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I1)

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

Parameter (in)

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

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

Record
AUTOSAR/AP/record/SWS_DM_00587
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00587@rel:R25-11#7d4df103
Content hash
7d4df103
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00587
Status: valid/unmigrated Version: rel:R25-11#3137c965 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00587@rel:R25-11#3137c965
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#5035bc322026-09-30
  • R19-11rel:R19-11#362db1312026-10-14
  • R20-11rel:R20-11#2280335d2026-10-14
  • R21-11rel:R21-11#90eaccce2026-10-14
  • R22-11rel:R22-11#163504222026-10-14
  • R23-11rel:R23-11#bbe3ec942026-10-14
  • R24-11rel:R24-11#5f9d4fbd2026-10-14
  • R25-11rel:R25-11#3137c9652026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction <DataElementInterface> [SWS_DM_01661] Upstream: RS_AP_00147

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

Copy constructor deletion

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

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

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

fonction <DataElementInterface> [SWS_DM_01662] Upstream: RS_AP_00147

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

Move constructor

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

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

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

fonction Offer [SWS_DM_00597] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169, RS_Diag_04224

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9d47ee9edbd8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode synchrone Offer d'un DataElementInterface active le réacheminement des requêtes de diagnostic entrantes par le démon Diagnostic Management (DM) vers le handler associé ([SWS_DM_00597]). Elle ne prend aucun paramètre, garantit la sécurité face aux exceptions (exception safe / noexcept) et renvoie un ara::core::Result<void> ([SWS_DM_00597]).

Les exigences suivantes s'appliquent à la gestion des erreurs, à la concurrence et à l'ordre des opérations :

  • Gestion des erreurs : Si le service a déjà été proposé auparavant, l'appel échoue et renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered avec une sémantique de rollback ([SWS_DM_00597]).
  • Concurrence : La fonction est spécifiée comme non thread-safe (not thread-safe) ([SWS_DM_00597]). Les appels simultanés sur la même instance doivent être synchronisés du côté de l'application.
  • Conditions d'ordonnancement : Tant que Offer n'a pas été appelé par l'Adaptive Application, le DM ne transfère aucune requête au handler ou utilise des valeurs de repli internes ([SWS_DM_01525], [SWS_DM_01527]). L'appel devrait typiquement avoir lieu lors de la phase de démarrage de l'application (interprétation). Question Q-dca0925e698789c5 (ouverte)

Le concept de mise à disposition via Offer est également utilisé de manière cohérente avec d'autres handlers du DM tels que les routines ([SWS_DM_00594]) et les identifiants de données ([SWS_DM_00599]). Bien que la dénomination soit inspirée de ara::com, il s'agit d'une implémentation autonome du DM (SWS Diagnostics §7.3.4.1.2 « Monitors »).

Ce texte a été généré par une IA sur la base des données de la spécification.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

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

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_00597
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00597@rel:R25-11#1d482769
Content hash
1d482769
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00597
Status: valid/unmigrated Version: rel:R25-11#dc11c9cd Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00597@rel:R25-11#dc11c9cd
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#872cc3392026-09-30
  • R19-11rel:R19-11#aef2a6c42026-10-14
  • R20-11rel:R20-11#dc31bf0e2026-10-14
  • R21-11rel:R21-11#38b1f8ef2026-10-14
  • R22-11rel:R22-11#3ac4d67f2026-10-14
  • R23-11rel:R23-11#c2a3f2c12026-10-14
  • R24-11rel:R24-11#9279c3692026-10-14
  • R25-11rel:R25-11#dc11c9cd2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Read [SWS_DM_00596] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

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

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4be12ba12f01 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode Read sert à la mise à disposition d'un élément de données au sein d'une instance de DiagnosticDataElementInterface dans le rôle read [SWS_DM_00596]. L'appel est effectué de manière asynchrone par le Diagnostic Manager pour traiter des requêtes de lecture de diagnostic.

Utilisation et signature

L'interface renvoie un ara::core::Future avec un objet typé ReadOutput conformément à [SWS_DM_00581] [SWS_DM_00596]. L'implémentation traite la requête via les paramètres transmis :

  • metaInfo : Transmet des métainformations sur la requête de diagnostic entrante [SWS_DM_00596].
  • cancellationHandler : Permet de surveiller une interruption prématurée de la conversation de diagnostic via cancellationHandler.IsCanceled() ainsi que d'enregistrer une fonction de notification via cancellationHandler.SetNotifier() [SWS_DM_00596].

Gestion des erreurs et concurrence

Si l'élément de données ne peut pas être lu avec succès, le ara::core::Future ne renvoie pas de valeur mais une erreur. En tant que code d'erreur, un Negative Response Code (NRC) UDS approprié conformément à l'ISO 14229-1 doit être défini via DiagUdsNrcErrc ou un ApApplicationError [SWS_DM_00596]. La fonction est spécifiée comme noexcept et sûre face aux exceptions (exception safe).

Concernant le contexte d'exécution, Read est déclaré comme not thread-safe [SWS_DM_00596]. L'interaction correspond au modèle général des opérations de lecture de diagnostic adaptatives, telles qu'elles sont définies de manière analogue pour les identifiants de données ([SWS_DM_00640]) ou les enregistrements de données étendues ([SWS_DM_02156]).

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

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

Rückgabewert

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

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_DM_00596
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00596@rel:R25-11#50680a09
Content hash
50680a09
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00596
Status: valid/unmigrated Version: rel:R25-11#db56d6b8 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00596@rel:R25-11#db56d6b8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#46170e3a2026-09-30
  • R19-11rel:R19-11#27ec1d4b2026-10-14
  • R20-11rel:R20-11#7e478e7b2026-10-14
  • R21-11rel:R21-11#86f986be2026-10-14
  • R22-11rel:R22-11#d7f279f42026-10-14
  • R23-11rel:R23-11#05b772b12026-10-14
  • R24-11rel:R24-11#47e253022026-10-14
  • R25-11rel:R25-11#db56d6b82026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction StopOffer [SWS_DM_00617] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 91119add8e3c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode StopOffer sur l'interface <DataElement-Namespace>::<DataElementInterface> désactive le réacheminement des messages de requête entrants depuis le Diagnostic Management (DM) vers l'élément de données concerné [SWS_DM_00617]. L'appel s'effectue de manière synchrone, ne nécessite aucun paramètre de transmission et ne renvoie aucune valeur [SWS_DM_00617].

En ce qui concerne la gestion des erreurs, la fonction est spécifiée comme exception safe et déclarée avec noexcept [SWS_DM_00617]. Aucune exception C++ n'est déclenchée et aucun code d'erreur n'est renvoyé. Interprétation : la spécification ne prévoyant que la suppression du réacheminement des messages, l'appel de méthode ne devrait rejeter que les futures requêtes de diagnostic, tandis que les traitements déjà en cours au moment de l'appel restent inchangés. Question Q-a741bb87f41cfe59 (ouverte)

Concernant la concurrence, l'interface est définie comme not thread-safe [SWS_DM_00617]. Les appelants doivent donc sécuriser les accès parallèles à la même instance au moyen de mécanismes de synchronisation côté application. Bien que le nom ait été choisi par analogie avec ara::com, il s'agit d'une interface autonome spécifique au diagnostic du cluster fonctionnel Diagnostics AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ».

La désactivation s'intègre dans le modèle architectural global du DM : des méthodes StopOffer analogues existent pour les identifiants de données (Data Identifier) [SWS_DM_00600], les routines génériques [SWS_DM_00558], les services UDS génériques [SWS_DM_00620] ainsi que les demandes de réinitialisation [SWS_DM_01017], afin de mettre fin de manière contrôlée au réacheminement des requêtes vers le handler correspondant dans chaque cas.

Cette note d'utilisation a été générée de manière automatisée à partir de la spécification AUTOSAR AP R25-11.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00617
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00617@rel:R25-11#1f56be42
Content hash
1f56be42
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00617
Status: valid/unmigrated Version: rel:R25-11#f93e3c48 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00617@rel:R25-11#f93e3c48
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c087b5492026-09-30
  • R19-11rel:R19-11#4686d8712026-10-14
  • R20-11rel:R20-11#302902f52026-10-14
  • R21-11rel:R21-11#60b4eb6e2026-10-14
  • R22-11rel:R22-11#630d49a22026-10-14
  • R23-11rel:R23-11#d3c624d92026-10-14
  • R24-11rel:R24-11#a0e4aac82026-10-14
  • R25-11rel:R25-11#f93e3c482026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator= [SWS_DM_01659] Upstream: RS_AP_00147

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

Copy assignment constructor deletion

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

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

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

fonction operator= [SWS_DM_01660] Upstream: RS_AP_00147

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

Move assignment constructor

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

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

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

fonction ~<DataElementInterface> [SWS_DM_00588] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<DataElementInterface6> () noexcept;

Destruction of a DataElement

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_00588
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00588@rel:R25-11#923efd73
Content hash
923efd73
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00588
Status: valid/unmigrated Version: rel:R25-11#ad7733a4 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00588@rel:R25-11#ad7733a4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b88cfb3b2026-09-30
  • R19-11rel:R19-11#4c53dc262026-10-14
  • R20-11rel:R20-11#b2fa29ed2026-10-14
  • R21-11rel:R21-11#0f467e0d2026-10-14
  • R22-11rel:R22-11#b00f6d462026-10-14
  • R23-11rel:R23-11#28e88b432026-10-14
  • R24-11rel:R24-11#2cdc2f6c2026-10-14
  • R25-11rel:R25-11#ad7733a42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Documentation des constantes / variables

variable <DataElementOutArg> [SWS_DM_80023] Upstream: RS_Diag_04224, RS_Diag_04169

<DataElementOutArgType> <DataElementOutArg>;

Member declaration representing an out argument in an Output.

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

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

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