Permite a las aplicaciones adaptativas suministrar la identificación de entidad DoIP para la gestión de diagnóstico.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 73f8b2cf1d2eProcedenciaPreguntas 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].
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].
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.
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)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticDoIPEntityIdentificationInterface.
concurrencyType
Specifies 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.
This Offer will enable the DM to forward request messages to this handler.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 60c723a50d6cProcedenciaPreguntas 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.
This StopOffer will disable the forwarding of request messages from DM.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2e0edce0b8e6ProcedenciaPreguntas 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.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán