DEENESPTFRRUARHIKOZHNL

classe ara::diag::GenericDataIdentifier

[SWS_DM_00607] Upstream: RS_Diag_04169

class GenericDataIdentifier {...};

Generic DataIdentifier interface.

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

Guide utilisateurGÉNÉRÉ PAR IA

Permet aux applications de traiter de manière générique les requêtes de lecture et d'écriture UDS pour les identifiants de diagnostic.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 02c252ff66d0 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet aux applications de traiter de manière générique les requêtes de lecture et d'écriture UDS pour les identifiants de diagnostic.

La classe ara::diag::GenericDataIdentifier sert d'interface générique pour le traitement asynchrone des requêtes de lecture et d'écriture UDS relatives aux identifiants de diagnostic dans AUTOSAR Adaptive [SWS_DM_00636]. Après la liaison à un port et l'activation via Offer(), le Diagnostic Management transmet les requêtes aux méthodes implémentées [SWS_DM_00638]. En tant qu'instance singulière, l'objet ne peut être ni copié ni déplacé, tandis que la sécurité vis-à-vis des threads lors du traitement des requêtes est régie par la configuration de concurrence choisie lors du constructeur.

Contexte

La classe ara::diag::GenericDataIdentifier représente une interface de service générique au sein du cluster fonctionnel Diagnostic Management (DM) de l'AUTOSAR Adaptive Platform SWS Diagnostics §8.2 « GenericDataIdentifier ». Tandis que les interfaces spécifiques au type sont liées à des types de données modélisés de manière fixe, GenericDataIdentifier sert au traitement flexible d'identifiants de diagnostic (Data Identifiers, DID), pour lesquels l'identifiant 16 bits est transmis dynamiquement comme paramètre.

Trois rôles participent principalement au traitement de diagnostic :

  • Le testeur de diagnostic externe, qui adresse des services UDS standardisés tels que ReadDataByIdentifier (0x22) ou WriteDataByIdentifier (0x2E) au véhicule.
  • Le Diagnostic Management (DM), qui reçoit les requêtes de diagnostic, les valide et les transmet à l'instance d'application correspondante via des interfaces de port définies, pour autant que celle-ci ait été préalablement activée via Offer [SWS_DM_00638].
  • L'implémentation spécifique à l'application de GenericDataIdentifier, qui encapsule la logique de traitement proprement dite en fournissant les méthodes Read [SWS_DM_00636] et Write [SWS_DM_00637] et renvoie les données de manière asynchrone.

Cycle de vie

Une instance de ara::diag::GenericDataIdentifier est instanciée explicitement via son constructeur [SWS_DM_00634]. Ce faisant, l'appelant lie l'objet à un ara::core::InstanceSpecifier qui référence un PortPrototype d'un DiagnosticDataIdentifierGenericInterface modélisé. L'argument concurrencyType (de type DataIdentifierConcurrencyType) permet de définir si les requêtes sont transmises au gestionnaire de façon concurrente (kConcurrent) ou séquentielle (kNotConcurrent) [SWS_DM_00634].

En matière de possession et de durée de vie, GenericDataIdentifier est modélisé comme une instance singulière, non copiable et non déplaçable :

Après l'instanciation, l'objet se trouve dans l'état inactif ; le Diagnostic Management ne transmet pas encore de requêtes. Ce n'est que par l'appel de Offer() [SWS_DM_00638] que la transmission est activée. Afin de désactiver à nouveau la transmission des requêtes de diagnostic, l'application appelle StopOffer() [SWS_DM_00639]. La destruction de l'objet s'effectue via le destructeur virtuel [SWS_DM_00635].

Concernant la concurrence, le constructeur est sûr vis-à-vis des threads (thread-safe) [SWS_DM_00634]. En revanche, les méthodes administratives Offer() [SWS_DM_00638] et StopOffer() [SWS_DM_00639] ainsi que le destructeur [SWS_DM_00635] sont spécifiés comme non sûrs vis-à-vis des threads. La sécurité vis-à-vis des threads des méthodes Read et Write dépend de manière conditionnelle du concurrencyType choisi [SWS_DM_00636], [SWS_DM_00637].

lifecycle NichtInitialisiert Non initialisé Inaktiv Inaktiv (StopOffer) NichtInitialisiert->Inaktiv Konstruktor Aktiv Aktiv (Offer) Inaktiv->Aktiv Offer() Beendet Détruit Inaktiv->Beendet Destruktor Aktiv->Inaktiv StopOffer() Aktiv->Beendet Destruktor

Diagramme d'états : Cycle de vie et transitions d'état de l'instance de gestionnaire entre inactivité et disponibilité pour la transmission. Sources : [SWS_DM_00634], [SWS_DM_00638], [SWS_DM_00639], [SWS_DM_00635]

Parcours d'utilisation

Un cas d'usage typique pour le traitement des requêtes de diagnostic se décompose selon les étapes suivantes :

  1. Initialisation : l'application instancie sa classe de gestionnaire dérivée en spécifiant le InstanceSpecifier ainsi que la configuration de concurrence [SWS_DM_00634]. Interprétation : en pratique, cela devrait typiquement s'effectuer durant la phase d'initialisation du processus d'application. Question Q-32596fba68253958 (ouverte)
  2. Mise à disposition du service : l'application appelle Offer() sur [SWS_DM_00638]. Le Diagnostic Management active le réacheminement des requêtes DID entrantes.
  3. Traitement des requêtes :
    • Lorsqu'une demande de lecture arrive, le DM appelle la méthode Read(dataIdentifier, metaInfo, cancellationHandler) sur [SWS_DM_00636]. L'application vérifie l'identifiant 16 bits transmis et renvoie de manière asynchrone un ara::core::Future<OperationOutput>.
    • Lorsqu'une demande d'écriture arrive, le DM appelle Write(dataIdentifier, requestData, metaInfo, cancellationHandler) sur [SWS_DM_00637]. Les données utiles dans requestData restent valides jusqu'à ce que la promesse associée soit tenue ou que le traitement soit interrompu.
  4. Contrôle d'interruption : durant les opérations de longue durée, le gestionnaire peut vérifier via cancellationHandler.IsCanceled() si la conversation a été interrompue, ou enregistrer une fonction de notification via cancellationHandler.SetNotifier [SWS_DM_00636], [SWS_DM_00637].
  5. Désinscription du service : avant l'arrêt du gestionnaire, l'application appelle StopOffer() sur [SWS_DM_00639], ce par quoi le DM interrompt le réacheminement.
Déroulement d’une demande de lecture génériqueDiagnosetesterGestion des diagnosticsGenericDataIdentifierUse Case: DienstregistrierungOffer()Result<void> (Erfolg)Use Case: Leseanforderung (UDS 0x22)ReadDataByIdentifierRead(dataIdentifier, metaInfo, cancellationHandler)altDaten erfolgreich ermitteltFuture avec OperationOutputRéponse UDS positive avec donnéesFehlerfall / NRCFuture avec DiagUdsNrcErrcNegative UDS-Antwort (NRC)

Diagramme de séquence : interaction entre le testeur externe, le Diagnostic Management et GenericDataIdentifier lors d'une requête de lecture UDS. Sources : [SWS_DM_00638], [SWS_DM_00636]

Scénarios d'erreur

Des erreurs peuvent survenir au cours de différentes phases de l'interaction :

  • Violations de configuration et de mappage : si le InstanceSpecifier ne peut pas être résolu dans le modèle ou s'il ne référence pas un PortPrototype, une InstanceSpecifierMappingIntegrityViolation est présente [SWS_DM_00634]. Si l'affectation à un DiagnosticDataPortMapping est manquante, une PortInterfaceMappingViolation se produit [SWS_DM_00634]. Un mappage de processus manquant génère une ProcessMappingViolation, et un InstanceSpecifier déjà utilisé conduit à une InstanceSpecifierAlreadyInUseViolation [SWS_DM_00634].
  • Offre multiple : si Offer() est appelé alors que le service est déjà activement proposé, la méthode renvoie un ara::core::Result avec le code d'erreur DiagOfferErrc::kAlreadyOffered [SWS_DM_00638].
  • Erreurs de diagnostic fonctionnelles : si une requête de lecture ou d'écriture ne peut pas être traitée sur le plan fonctionnel, l'application ne renvoie pas d'état de succès dans le Future, mais un UDS-NRC (Negative Response Code) standardisé via DiagUdsNrcErrc conformément à l'ISO 14229-1 [SWS_DM_00636], [SWS_DM_00637].

Ce guide est basé sur la spécification AUTOSAR R25-11 et a été généré automatiquement.

Carte des membres

Constructeurs et destructeur

2

Opérateurs

1

Types imbriqués

1

Diagramme de classes

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

G nara__diag__GenericDataIdentifier357 GenericDataIdentifier + GenericDataIdentifier() + operator=() + ~GenericDataIdentifier() + Offer() + Read() + StopOffer() + Write()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

Class for an GenericDataIdentifier.

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

Destructor of class GenericDataIdentifier .

virtual ~GenericDataIdentifier () noexcept;

Méthodes

Offer fonction

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

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

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

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

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

void StopOffer () noexcept;
Write fonction

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

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

Opérateurs

operator= fonction 2

GenericDataIdentifier shall be a single not assignable instance.

Surcharges = 2

Types imbriqués

Documentation des méthodes

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

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

Class for an GenericDataIdentifier.

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

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticDataIdentifierGenericInterface.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent)

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

Record
AUTOSAR/AP/record/SWS_DM_00634
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00634@rel:R25-11#29bca927
Content hash
29bca927
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00634
Status: valid/unmigrated Version: rel:R25-11#71f09e07 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00634@rel:R25-11#71f09e07
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9d754b4c2026-09-30
  • R19-11rel:R19-11#281ed5b12026-10-14
  • R20-11rel:R20-11#c8b741432026-10-14
  • R21-11rel:R21-11#161554792026-10-14
  • R22-11rel:R22-11#55a5b7df2026-10-14
  • R23-11rel:R23-11#571dfcd62026-10-14
  • R24-11rel:R24-11#4a63e6522026-10-14
  • R25-11rel:R25-11#71f09e072026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GenericDataIdentifier [SWS_DM_01653] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not copy-able instance.

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

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

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

fonction GenericDataIdentifier [SWS_DM_01654] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete;

Move constructor of GenericDataIdentifier.

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

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

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

fonction Offer [SWS_DM_00638] Upstream: RS_AP_00139, RS_AP_00119, RS_Diag_04169

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

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

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

Utilisation : la méthode synchrone Offer de la classe ara::diag::GenericDataIdentifier ([SWS_DM_00638]) sert à enregistrer un gestionnaire d'identifiants de données générique auprès du Diagnostic Management (DM). Grâce à cet appel, le DM est autorisé à transférer les requêtes de diagnostic entrantes (Request Messages) pour l'identifiant de données concerné vers ce gestionnaire ([SWS_DM_00638]). La fonction ne prend aucun paramètre d'entrée et fournit de manière synchrone un ara::core::Result<void> ([SWS_DM_00638]), qui renseigne sur le succès ou l'échec.

Traitement des erreurs : la méthode est déclarée avec noexcept et garantit une sécurité totale vis-à-vis des exceptions (exception safe) ([SWS_DM_00638]). Les erreurs éventuelles sont signalées via le ara::core::Result. Si le gestionnaire a déjà été mis à disposition auparavant, la fonction renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered avec une sémantique de retour arrière ([SWS_DM_00638]). Celui-ci correspond à l'énumération générale des erreurs DiagErrc::kAlreadyOffered ([SWS_DM_00514]).

Concurrence et restrictions : la fonction est spécifiée comme non sûre pour les threads (not thread-safe) ([SWS_DM_00638]). Par conséquent, les appels sur la même instance doivent être protégés contre les accès. Étant donné qu'aucune méthode de désenregistrement distincte n'est spécifiée pour GenericDataIdentifier, l'offre de service devrait probablement être liée à la durée de vie de l'instance du gestionnaire (interprétation). Question Q-7c64a5bd308464a8 (ouverte)

Interaction : le procédé suit le patron de mise à disposition uniforme du Diagnostic Management. Des interfaces analogues se retrouvent pour les identifiants de données spécifiques à un type ([SWS_DM_00599]), les routines génériques ([SWS_DM_00557]) ainsi que les services UDS génériques ([SWS_DM_00619]).

Cette note d'utilisation a été générée par un système d'IA.

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

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_00638
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00638@rel:R25-11#81c5202f
Content hash
81c5202f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00638
Status: valid/unmigrated Version: rel:R25-11#1ea7c5d4 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00638@rel:R25-11#1ea7c5d4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d9e8c1292026-09-30
  • R19-11rel:R19-11#34f18c6b2026-10-14
  • R20-11rel:R20-11#f2c3beea2026-10-14
  • R21-11rel:R21-11#a7b6c9862026-10-14
  • R22-11rel:R22-11#533034aa2026-10-14
  • R23-11rel:R23-11#b980ade42026-10-14
  • R24-11rel:R24-11#198e42702026-10-14
  • R25-11rel:R25-11#1ea7c5d42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Read [SWS_DM_00636] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04172

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

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

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

Utilisation

La méthode Read de la classe ara::diag::GenericDataIdentifier est appelée dès qu'une requête de diagnostic pour ReadDataByIdentifier (UDS 0x22) est reçue pour l'identifiant de données concerné [SWS_DM_00636]. Comme paramètres, la fonction accepte l'identifiant numérique dataIdentifier, le contexte metaInfo ainsi qu'un cancellationHandler. Par le cancellationHandler, l'application peut interroger l'état d'annulation au moyen de IsCanceled ou enregistrer une fonction de notification pour les conversations interrompues via SetNotifier [SWS_DM_00636]. Le résultat est fourni de manière asynchrone via un ara::core::Future<OperationOutput>, qui renvoie les données utiles (OperationOutput) en cas de succès [SWS_DM_00636].

Gestion des erreurs

En cas d'erreur, le Future fournit une valeur de retour UDS négative (NRC) conformément à l'ISO 14229-1 via DiagUdsNrcErrc [SWS_DM_00636]. Si l'interface n'est pas encore ou n'est plus proposée via offer(), le Diagnostic Management (DM) répond de manière autonome avec le NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257]. Si la limite configurée de messages Response Pending est atteinte, le serveur interrompt le traitement et répond avec le NRC 0x10 (generalReject) [SWS_DM_00369].

Concurrence et interaction

La méthode est déclarée comme noexcept et est sûre vis-à-vis des exceptions [SWS_DM_00636]. Sa sécurité vis-à-vis des threads est conditionnelle : le fait que l'implémentation doive être sûre pour les threads est contrôlé par le ConcurrencyType transmis dans le constructeur [SWS_DM_00636]. Si readWrite est défini sur kConcurrent, le DM est autorisé à lancer les accès en lecture et en écriture de manière concurrente, sinon (kNotConcurrent), l'appel a lieu de manière séquentielle [SWS_DM_00939]. À la différence d'interfaces spécifiques telles que [SWS_DM_00640], GenericDataIdentifier couvre des plages de DID génériques de manière flexible grâce à l'ID transmis [SWS_DM_00636].

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 "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

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

Rückgabewert

TypBeschreibung
ara::core::Future<OperationOutput >A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message).

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_DM_00636
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00636@rel:R25-11#e87777a2
Content hash
e87777a2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00636
Status: valid/unmigrated Version: rel:R25-11#cfd80198 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00636@rel:R25-11#cfd80198
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#339b63522026-09-30
  • R19-11rel:R19-11#f8a15c312026-10-14
  • R20-11rel:R20-11#5e9a44792026-10-14
  • R21-11rel:R21-11#34887de02026-10-14
  • R22-11rel:R22-11#91d437d52026-10-14
  • R23-11rel:R23-11#6625968e2026-10-14
  • R24-11rel:R24-11#430ea0f32026-10-14
  • R25-11rel:R25-11#cfd801982026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction StopOffer [SWS_DM_00639] 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 : bd73a88bfde2 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction membre StopOffer de la classe ara::diag::GenericDataIdentifier sert à désactiver le routage des messages de requête entrants provenant du Diagnostic Management (DM) vers l'instance respective [SWS_DM_00639]. L'appel s'effectue de manière synchrone via l'interface du fichier d'en-tête #include "ara/diag/generic_data_identifier.h" [SWS_DM_00639]. La fonction possède la signature void StopOffer() noexcept;, ne prend aucun paramètre d'entrée et ne renvoie aucune valeur de retour [SWS_DM_00639].

Gestion des erreurs et concurrence

La spécification définit StopOffer comme sûre vis-à-vis des exceptions (exception safe) et garantit l'absence d'exceptions via l'identifiant noexcept [SWS_DM_00639]. Aucun code d'erreur spécifique, réaction aux erreurs ou message vers DET ou DEM n'est prévu pour cette opération. Concernant la concurrence, la méthode est classée comme non thread-safe (not thread-safe) [SWS_DM_00639]. Les appels parallèles sur la même instance doivent donc être synchronisés par l'appelant. Interprétation : les requêtes déjà commencées dans le Diagnostic Management devraient encore être traitées normalement avant l'arrêt définitif du routage. Question Q-94a464dc832c055c (ouverte)

Interaction au sein du module de diagnostic

Le modèle de retrait de la mise à disposition de service est standardisé et employé de manière cohérente dans le module de diagnostic. Des méthodes StopOffer analogues existent entre autres pour :

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

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

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00639
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00639@rel:R25-11#954c683d
Content hash
954c683d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00639
Status: valid/unmigrated Version: rel:R25-11#9225c34d Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00639@rel:R25-11#9225c34d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0466e7b52026-09-30
  • R19-11rel:R19-11#e360cf692026-10-14
  • R20-11rel:R20-11#1bc0f5cd2026-10-14
  • R21-11rel:R21-11#3b09d7582026-10-14
  • R22-11rel:R22-11#77376b4a2026-10-14
  • R23-11rel:R23-11#6009f72f2026-10-14
  • R24-11rel:R24-11#d3d4a13c2026-10-14
  • R25-11rel:R25-11#9225c34d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction Write [SWS_DM_00637] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170

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

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

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

La méthode Write de la classe ara::diag::GenericDataIdentifier est appelée par le Diagnostic Management dès qu'une requête UDS du service WriteDataByIdentifier (0x2E) est reçue [SWS_DM_00637]. Le prérequis pour l'appel est que l'identifiant de données demandé soit pris en charge et que la session de diagnostic ainsi que le niveau de sécurité respectifs autorisent l'exécution [SWS_DM_00186], [SWS_DM_00415], [SWS_DM_00416].

L'appel a lieu avec les paramètres suivants [SWS_DM_00637] :

  • dataIdentifier : l'identifiant 16 bits de l'identifiant de données à écrire.
  • requestData : un ara::core::Span contenant les données brutes de la requête sans préfixe DID. Le tampon reste valide jusqu'à ce que le Promise associé soit tenu ou que le traitement soit interrompu.
  • metaInfo : métadonnées supplémentaires relatives à la requête de diagnostic.
  • cancellationHandler : sert à surveiller une interruption prématurée de la conversation via IsCanceled ainsi qu'à enregistrer une notification d'interruption via SetNotifier.

L'exécution s'effectue de manière asynchrone et renvoie un ara::core::Future<void> [SWS_DM_00637]. En cas de traitement réussi, le Promise est tenu avec void pour un message de réponse positive. Si une erreur survient, le Future doit être complété avec une valeur de retour UDS négative (NRC) appropriée conformément à l'ISO 14229-1 via DiagUdsNrcErrc [SWS_DM_00637]. La méthode est déclarée comme noexcept et doit être implémentée de manière sûre vis-à-vis des exceptions [SWS_DM_00637].

Concernant la concurrence, la sécurité vis-à-vis des threads est conditionnelle : le fait que Write doive être implémenté de manière sûre pour les threads dépend du ConcurrencyType transmis dans le constructeur lors de l'instanciation [SWS_DM_00637]. Une exécution parallèle des accès en lecture et en écriture est contrôlée par le drapeau readWrite [SWS_DM_00939].

Ce texte a été généré par une IA. Toutes les indications reposent exclusivement sur les spécifications de la Release R25-11.

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

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
dataIdentifierthe corresponding DataIdentifier
requestDataContent of request message (without DataIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< void >A Future with either void (for a positive response message) or an UDS NRC value (for a negative response message).

Fehler

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

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

Record
AUTOSAR/AP/record/SWS_DM_00637
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00637@rel:R25-11#4db1986d
Content hash
4db1986d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00637
Status: valid/unmigrated Version: rel:R25-11#b7a94afa Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00637@rel:R25-11#b7a94afa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#889963442026-09-30
  • R19-11rel:R19-11#8d85d1592026-10-14
  • R20-11rel:R20-11#701ab1d02026-10-14
  • R21-11rel:R21-11#10093f0c2026-10-14
  • R22-11rel:R22-11#9b15c55f2026-10-14
  • R23-11rel:R23-11#a7e012442026-10-14
  • R24-11rel:R24-11#9c761e5e2026-10-14
  • R25-11rel:R25-11#b7a94afa2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator= [SWS_DM_01651] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not assignable instance.

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

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

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

fonction operator= [SWS_DM_01652] Upstream: RS_AP_00147

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

Move assignment operator of GenericDataIdentifier.

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

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

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

fonction ~GenericDataIdentifier [SWS_DM_00635] Upstream: RS_AP_00134, RS_Diag_04169

virtual ~GenericDataIdentifier () noexcept;

Destructor of class GenericDataIdentifier .

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_00635
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00635@rel:R25-11#bf8af52a
Content hash
bf8af52a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00635
Status: valid/unmigrated Version: rel:R25-11#fc24e0db Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00635@rel:R25-11#fc24e0db
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#882197f52026-09-30
  • R19-11rel:R19-11#ae023e7c2026-10-14
  • R20-11rel:R20-11#6892d8702026-10-14
  • R21-11rel:R21-11#cf811fb72026-10-14
  • R22-11rel:R22-11#0ec9aa792026-10-14
  • R23-11rel:R23-11#924c98d82026-10-14
  • R24-11rel:R24-11#fc24e0db2026-10-14
  • R25-11rel:R25-11#fc24e0db2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill