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

Guia do utilizadorGERADO POR IA

Permite que aplicações adaptativas disponibilizem a identificação de entidade DoIP para o gerenciamento de diagnóstico.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 73f8b2cf1d2e Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite que aplicações adaptativas disponibilizem a identificação de entidade DoIP para o gerenciamento de diagnóstico.

A classe ara::diag::DoIPEntityIdentification permite que aplicações adaptativas disponibilizem dinamicamente a identificação de entidade (EID) para o protocolo de diagnóstico DoIP [SWS_DM_01361]. Após a instanciação, a aplicação ativa o encaminhamento por meio de Offer() e responde a consultas do Diagnostic Management sobre o método puramente virtual GetEntityId() de forma assíncrona por meio de Future [SWS_DM_01366], [SWS_DM_01367]. Se a interface ainda não estiver disponibilizada no momento de uma consulta, o gerenciamento de diagnóstico envia como substituto um valor padronizado de 0xFF [SWS_DM_01528].

Contexto

A classe ara::diag::DoIPEntityIdentification serve para a disponibilização dinâmica da identificação de entidade (EID) para o protocolo DoIP (Diagnostic over IP) [SWS_DM_01361]. Em um ambiente AUTOSAR Adaptive, ela forma a ponte funcional entre uma aplicação adaptativa individual e o Diagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics, p. 107. Se na configuração DoIpNetworkConfiguration.eidRetrieval estiver ajustado para o modo DoIpEidRetrievalEnum.eidUseApi, o Diagnostic Management solicita a EID através desta interface de programação [SWS_DM_01361]. A vinculação à arquitetura de software ocorre através de um ara::core::InstanceSpecifier, que faz referência a um PortPrototype de um DiagnosticDoIPEntityIdentificationInterface [SWS_DM_01364].

Ciclo de vida

A criação ocorre através do construtor explícito, ao qual, além do InstanceSpecifier, é passado o parâmetro ConcurrencyType (kConcurrent ou kNotConcurrent) [SWS_DM_01364]. Este último define se chamadas subsequentes à interface devem ser processadas de forma segura para threads [SWS_DM_01364], [SWS_DM_01366]. Após a construção, o objeto permanece inicialmente no estado inativo. Através da chamada de Offer(), a interface é habilitada para o Diagnostic Management e o encaminhamento de requisições ao manipulador é ativado [SWS_DM_01367]. Antes da destruição do objeto ou no encerramento da operação, StopOffer() impede novamente o encaminhamento [SWS_DM_01368]. A destruição ocorre finalmente através do destrutor virtual [SWS_DM_01365]. Nem Offer(), StopOffer() nem o destrutor são seguros para threads e, portanto, exigem sincronização coordenada no código da aplicação [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 e fases de registro da identificação de entidade DoIP. Fontes: [SWS_DM_01364], [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].

Caminho de utilização

No cenário típico de uso, a aplicação adaptativa deriva sua própria classe de implementação de ara::diag::DoIPEntityIdentification e sobrescreve o método puramente virtual GetEntityId() [SWS_DM_01366]. Após a instanciação com um identificador válido, a aplicação registra o manipulador por meio de Offer() [SWS_DM_01367]. Assim que o Diagnostic Management necessita do Entity ID para a montagem de mensagens DoIP, ele chama GetEntityId() [SWS_DM_01361], [SWS_DM_01366]. O método retorna um ara::core::Future<EntityId>, permitindo que os dados de identificação sejam determinados e disponibilizados de forma assíncrona [SWS_DM_01366]. Terminada a operação da função, a aplicação retira a oferta através de StopOffer() [SWS_DM_01368].

Fluxo do fornecimento do DoIP-Entity-IDAplicaçãoDoIPEntityIdentificationDiagnostic ManagementDoIPEntityIdentification(specifier, concurrencyType)Offer()ara::core::Result<void>Use Case: Consulta de EID no protocolo DoIPGetEntityId()GetEntityId()ara::core::Future<EntityId>Use Case: DienstbeendigungStopOffer()

Diagrama de sequência: ordem típica de chamadas para o registro e consulta do EID pelo Diagnostic Management. Fontes: [SWS_DM_01361], [SWS_DM_01364], [SWS_DM_01366], [SWS_DM_01367], [SWS_DM_01368].

Cenários de erro

Configurações incorretas do modelo durante a construção levam a violações específicas em tempo de execução: se o InstanceSpecifier não puder ser resolvido no modelo ou não fizer referência a um PortPrototype, resulta em uma InstanceSpecifierMappingIntegrityViolation [SWS_DM_01364]. Se o mapeamento de porta não fizer referência a um DiagnosticDoIPEntityIdentificationInterface, ocorre uma PortInterfaceMappingViolation, enquanto uma sincronização de processo ausente dispara uma ProcessMappingViolation [SWS_DM_01364]. Se o mesmo identificador for usado várias vezes no processo, segue-se uma InstanceSpecifierAlreadyInUseViolation [SWS_DM_01364].

Se Offer() for chamado quando o serviço já estiver sendo oferecido ativamente, o método retorna um ara::core::Result com o código de erro DiagOfferErrc::kAlreadyOffered [SWS_DM_01367]. Se o Diagnostic Management não conseguir consultar o EID – por exemplo, porque a interface ainda não havia sido oferecida no momento da consulta –, entra em ação um fallback de protocolo definido: o Diagnostic Management envia em mensagens DoIP, como substituto, um valor de EID de 6 bytes de 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF [SWS_DM_01528].

Este guia foi gerado por um assistente de IA com base na especificação AUTOSAR Adaptive R25-11.

Mapa de membros

Diagrama de classes

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

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

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Constructor of DoIPEntityIdentification.

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

Destructor of DoIPEntityIdentification.

virtual ~DoIPEntityIdentification () noexcept;

Métodos

GetEntityId função

Called to get the EID for the DoIP protocol.

virtual ara::core::Future< EntityId > GetEntityId () noexcept=0;
Offer função

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

ara::core::Result< void > Offer () noexcept;
StopOffer função

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

void StopOffer () noexcept;

Tipos aninhados

EntityId classe

Documentação dos métodos

função 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#04d56a56
Content hash
04d56a56
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

função 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#09c1a092
Content hash
09c1a092
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 60c723a50d6c Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método Offer da classe ara::diag::DoIPEntityIdentification ativa o encaminhamento de pedidos DoIP recebidos pelo daemon do Diagnostic Management (DM) para o manipulador registado ([SWS_DM_01367]). As mensagens só são transmitidas ao manipulador após a chamada bem-sucedida. Interpretação: a chamada ocorre tipicamente na fase de inicialização da Adaptive Application, antes de deverem ser recebidas mensagens de diagnóstico. Pergunta Q-4b78d4f80bda63a4 (aberta)

Uso e semântica:

  • Contexto de chamada: a operação é executada de forma síncrona e está declarada como noexcept; não lança exceções ([SWS_DM_01367]).
  • Valor de retorno: devolve um ara::core::Result<void>, que não contém qualquer valor em caso de sucesso ([SWS_DM_01367]).

Tratamento de erros:

  • Se a interface já tiver sido oferecida para a instância, a chamada falha e devolve, com semântica de rollback, o código de erro DiagOfferErrc::kAlreadyOffered ([SWS_DM_01367]).

Simultaneidade e restrições:

  • A interface está especificada como not thread-safe ([SWS_DM_01367]). As chamadas simultâneas na mesma instância têm de ser sincronizadas pela aplicação chamadora.

Interação:

O padrão de registo corresponde ao procedimento de outros serviços DoIP como DoIPGroupIdentification ([SWS_DM_00725]) e DoIPPowerMode ([SWS_DM_00735]), bem como de manipuladores UDS genéricos ([SWS_DM_00619]). A atribuição de nomes segue o padrão conhecido de ara::com, mas representa um registo autónomo perante o DM (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#f6bc276d
Content hash
f6bc276d
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

função StopOffer [SWS_DM_01368] Upstream: RS_Diag_00026

void StopOffer () noexcept;

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 2e0edce0b8e6 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método ara::diag::DoIPEntityIdentification::StopOffer termina a disponibilização do serviço para identificação de entidade DoIP e desativa o encaminhamento de mensagens de pedido do Diagnostic Management (DM) para a aplicação [SWS_DM_01368]. A interface é disponibilizada através do ficheiro de cabeçalho ara/diag/doip_entity_identification.h. Não aceita parâmetros e não fornece qualquer valor de retorno (void) [SWS_DM_01368]. Interpretação: dado que a assinatura não prevê um objeto future nem uma notificação por callback, a chamada deverá ser executada de forma síncrona e bloqueante até que o encaminhamento no DM seja terminado. Pergunta Q-75f67df3a003b08f (aberta)

Tratamento de erros e segurança contra exceções

A operação está declarada com o especificador noexcept e especificada como segura em termos de exceções (exception safe) [SWS_DM_01368]. Não são devolvidos códigos de erro específicos nem são geradas exceções.

Simultaneidade e restrições

Em relação ao ambiente de execução, o método está classificado como não seguro entre threads (not thread-safe) [SWS_DM_01368]. Se ocorrerem chamadas ou acessos paralelos à mesma instância de ara::diag::DoIPEntityIdentification, estes têm de ser sincronizados do lado da aplicação.

Interação

O comportamento enquadra-se no padrão uniforme de ciclo de vida do AUTOSAR Adaptive Diagnostic Management. Uma desativação comparável do encaminhamento de mensagens ocorre, por exemplo, na identificação de grupos através de [SWS_DM_00726], bem como em comutadores de diagnóstico e monitores através de [SWS_DM_01089]. Como destacado em AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors», a nomenclatura de Offer e StopOffer orienta-se pelos padrões de ara::com, mas representa uma implementação independente para interfaces de diagnóstico.

Esta nota de utilização foi gerada de forma automatizada com base na especificação AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#b68cbe3c
Content hash
b68cbe3c
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

função ~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#832efd2b
Content hash
832efd2b
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