DEENESPTFRRUARHIKOZHNL

classe <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

[SWS_DM_02146] Upstream: RS_Diag_04169

class <ExtendedDataRecordElementInterface> {...};

DiagnosticExtendedDataRecordInterface class

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Forwarding-Header#include "<ExtendedDataRecordElementShortname>/_fwd.h"
Scopenamespace <ExtendedDataRecord-Namespace>

Guide utilisateurGÉNÉRÉ PAR IA

Sert à la mise à disposition, du côté applicatif, de données de diagnostic étendues pour le Diagnostic Management adaptatif.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0446a63ad449 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert à la mise à disposition, du côté applicatif, de données de diagnostic étendues pour le Diagnostic Management adaptatif.

La classe <ExtendedDataRecordElementInterface> sert d'interface aux applications adaptatives pour fournir des données de diagnostic étendues au Diagnostic Management ([SWS_DM_02152]). Après son instanciation et son activation via Offer(), le gestionnaire implémente la fourniture asynchrone des données par le biais de la méthode purement virtuelle Read() ([SWS_DM_02156]). Comme le Diagnostic Manager enregistre durablement les enregistrements de données dans la mémoire non volatile, les valeurs non disponibles doivent obligatoirement être complétées avec un motif de remplissage. L'interface n'est ni copiable ni déplaçable, et son destructeur n'est pas thread-safe.

Contexte

Dans le sous-système de diagnostic de l'AUTOSAR Adaptive Platform, l'interface <ExtendedDataRecordElementInterface> sert à fournir des données de diagnostic étendues spécifiques à l'application (Extended Data Records) au Diagnostic Management (DM) (AUTOSAR AP SWS Diagnostics §7.2 « DiagnosticExtendedDataRecordInterface »). Un Extended Data Record contient des données supplémentaires relatives au diagnostic, telles que des valeurs de compteurs ou des informations d'environnement, qui sont associées à un événement d'erreur. La classe fait office d'interface de base abstraite pour les composants de gestionnaire côté application. Les partenaires d'interaction comprennent le Diagnostic Manager (DM), qui demande et coordonne les opérations de lecture, l'implémentation concrète du gestionnaire au sein de l'application, ainsi que la mémoire non volatile (Non-Volatile Memory, NVM), dans laquelle le DM enregistre durablement les données récupérées ([SWS_DM_02156]). Interprétation : l'appel de Read() est probablement déclenché par un traitement de diagnostic interne au sein du DM, par exemple lors de la survenue d'un événement d'erreur ou lors de changements d'état d'un code de défaut de diagnostic. Question Q-f80be8c2bd5697fc (ouverte)

Context Handler ExtendedDataRecordElementInterface (Anwendungs-Handler) DM Diagnostic Management (DM) Handler->DM Offer() / StopOffer() DM->Handler Read(metaInfo, cancellationHandler) NVM Mémoire non volatile (NVM) DM->NVM Persistierung

Diagramme de contexte : interaction entre le gestionnaire applicatif, le Diagnostic Management et la mémoire non volatile. Sources : [SWS_DM_02152], [SWS_DM_02156], AUTOSAR AP SWS Diagnostics §7.2 « DiagnosticExtendedDataRecordInterface »

Cycle de vie

La création s'effectue via le constructeur paramétré en spécifiant un ara::core::InstanceSpecifier ainsi que le mode de concurrence ara::diag::ConcurrencyType ([SWS_DM_02158], AUTOSAR AP SWS Diagnostics §7.2 « DiagnosticExtendedDataRecordInterface »). La construction est thread-safe et sûre vis-à-vis des exceptions (exception safe). Le paramètre concurrencyType détermine si les appels de l'interface peuvent être traités de manière concurrente (kConcurrent) ou séquentielle (kNotConcurrent) ([SWS_DM_02158]). Les opérations de copie et de déplacement sont totalement interdites : le constructeur de copie ([SWS_DM_02147]), l'assignation par copie ([SWS_DM_02148]), le constructeur de déplacement ([SWS_DM_02149]) et l'assignation par déplacement ([SWS_DM_02150]) sont supprimés (=delete). Une instance possède ainsi une identité fixe et ne peut être ni dupliquée ni transférée.

Après l'instanciation, l'objet se trouve d'abord à l'état inactif. Ce n'est que par l'appel de Offer() ([SWS_DM_02152]) que le service est activé et que le DM achemine les requêtes vers le gestionnaire. Cette redirection peut être arrêtée à tout moment au moyen de StopOffer() ([SWS_DM_02153]). La destruction s'effectue via le destructeur virtuel ~<ExtendedDataRecordElementInterface>() ([SWS_DM_02151]). Bien que celui-ci soit sûr vis-à-vis des exceptions, il est explicitement non thread-safe (not thread-safe) ([SWS_DM_02151]). Interprétation : il est probable que StopOffer() doive être appelé avant de détruire l'objet gestionnaire, afin de garantir qu'aucune autre requête ne parvienne pendant la libération de l'objet. Question Q-c77dda63f0e8798a (ouverte)

Parcours d'utilisation

Le déroulement normal comprend la mise à disposition, la réponse asynchrone aux requêtes de lecture et la désactivation du service :

  • Initialisation : l'application instancie la classe dérivée avec l'identifiant de port approprié et la configuration de concurrence ([SWS_DM_02158]).
  • Offre de service : l'appel de Offer() active le réacheminement des requêtes dans le DM ([SWS_DM_02152]). La méthode renvoie un ara::core::Result<void>.
  • Récupération des données : lorsqu'une requête de lecture arrive, le DM appelle la méthode purement virtuelle Read() ([SWS_DM_02156]). Les métadonnées de requête (metaInfo) et un cancellationHandler sont alors transmis.
  • Gestion de l'annulation et retour : le gestionnaire peut vérifier via cancellationHandler.IsCanceled() si la conversation a été annulée, ou enregistrer une notification par le biais de cancellationHandler.SetNotifier() ([SWS_DM_02156]). Le résultat est fourni de manière asynchrone via un ara::core::Future avec un objet ReadOutput ([SWS_DM_02156], [SWS_DM_02154]).
  • Persistance : le DM prend en charge les données récupérées et les stocke durablement dans la mémoire non volatile ([SWS_DM_02156]).
  • Désinscription du service : avant l'arrêt, l'application appelle StopOffer() ([SWS_DM_02153]) pour mettre fin à l'acheminement par le DM avant que l'instance ne soit détruite ([SWS_DM_02151]).
Déroulement de la mise à disposition et de la lecture des Extended Data RecordsApplicationHandlerDMNVMUse Case: Initialisation et enregistrement du serviceKonstruktion(instanceSpec, concurrencyType)Offer()Registrierung aktivierenResult<void>Use Case: DiagnoseabfrageRead(metaInfo, cancellationHandler)Déterminer les données / motif de remplissage 0xFFFuture<ReadOutput>Persistance des données de l'enregistrementUse Case: DienstabmeldungStopOffer()Weiterleitung deaktivieren

Diagramme de séquence : déroulement typique de la mise à disposition et de l'interrogation des données. Sources : [SWS_DM_02152], [SWS_DM_02153], [SWS_DM_02156], [SWS_DM_02158]

Scénarios d'erreur

Lors de l'utilisation de l'interface, plusieurs conditions d'erreur et préconditions doivent être prises en compte :

  • Erreurs de construction et violations de modèle : des erreurs de modélisation peuvent survenir lors de l'appel du constructeur ([SWS_DM_02158]). Celles-ci incluent InstanceSpecifierMappingIntegrityViolation (l'identifiant ne peut pas être résolu ou ne référence aucun PortPrototype), PortInterfaceMappingViolation (absence de référencement par un DiagnosticDataPortMapping), ProcessMappingViolation (aucun processus correspondant trouvé dans le modèle) ainsi que InstanceSpecifierAlreadyInUseViolation (l'identifiant est déjà utilisé dans le processus) ([SWS_DM_02158]).
  • Offre multiple : si Offer() est appelé alors que le service est déjà activement proposé, l'appel échoue et renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered ([SWS_DM_02152]).
  • Données non disponibles lors des requêtes de lecture : étant donné que le DM enregistre les données dans la mémoire non volatile, une valeur doit obligatoirement être renvoyée lors d'un appel de Read() ([SWS_DM_02156]). Si des données ne sont pas disponibles au moment de la requête, l'implémentation du gestionnaire doit les compléter avec un motif de remplissage défini tel que 0xFF ([SWS_DM_02156]).
  • Erreurs applicatives et de diagnostic : si la fourniture des données échoue totalement, le ara::core::Future renvoyé peut contenir un code d'erreur NRC de diagnostic correspondant (DiagUdsNrcErrc) ou une erreur spécifique à l'application (ApApplicationError) ([SWS_DM_02156]).
  • Risque lors de la destruction : le destructeur n'étant pas thread-safe ([SWS_DM_02151]), la destruction de l'objet pendant des appels concurrents ou sans StopOffer() préalable ([SWS_DM_02153]) conduit à un comportement indéfini.

Ce guide a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Carte des membres

Diagramme de classes

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

G n_ExtendedDataRecord_Namespace____ExtendedDataRecordElementInterface_765 <ExtendedDataRecordElementInterface> + <ExtendedDataRecordElementOutArg> + Offer() + Read() + StopOffer() + operator=() + <ExtendedDataRecordElementInterface>() + ~<ExtendedDataRecordElementInterface>()

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

Copy constructor deletion

Surcharges <ExtendedDataRecordElementInterface> 3
<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete; SWS_DM_02147
<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete; SWS_DM_02149
<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_02158
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 ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

virtual ara::core::Future< <ExtendedDataRecordElement>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 ~<ExtendedDataRecordElementInterface6> () noexcept;

Opérateurs

operator= fonction 2

Copy assignment constructor deletion

Surcharges = 2
<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete; SWS_DM_02148
<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete; SWS_DM_02150

Constantes

Member declaration representing an out argument in an Output.

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

Types imbriqués

Documentation des méthodes

fonction <ExtendedDataRecordElementInterface> [SWS_DM_02147] Upstream: RS_AP_00147

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

Copy constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02147@rel:R25-11#763853b3
Content hash
763853b3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02147
Status: valid/unmigrated Version: rel:R25-11#b778fd1a Versionshistorie & Revisions (1 transition)
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_02147@rel:R25-11#b778fd1a
Point-in-Time History:
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 <ExtendedDataRecordElementInterface> [SWS_DM_02149] Upstream: RS_AP_00147

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

Move constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02149
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02149@rel:R25-11#ea3b3468
Content hash
ea3b3468
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02149
Status: valid/unmigrated Version: rel:R25-11#922c09b0 Versionshistorie & Revisions (1 transition)
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_02149@rel:R25-11#922c09b0
Point-in-Time History:
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 <ExtendedDataRecordElementInterface> [SWS_DM_02158] Upstream: RS_AP_00137

<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier 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 : 5f6f8ec51798 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction <ExtendedDataRecordElementInterface> sert de constructeur pour la création d'un DataElement pour une interface d'enregistrement de données étendues à l'aide d'un ara::core::InstanceSpecifier [SWS_DM_02158]. La déclaration est située dans la portée <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface> et requiert l'inclusion du fichier d'en-tête #include "<ExtendedDataRecordElementShortname>.h" AUTOSAR_AP_SWS_Diagnostics §8.49.2.2.1.6.

L'appel synchrone requiert deux paramètres d'entrée [SWS_DM_02158] :

  • instanceSpec (ara::core::InstanceSpecifier) : identifiant de l'instance de service concrète dans le modèle AUTOSAR.
  • concurrencyType (ara::diag::ConcurrencyType) : détermine si l'interface est instanciée de manière sûre pour les threads (kConcurrent) ou non sûre pour les threads (kNotConcurrent).

Concurrence et sécurité vis-à-vis des erreurs

La fonction de constructeur elle-même est déclarée comme noexcept et spécifiée comme thread-safe ainsi qu'exception safe [SWS_DM_02158]. Interprétation : la fonction étant définie comme noexcept, les erreurs de modélisation et d'initialisation ne devraient pas être signalées par des exceptions C++, mais par les violations définies dans le framework Adaptive [SWS_DM_02158]. Question Q-9ce91764c3e8364e (ouverte)

Gestion des erreurs et violations de modèle

En cas de configuration erronée du modèle ou d'identifiants non valides, des violations spécifiques se produisent [SWS_DM_02158] :

  • InstanceSpecifierMappingIntegrityViolation : l'identifiant ne peut pas être résolu dans le contexte du processus ou ne fait pas référence à un PortPrototype.
  • PortInterfaceMappingViolation : un PortPrototype typé par DiagnosticExtendedDataRecordInterface n'est pas référencé par un DiagnosticDataPortMapping.
  • ProcessMappingViolation : une InstanceRef correspondante existe, mais aucun processus modélisé adéquat n'a été trouvé pour le processus d'exécution.
  • InstanceSpecifierAlreadyInUseViolation : le constructeur a été appelé avec un InstanceSpecifier qui est déjà en cours d'utilisation dans le processus.

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

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
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 DiagnosticExtendedDataRecordInterface 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_02158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02158@rel:R25-11#b7622916
Content hash
b7622916
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02158
Status: valid/unmigrated Version: rel:R25-11#dc93a230 Versionshistorie & Revisions (1 transition)
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_02158@rel:R25-11#dc93a230
Point-in-Time History:
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_02152] 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 : e44e4ef775f3 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Offer active le transfert des requêtes de diagnostic par le démon Diagnostic Management (DM) vers l'instance correspondante du gestionnaire [SWS_DM_02152]. Elle est appelée sans paramètre et renvoie de manière synchrone un ara::core::Result<void>, déclarée comme noexcept et spécifiée comme exception-safe [SWS_DM_02152].

Les exigences suivantes s'appliquent pour une utilisation et une gestion des erreurs conformes :

  • Valeur de retour et erreurs : en cas de succès, le résultat contient une valeur vide. Si le service a déjà été enregistré auparavant pour cette instance de gestionnaire, l'appel échoue et renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered avec une sémantique de rollback [SWS_DM_02152]. Les domaines d'erreur associés définissent également pour cet état le code d'erreur kAlreadyOffered [SWS_DM_00514] [SWS_DM_00560].
  • Concurrence : contrairement à d'autres gestionnaires de diagnostic, qui sont fréquemment désignés comme non sûrs pour les threads (comme par exemple dans [SWS_DM_00557]), cette méthode est explicitement définie comme thread-safe [SWS_DM_02152].
  • Interaction dans le système : tant qu'une interface n'a pas encore été mise à disposition par l'application au moyen de Offer, le DM réagit, selon le contexte, avec des valeurs par défaut ou de substitution définies, comme par exemple avec l'état « Not ready » lors de requêtes DoIP-PowerMode [SWS_DM_01525] ou des valeurs de substitution pour des identifiants de groupe [SWS_DM_01527]. De plus, la spécification souligne que les fonctions d'offre de diagnostic sont spécifiques à ara::diag et ne doivent pas être confondues avec ara::com::Offer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ».

Interprétation : le comportement de retour synchrone de Offer devrait garantir que l'enregistrement du gestionnaire est entièrement achevé avant la réception de requêtes UDS ultérieures. Question Q-e6b2916cf4887164 (ouverte)

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_02152
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02152@rel:R25-11#8ef645c6
Content hash
8ef645c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02152
Status: valid/unmigrated Version: rel:R25-11#98647892 Versionshistorie & Revisions (1 transition)
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_02152@rel:R25-11#98647892
Point-in-Time History:
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_02156] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

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

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

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

Utilisation et sémantique

La méthode purement virtuelle Read est appelée par le Diagnostic Management (DM) afin de récupérer les données d'un ExtendedDataRecordElement depuis l'application ([SWS_DM_02156]). Étant donné que le DM enregistre durablement les données récupérées dans la mémoire non volatile, la méthode doit toujours fournir une valeur. Si des données ne sont pas disponibles au moment de l'appel, l'implémentation doit les compléter à l'aide d'un motif de remplissage tel que 0xFF ([SWS_DM_02156]).

L'exécution s'effectue de manière asynchrone et renvoie un ara::core::Future qui, en cas de succès, encapsule la structure ReadOutput ([SWS_DM_02154]). L'appel transmet les paramètres suivants ([SWS_DM_02156]) :

  • metaInfo : transmet les méta-informations de la requête de diagnostic sous-jacente.
  • cancellationHandler : permet d'interroger une interruption au moyen de cancellationHandler.IsCanceled() ainsi que d'enregistrer une fonction de notification via cancellationHandler.SetNotifier().

Gestion des erreurs

En cas d'erreur, le Future fournit un code de réponse négatif UDS (DiagUdsNrcErrc) ou une erreur spécifique à l'application (ApApplicationError) ([SWS_DM_02156], AUTOSAR_AP_SWS_Diagnostics §7.3.2.6.1 « NRCs created by application »). Si l'interface de service requise n'est pas encore ou n'est plus mise à disposition par offer(), le DM répond avec le NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). De plus, DiagOfferErrc::kAlreadyOffered signale si le service est déjà proposé ([SWS_DM_02156]).

Concurrence et interaction

La méthode est spécifiée comme sûre du point de vue des exceptions (exception safe) ([SWS_DM_02156]). La sécurité des threads est conditionnelle et définie par l'implémentation (implementation defined) ([SWS_DM_02156]). Cela distingue Read pour les Extended Data Records des opérations de lecture sur des éléments de données réguliers ([SWS_DM_00596]) ou des identifiants de données ([SWS_DM_00640]), qui ne sont expressément pas thread-safe.

Ce texte a été généré par un système d'IA sur la base des spécifications de la version R25-11.

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitconditional Thread safety is implementation defined

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< {<extended-data-record-element-name-upper-camel> }ReadOutput >• If successful: an ara::core::Future containing an ReadOutput object as per [SWS_DM_02154] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

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_02156
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02156@rel:R25-11#5f2a7618
Content hash
5f2a7618
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02156
Status: valid/unmigrated Version: rel:R25-11#29b32782 Versionshistorie & Revisions (1 transition)
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_02156@rel:R25-11#29b32782
Point-in-Time History:
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_02153] 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 : 7a0fc3b7b561 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction StopOffer est appelée sur une instance de l'interface Extended Data Record (<ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>), qui est incluse via l'en-tête #include "<ExtendedDataRecordElementShortname>.h" [SWS_DM_02153]. L'appel s'effectue de manière synchrone, ne prend aucun paramètre et n'a pas de valeur de retour (void).

L'objet de la méthode est de désactiver le transfert des messages de requête entrants provenant du Diagnostic Management (DM) vers l'élément Extended Data Record respectif [SWS_DM_02153]. Après l'exécution, le DM ne transfère plus aucune nouvelle requête de diagnostic vers le gestionnaire associé.

Gestion des erreurs et concurrence

La fonction est déclarée avec l'identifiant noexcept et spécifiée comme sûre du point de vue des exceptions (exception safe) [SWS_DM_02153]. Aucun code d'erreur spécifique, aucune valeur de retour ni aucune notification adressée aux surveillances d'erreurs ne sont définis dans la charge utile ; en cas d'erreur, aucune exception n'est levée.

En ce qui concerne la concurrence, la méthode est expressément classée comme sûre pour les threads (thread-safe) [SWS_DM_02153]. Cela constitue une particularité, étant donné que des interfaces StopOffer apparentées dans ara::diag – comme par exemple pour les routines [SWS_DM_00558], les éléments de données [SWS_DM_00617] ou les moniteurs [SWS_DM_01089] – sont spécifiées comme non sûres pour les threads. Les requêtes déjà en cours de traitement devraient vraisemblablement être encore achevées ou rejetées avant l'arrêt définitif. Question Q-82e9d44f8ac1969d (ouverte)

Interaction dans le Diagnostic Management

La désignation suit le modèle de service uniforme dans AUTOSAR Adaptive, selon lequel les unités fonctionnelles contrôlent leur disponibilité via Offer et StopOffer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ». L'élément s'inscrit ainsi parmi des interfaces comparables du DM, comme par exemple pour les services UDS génériques [SWS_DM_00620], les identifiants de données [SWS_DM_00600], les accès de sécurité [SWS_DM_00767] ou les requêtes de réinitialisation d'ECU [SWS_DM_01017].

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_02153
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02153@rel:R25-11#fdb20ac5
Content hash
fdb20ac5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02153
Status: valid/unmigrated Version: rel:R25-11#0c3fd27f Versionshistorie & Revisions (1 transition)
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_02153@rel:R25-11#0c3fd27f
Point-in-Time History:
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_02148] Upstream: RS_AP_00147

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

Copy assignment constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02148@rel:R25-11#08d9a027
Content hash
08d9a027
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02148
Status: valid/unmigrated Version: rel:R25-11#085b2936 Versionshistorie & Revisions (1 transition)
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_02148@rel:R25-11#085b2936
Point-in-Time History:
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_02150] Upstream: RS_AP_00147

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

Move assignment constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02150
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02150@rel:R25-11#679fedfb
Content hash
679fedfb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02150
Status: valid/unmigrated Version: rel:R25-11#19edc7c0 Versionshistorie & Revisions (1 transition)
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_02150@rel:R25-11#19edc7c0
Point-in-Time History:
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 ~<ExtendedDataRecordElementInterface> [SWS_DM_02151] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

Destruction of a DataElement

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
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_02151
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02151@rel:R25-11#809de9d4
Content hash
809de9d4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02151
Status: valid/unmigrated Version: rel:R25-11#31ab9402 Versionshistorie & Revisions (1 transition)
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_02151@rel:R25-11#31ab9402
Point-in-Time History:
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 <ExtendedDataRecordElementOutArg> [SWS_DM_02155] Upstream: RS_Diag_04224, RS_Diag_04169

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Symbol<ExtendedDataRecordElementOutArg>
Typ<ExtendedDataRecordElementOutArgType>

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

Record
AUTOSAR/AP/record/SWS_DM_02155
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02155@rel:R25-11#db27b360
Content hash
db27b360
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02155
Status: valid/unmigrated Version: rel:R25-11#db27b360 Versionshistorie & Revisions (1 transition)
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_02155@rel:R25-11#db27b360
Point-in-Time History:
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