DEENESPTFRRUARHIKOZHNL

classe ara::diag::DoIPEntityIdentification

[SWS_DM_01362] Upstream: RS_Diag_00026

class DoIPEntityIdentification {...};

DoIPEntityIdentification class to obtain the EID if required.

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

Guide utilisateurGÉNÉRÉ PAR IA

Permet aux applications adaptatives de fournir l'identification d'entité DoIP pour le Diagnostic Management.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 73f8b2cf1d2e Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet aux applications adaptatives de fournir l'identification d'entité DoIP pour le Diagnostic Management.

La classe ara::diag::DoIPEntityIdentification permet aux applications adaptatives de fournir de manière dynamique l'identification d'entité (EID) pour le protocole de diagnostic DoIP [SWS_DM_01361]. Après l'instanciation, l'application active la transmission au moyen de Offer() et répond aux interrogations du Diagnostic Management via la méthode virtuelle pure GetEntityId() de manière asynchrone au moyen d'un Future [SWS_DM_01366], [SWS_DM_01367]. Si l'interface n'est pas encore mise à disposition lors d'une interrogation, le Diagnostic Management envoie à titre de remplacement une valeur 0xFF standardisée [SWS_DM_01528].

Contexte

La classe ara::diag::DoIPEntityIdentification sert à fournir de manière dynamique l'identification d'entité (EID) pour le protocole DoIP (Diagnostic over IP) [SWS_DM_01361]. Dans un environnement AUTOSAR Adaptive, elle forme la passerelle fonctionnelle entre une application adaptative individuelle et le Diagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics, p. 107. Si, dans la configuration, DoIpNetworkConfiguration.eidRetrieval est réglé sur le mode DoIpEidRetrievalEnum.eidUseApi, le Diagnostic Management demande l'EID via cette interface de programmation [SWS_DM_01361]. La liaison à l'architecture logicielle s'effectue via un ara::core::InstanceSpecifier, qui fait référence à un PortPrototype d'un DiagnosticDoIPEntityIdentificationInterface [SWS_DM_01364].

Cycle de vie

La création s'effectue via le constructeur explicite, auquel est transmis, outre le InstanceSpecifier, le paramètre ConcurrencyType (kConcurrent ou kNotConcurrent) [SWS_DM_01364]. Ce dernier détermine si les interrogations ultérieures de l'interface doivent être traitées de manière thread-safe [SWS_DM_01364], [SWS_DM_01366]. Après la construction, l'objet demeure initialement dans l'état inactif. L'appel de Offer() débloque l'interface pour le Diagnostic Management et active le transfert des requêtes vers le gestionnaire [SWS_DM_01367]. Avant la destruction de l'objet ou à l'arrêt du fonctionnement, StopOffer() interrompt de nouveau le transfert [SWS_DM_01368]. La destruction s'effectue enfin via le destructeur virtuel [SWS_DM_01365]. Ni Offer(), StopOffer() ni le destructeur ne sont thread-safe et nécessitent donc une synchronisation coordonnée dans le code d'application [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].

DoIPEntityIdentificationStates NichtBereitgestellt NichtBereitgestellt Bereitgestellt Bereitgestellt NichtBereitgestellt->Bereitgestellt Offer() Bereitgestellt->NichtBereitgestellt StopOffer() Bereitgestellt->Bereitgestellt GetEntityId()

Diagramme d'états : cycle de vie et phases d'enregistrement de l'identification d'entité DoIP. Sources : [SWS_DM_01364], [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].

Parcours d'utilisation

Dans le scénario d'utilisation type, l'application adaptative dérive sa propre classe d'implémentation de ara::diag::DoIPEntityIdentification et surcharge la méthode purement virtuelle GetEntityId() [SWS_DM_01366]. Après instanciation avec un identifiant valide, l'application enregistre le gestionnaire à l'aide de Offer() [SWS_DM_01367]. Dès que le Diagnostic Management a besoin de l'ID d'entité pour composer des messages DoIP, il appelle GetEntityId() [SWS_DM_01361], [SWS_DM_01366]. La méthode renvoie un ara::core::Future<EntityId>, ce qui permet de déterminer et de mettre à disposition les données d'identification de manière asynchrone [SWS_DM_01366]. Lorsque le fonctionnement prend fin, l'application retire l'offre via StopOffer() [SWS_DM_01368].

Déroulement de la mise à disposition de l’ID d’entité DoIPApplicationDoIPEntityIdentificationGestion des diagnosticsDoIPEntityIdentification(specifier, concurrencyType)Offer()ara::core::Result<void>Use Case: Interrogation d’EID dans le protocole DoIPGetEntityId()GetEntityId()ara::core::Future<EntityId>Use Case: DienstbeendigungStopOffer()

Diagramme de séquence : ordre d'appel type pour l'enregistrement et l'interrogation de l'EID par le Diagnostic Management. Sources : [SWS_DM_01361], [SWS_DM_01364], [SWS_DM_01366], [SWS_DM_01367], [SWS_DM_01368].

Scénarios d'erreur

Des configurations de modèle erronées lors de la construction entraînent des violations d'exécution spécifiques : si le InstanceSpecifier ne peut pas être résolu dans le modèle ou ne fait pas référence à un PortPrototype, il en résulte une InstanceSpecifierMappingIntegrityViolation [SWS_DM_01364]. Si le mappage de port ne fait pas référence à un DiagnosticDoIPEntityIdentificationInterface, il s'agit d'une PortInterfaceMappingViolation, tandis qu'une correspondance de processus manquante déclenche une ProcessMappingViolation [SWS_DM_01364]. Si le même identifiant est utilisé plusieurs fois au sein du processus, une InstanceSpecifierAlreadyInUseViolation s'ensuit [SWS_DM_01364].

Si Offer() est appelée 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_01367]. Si le Diagnostic Management ne parvient pas à interroger l'EID – par exemple parce que l'interface n'était pas encore proposée au moment de la demande –, un repli de protocole défini s'applique : le Diagnostic Management envoie en remplacement une valeur d'EID de 6 octets de 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF dans les messages DoIP [SWS_DM_01528].

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

Carte des membres

Types imbriqués

1

Diagramme de classes

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

G nara__diag__DoIPEntityIdentification87 DoIPEntityIdentification + ~DoIPEntityIdentification() + DoIPEntityIdentification() + GetEntityId() + Offer() + StopOffer()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

Constructor of DoIPEntityIdentification.

explicit DoIPEntityIdentification (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Destructor of DoIPEntityIdentification.

virtual ~DoIPEntityIdentification () noexcept;

Méthodes

GetEntityId fonction

Called to get the EID for the DoIP protocol.

virtual ara::core::Future< EntityId > GetEntityId () noexcept=0;
Offer fonction

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

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

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

void StopOffer () noexcept;

Types imbriqués

EntityId classe

Documentation des méthodes

fonction DoIPEntityIdentification [SWS_DM_01364] Upstream: RS_AP_00137, RS_Diag_00026, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit DoIPEntityIdentification (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Constructor of DoIPEntityIdentification.

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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 referenced by a pingViolation DiagnosticDoIpEntityIdentificationPortMapping needs to be typed by a DiagnosticDoIPEntityIdentificationInterface. 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 DiagnosticDoIPEntityIdentificationInterface.
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_01364
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01364@rel:R25-11#f228fd85
Content hash
f228fd85
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01364
Status: valid/unmigrated Version: rel:R25-11#01461b41 Versionshistorie & Revisions (1 transition, 5 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_01364@rel:R25-11#01461b41
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#8c31120d2026-09-30
  • R22-11rel:R22-11#97f4f9572026-10-14
  • R23-11rel:R23-11#6285024e2026-10-14
  • R24-11rel:R24-11#bff980792026-10-14
  • R25-11rel:R25-11#01461b412026-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 GetEntityId [SWS_DM_01366] Upstream: RS_AP_00138, RS_Diag_00026

virtual ara::core::Future< EntityId > GetEntityId () noexcept=0;

Called to get the EID for the DoIP protocol.

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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

Rückgabewert

TypBeschreibung
ara::core::Future< EntityId >Entity identification

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_01366
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01366@rel:R25-11#4f78fde3
Content hash
4f78fde3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01366
Status: valid/unmigrated Version: rel:R25-11#b7599708 Versionshistorie & Revisions (1 transition, 5 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_01366@rel:R25-11#b7599708
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#0daba9352026-09-30
  • R22-11rel:R22-11#03ed90322026-10-14
  • R23-11rel:R23-11#dc0449c22026-10-14
  • R24-11rel:R24-11#35c811cd2026-10-14
  • R25-11rel:R25-11#b75997082026-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_01367] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_00026

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 : 60c723a50d6c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode Offer de la classe ara::diag::DoIPEntityIdentification active le transfert des requêtes DoIP entrantes par le démon de Diagnostic Management (DM) vers le gestionnaire enregistré ([SWS_DM_01367]). Ce n'est qu'après le succès de l'appel que les messages sont transmis au gestionnaire. Interprétation : l'appel a lieu typiquement lors de la phase d'initialisation de l'Adaptive Application, avant que les messages de diagnostic ne doivent être reçus. Question Q-4b78d4f80bda63a4 (ouverte)

Utilisation et sémantique :

  • Contexte d'appel : l'opération est exécutée de manière synchrone et est déclarée comme noexcept ; elle ne lève aucune exception ([SWS_DM_01367]).
  • Valeur de retour : elle renvoie un ara::core::Result<void>, qui ne contient aucune valeur en cas de succès ([SWS_DM_01367]).

Traitement des erreurs :

  • Si l'interface a déjà été proposée pour l'instance, l'appel échoue et renvoie, avec une sémantique de retour arrière (rollback), le code d'erreur DiagOfferErrc::kAlreadyOffered ([SWS_DM_01367]).

Concurrence et restrictions :

  • L'interface est spécifiée comme not thread-safe ([SWS_DM_01367]). Les appels simultanés sur la même instance doivent être synchronisés par l'application appelante.

Interaction :

Le modèle d'enregistrement correspond à la démarche d'autres services DoIP tels que DoIPGroupIdentification ([SWS_DM_00725]) et DoIPPowerMode ([SWS_DM_00735]) ainsi que de gestionnaires UDS génériques ([SWS_DM_00619]). La convention de nommage suit le modèle connu de ara::com, mais constitue un enregistrement autonome auprès du DM (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors »).

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é I1)

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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_01367
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01367@rel:R25-11#5786c458
Content hash
5786c458
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01367
Status: valid/unmigrated Version: rel:R25-11#1e1b8396 Versionshistorie & Revisions (1 transition, 5 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_01367@rel:R25-11#1e1b8396
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#bac2d0d72026-09-30
  • R22-11rel:R22-11#78e265802026-10-14
  • R23-11rel:R23-11#4d70569b2026-10-14
  • R24-11rel:R24-11#2f07768f2026-10-14
  • R25-11rel:R25-11#1e1b83962026-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_01368] Upstream: RS_Diag_00026

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 : 2e0edce0b8e6 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode ara::diag::DoIPEntityIdentification::StopOffer met fin à la proposition du service d'identification d'entité DoIP et désactive le transfert des messages de requête depuis le Diagnostic Management (DM) vers l'application [SWS_DM_01368]. L'interface est fournie via le fichier d'en-tête ara/diag/doip_entity_identification.h. Elle ne prend aucun paramètre et ne renvoie aucune valeur de retour (void) [SWS_DM_01368]. Interprétation : étant donné que la signature ne prévoit ni objet future ni notification par callback, l'appel devrait être exécuté de manière synchrone et bloquante jusqu'à ce que le transfert soit arrêté dans le DM. Question Q-75f67df3a003b08f (ouverte)

Traitement des erreurs et sécurité vis-à-vis des exceptions

L'opération est déclarée avec le spécificateur noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_DM_01368]. Aucun code d'erreur spécifique n'est renvoyé et aucune exception n'est déclenchée.

Concurrence et restrictions

En ce qui concerne l’environnement d’exécution, la méthode est classée comme non sécurisée pour les threads (not thread-safe) [SWS_DM_01368]. Si des appels parallèles ou des accès concurrents à la même instance de ara::diag::DoIPEntityIdentification ont lieu, ils doivent être synchronisés côté application.

Interaction

Ce comportement s’intègre dans le modèle uniforme de cycle de vie d’AUTOSAR Adaptive Diagnostic Management. Une désactivation comparable du routage des messages a lieu par exemple lors de l’identification de groupe via [SWS_DM_00726] ainsi que pour les commutateurs de diagnostic et les moniteurs via [SWS_DM_01089]. Comme le souligne AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors », le nommage de Offer et StopOffer s’inspire des modèles de ara::com, mais constitue une implémentation indépendante pour les interfaces de diagnostic.

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

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

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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_01368
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01368@rel:R25-11#0c0032a3
Content hash
0c0032a3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01368
Status: valid/unmigrated Version: rel:R25-11#995f1e52 Versionshistorie & Revisions (1 transition, 5 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_01368@rel:R25-11#995f1e52
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#0a1040402026-09-30
  • R22-11rel:R22-11#9e1482542026-10-14
  • R23-11rel:R23-11#de1f2b922026-10-14
  • R24-11rel:R24-11#40423c4c2026-10-14
  • R25-11rel:R25-11#995f1e522026-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 ~DoIPEntityIdentification [SWS_DM_01365] Upstream: RS_AP_00134, RS_Diag_00026

virtual ~DoIPEntityIdentification () noexcept;

Destructor of DoIPEntityIdentification.

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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_01365
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01365@rel:R25-11#5e116625
Content hash
5e116625
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01365
Status: valid/unmigrated Version: rel:R25-11#dd9937e2 Versionshistorie & Revisions (1 transition, 5 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_01365@rel:R25-11#dd9937e2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#0ce405e32026-09-30
  • R22-11rel:R22-11#73c187462026-10-14
  • R23-11rel:R23-11#e45fbddd2026-10-14
  • R24-11rel:R24-11#d5ded6fa2026-10-14
  • R25-11rel:R25-11#dd9937e22026-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