DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite a las aplicaciones adaptativas suministrar la identificación de entidad DoIP para la gestión de diagnóstico.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 73f8b2cf1d2e Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite a las aplicaciones adaptativas suministrar la identificación de entidad DoIP para la gestión de diagnóstico.

La clase ara::diag::DoIPEntityIdentification permite a las aplicaciones adaptativas suministrar dinámicamente la identificación de entidad (EID) para el protocolo de diagnóstico DoIP [SWS_DM_01361]. Tras la instanciación, la aplicación activa el reenvío mediante Offer() y responde a las consultas de Diagnostic Management a través del método puramente virtual GetEntityId() de forma asíncrona mediante Future [SWS_DM_01366], [SWS_DM_01367]. Si la interfaz aún no ha sido proporcionada en el momento de una consulta, la gestión de diagnóstico envía en su lugar un valor 0xFF estandarizado [SWS_DM_01528].

Contexto

La clase ara::diag::DoIPEntityIdentification sirve para la provisión dinámica de la identificación de entidad (EID) para el protocolo DoIP (Diagnostic over IP) [SWS_DM_01361]. En un entorno AUTOSAR Adaptive, constituye el puente funcional entre una aplicación adaptativa individual y Diagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics, p. 107. Si en la configuración DoIpNetworkConfiguration.eidRetrieval está ajustado al modo DoIpEidRetrievalEnum.eidUseApi, Diagnostic Management solicita la EID a través de esta interfaz de programación [SWS_DM_01361]. La vinculación a la arquitectura de software se realiza mediante un ara::core::InstanceSpecifier que apunta a un PortPrototype de un DiagnosticDoIPEntityIdentificationInterface [SWS_DM_01364].

Ciclo de vida

La creación se lleva a cabo a través del constructor explícito, al cual se le pasa, además del InstanceSpecifier, el parámetro ConcurrencyType (kConcurrent o kNotConcurrent) [SWS_DM_01364]. Este último determina si las invocaciones posteriores a la interfaz deben gestionarse de forma segura para hilos [SWS_DM_01364], [SWS_DM_01366]. Tras la construcción, el objeto permanece inicialmente en estado inactivo. Mediante la invocación de Offer() se habilita la interfaz para Diagnostic Management y se activa el reenvío de solicitudes al manejador [SWS_DM_01367]. Antes de la destrucción del objeto o al finalizar el funcionamiento, StopOffer() desactiva nuevamente el reenvío [SWS_DM_01368]. La destrucción se realiza finalmente a través del destructor virtual [SWS_DM_01365]. Ni Offer(), ni StopOffer() ni el destructor son seguros para hilos y, por consiguiente, requieren una sincronización coordinada en el código de aplicación [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].

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

Diagrama de estados: ciclo de vida y fases de registro de la identificación de entidad DoIP. Fuentes: [SWS_DM_01364], [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].

Ruta de uso

En el escenario de uso típico, la aplicación adaptativa deriva su propia clase de implementación a partir de ara::diag::DoIPEntityIdentification y sobrescribe el método puramente virtual GetEntityId() [SWS_DM_01366]. Tras la instanciación con un identificador válido, la aplicación registra el manejador mediante Offer() [SWS_DM_01367]. En cuanto Diagnostic Management necesita la ID de entidad para componer mensajes DoIP, invoca GetEntityId() [SWS_DM_01361], [SWS_DM_01366]. El método devuelve un ara::core::Future<EntityId>, lo que permite determinar y suministrar los datos de identificación de forma asíncrona [SWS_DM_01366]. Al finalizar el funcionamiento, la aplicación retira la oferta a través de StopOffer() [SWS_DM_01368].

Flujo de la provisión de ID de entidad DoIPAplicaciónDoIPEntityIdentificationDiagnostic ManagementDoIPEntityIdentification(specifier, concurrencyType)Offer()ara::core::Result<void>Use Case: Consulta de EID en el protocolo DoIPGetEntityId()GetEntityId()ara::core::Future<EntityId>Use Case: DienstbeendigungStopOffer()

Diagrama de secuencia: orden típico de llamadas para el registro y la consulta de la EID por parte de Diagnostic Management. Fuentes: [SWS_DM_01361], [SWS_DM_01364], [SWS_DM_01366], [SWS_DM_01367], [SWS_DM_01368].

Escenarios de error

Las configuraciones erróneas del modelo durante la construcción provocan violaciones específicas en tiempo de ejecución: si el InstanceSpecifier no se puede resolver en el modelo o no apunta a un PortPrototype, se produce un InstanceSpecifierMappingIntegrityViolation [SWS_DM_01364]. Si el mapeo de puertos no apunta a un DiagnosticDoIPEntityIdentificationInterface, se genera un PortInterfaceMappingViolation, mientras que la falta de reconciliación con el proceso desencadena un ProcessMappingViolation [SWS_DM_01364]. Si el mismo identificador se reutiliza en el proceso varias veces, se produce un InstanceSpecifierAlreadyInUseViolation [SWS_DM_01364].

Si se invoca Offer() cuando el servicio ya se está ofreciendo activamente, el método devuelve un ara::core::Result con el código de error DiagOfferErrc::kAlreadyOffered [SWS_DM_01367]. Si Diagnostic Management no puede consultar la EID (por ejemplo, porque la interfaz aún no se había ofrecido en el momento de la solicitud), se recurre a un mecanismo de contingencia definido en el protocolo: Diagnostic Management envía en los mensajes DoIP un valor sustitutorio de EID de 6 bytes de 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF [SWS_DM_01528].

Esta guía fue generada por un asistente de IA a partir de la especificación AUTOSAR Adaptive R25-11.

Mapa de miembros

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Constructor of DoIPEntityIdentification.

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

Destructor of DoIPEntityIdentification.

virtual ~DoIPEntityIdentification () noexcept;

Métodos

GetEntityId función

Called to get the EID for the DoIP protocol.

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

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

ara::core::Result< void > Offer () noexcept;
StopOffer función

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

void StopOffer () noexcept;

Tipos anidados

EntityId clase

Documentación de los métodos

función 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#effa3204
Content hash
effa3204
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

función 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#db643b37
Content hash
db643b37
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 60c723a50d6c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método Offer de la clase ara::diag::DoIPEntityIdentification habilita el reenvío de solicitudes DoIP entrantes por parte del demonio de Diagnostic Management (DM) al gestor registrado ([SWS_DM_01367]). Solo tras la llamada exitosa se transmiten los mensajes al gestor. Interpretación: la llamada se realiza típicamente en la fase de inicialización de la Adaptive Application, antes de que deban recibirse mensajes de diagnóstico. Pregunta Q-4b78d4f80bda63a4 (abierta)

Uso y semántica:

  • Contexto de llamada: la operación se ejecuta de forma síncrona y está declarada como noexcept; no lanza excepciones ([SWS_DM_01367]).
  • Valor de retorno: devuelve un ara::core::Result<void>, que en caso de éxito no contiene ningún valor ([SWS_DM_01367]).

Tratamiento de errores:

  • Si la interfaz ya se ha ofrecido para la instancia, la llamada falla y devuelve el código de error DiagOfferErrc::kAlreadyOffered con semántica de reversión ([SWS_DM_01367]).

Concurrencia y restricciones:

  • La interfaz está especificada como not thread-safe ([SWS_DM_01367]). Las llamadas simultáneas sobre la misma instancia deben ser sincronizadas por la aplicación que realiza la llamada.

Interacción:

El patrón de registro se corresponde con el procedimiento de otros servicios DoIP como DoIPGroupIdentification ([SWS_DM_00725]) y DoIPPowerMode ([SWS_DM_00735]), así como con gestores UDS genéricos ([SWS_DM_00619]). La nomenclatura sigue el patrón conocido de ara::com, pero representa un registro independiente ante el DM (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

Este texto fue generado por una IA a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#99d3d829
Content hash
99d3d829
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

función StopOffer [SWS_DM_01368] Upstream: RS_Diag_00026

void StopOffer () noexcept;

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2e0edce0b8e6 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método ara::diag::DoIPEntityIdentification::StopOffer finaliza el ofrecimiento del servicio para la identificación de entidad DoIP y desactiva el reenvío de mensajes de solicitud desde Diagnostic Management (DM) hacia la aplicación [SWS_DM_01368]. La interfaz se proporciona mediante el archivo de encabezado ara/diag/doip_entity_identification.h. No recibe parámetros y no devuelve ningún valor (void) [SWS_DM_01368]. Interpretación: dado que la firma no prevé ni un objeto future ni una notificación mediante callback, es probable que la llamada se ejecute de forma síncrona y bloqueante hasta que finalice el reenvío en el DM. Pregunta Q-75f67df3a003b08f (abierta)

Tratamiento de errores y seguridad frente a excepciones

La operación está declarada con el especificador noexcept y especificada como segura frente a excepciones (exception safe) [SWS_DM_01368]. No se devuelven códigos de error específicos ni se desencadenan excepciones.

Concurrencia y restricciones

En lo que respecta al entorno de ejecución, el método está clasificado como no seguro para subprocesos (not thread-safe) [SWS_DM_01368]. Si se producen llamadas o accesos paralelos a la misma instancia de ara::diag::DoIPEntityIdentification, estos deben sincronizarse del lado de la aplicación.

Interacción

El comportamiento se integra en el patrón de ciclo de vida uniforme de AUTOSAR Adaptive Diagnostic Management. Una desactivación comparable del reenvío de mensajes se realiza, por ejemplo, en la identificación de grupos mediante [SWS_DM_00726], así como en conmutadores y monitores de diagnóstico mediante [SWS_DM_01089]. Como se destaca en AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors», la denominación de Offer y StopOffer se orienta en los patrones de ara::com, pero representa una implementación independiente para interfaces de diagnóstico.

Esta nota de uso se ha generado de forma automatizada sobre la base de la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#2e3ab148
Content hash
2e3ab148
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

función ~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#855ddb3f
Content hash
855ddb3f
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