DEENESPTFRRUARHIKOZHNL

classe ara::diag::ServiceValidation

[SWS_DM_00771] Upstream: RS_Diag_04199

class ServiceValidation {...};

DiagnosticServiceValidationInterface.

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

Guia do utilizadorGERADO POR IA

Valida requisições de diagnóstico de entrada no Diagnostic Management com base em verificações do fabricante ou do fornecedor.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: f91c31f76f32 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Valida requisições de diagnóstico de entrada no Diagnostic Management com base em verificações do fabricante ou do fornecedor.

A classe ara::diag::ServiceValidation destina-se à validação específica da aplicação de requisições de diagnóstico UDS de entrada no Diagnostic Management com base em critérios do fabricante ou do fornecedor [SWS_DM_00772]. Após a criação, o serviço deve ser ativado por meio de Offer() para que os dados da requisição sejam encaminhados assincronamente para verificação em Validate() e, em seguida, confirmados via Confirmation() [SWS_DM_00776]. Como restrição essencial, a instância é vinculada a uma porta, não pode ser copiada nem movida e, com exceção do construtor, não é thread-safe.

Contexto

A classe ara::diag::ServiceValidation disponibiliza a interface de programação para o elemento de modelagem DiagnosticServiceValidationInterface dentro da pilha de diagnóstico do AUTOSAR Adaptive. Por meio dessa interface, uma aplicação pode implementar verificações específicas da aplicação para requisições de diagnóstico de entrada. A instância interage diretamente com o Diagnostic Management (DM), que é autorizado a encaminhar requisições de diagnóstico de entrada para a lógica de validação [SWS_DM_00776].

A atribuição funcional da validação é controlada pelo atributo de modelagem DiagnosticServiceValidationMapping.category. Dependendo dessa categoria, o método de validação Validate() é chamado no âmbito das regras de resposta UDS conforme a ISO 14229-1 (capítulo 8.7), seja no contexto de uma verificação do fabricante («Manufacturer Check») ou de uma verificação do fornecedor («Supplier Check») [SWS_DM_00772]. O DM provavelmente deve submeter as mensagens de requisição de entrada a essa verificação de validação antes da execução real do serviço, a fim de filtrar precocemente requisições inadmissíveis. Pergunta Q-d84302d27d940634 (aberta)

Ciclo de vida

A criação ocorre explicitamente por meio do construtor mediante a indicação de um ara::core::InstanceSpecifier, que deve apontar para um PortPrototype definido no modelo do sistema [SWS_DM_00772]. ara::diag::ServiceValidation é projetada como uma instância única não copiável e não movível: tanto o construtor de cópia [SWS_DM_01689] quanto o construtor de movimentação [SWS_DM_01690], bem como os operadores de atribuição por cópia [SWS_DM_01687] e por movimentação [SWS_DM_01688], são declarados como excluídos (=delete).

Após a inicialização, o objeto permanece em estado de repouso. Somente por meio da chamada de Offer() é que o encaminhamento de requisições de diagnóstico do DM para o manipulador é habilitado [SWS_DM_00776]. O oferecimento do serviço pode ser encerrado em tempo de execução via StopOffer(), pelo qual o DM volta a desativar o encaminhamento [SWS_DM_00777]. A liberação dos recursos ocorre por meio do destrutor virtual ~ServiceValidation() [SWS_DM_00773].

Em relação à concorrência, apenas o construtor é especificado como thread-safe [SWS_DM_00772]. Os métodos Offer() [SWS_DM_00776], StopOffer() [SWS_DM_00777], Validate() [SWS_DM_00774], Confirmation() [SWS_DM_00775] e o destrutor [SWS_DM_00773] são classificados como não thread-safe, porém seguros contra exceções (noexcept).

Caminho de utilização

A lógica concreta de validação é provavelmente fornecida pela aplicação por meio da derivação de ara::diag::ServiceValidation e da sobrescrita dos métodos virtuais da interface. Pergunta Q-84efdab7839212b5 (aberta) O fluxo operacional típico divide-se nas seguintes fases:

  1. Instanciação: criação da instância mediante a passagem do InstanceSpecifier, que faz referência à porta configurada [SWS_DM_00772].
  2. Oferecimento do serviço: chamada de Offer() para ativar o encaminhamento de requisições pelo DM [SWS_DM_00776].
  3. Validação: a cada requisição de diagnóstico de entrada, o DM chama o método Validate() [SWS_DM_00774]. São passados os dados brutos (incluindo o identificador de serviço, SID) como ara::core::Span<const std::uint8_t>, bem como o MetaInfo da requisição [SWS_DM_00774]. Os dados permanecem válidos até que o ara::core::Future<void> retornado seja cumprido ou o processamento seja cancelado por um manipulador de cancelamento [SWS_DM_00774].
  4. Confirmação: assim que o tratamento da requisição de diagnóstico é concluído, o DM informa o manipulador por meio do método Confirmation(), passando o status do resultado (ConfirmationStatusType) e o MetaInfo [SWS_DM_00775].
  5. Desativação: encerramento do processamento de requisições mediante StopOffer() [SWS_DM_00777].
Fluxo de validação e confirmação de uma requisição de diagnósticoAplicaçãoServiceValidationDiagnostic ManagementOffer()Registrierung aktivierenValidate(requestData, metaInfo)Verificação de dados & MetaInfoaltValidierung erfolgreichFuture<void> (Erfolg)Validierung fehlgeschlagenFuture<void> (DiagUdsNrcErrc)Confirmation(status, metaInfo)StopOffer()Registrierung deaktivieren

Diagrama de sequência: sequência de chamadas para validação e confirmação de uma requisição de diagnóstico. Fontes: [SWS_DM_00772], [SWS_DM_00774], [SWS_DM_00775], [SWS_DM_00776], [SWS_DM_00777].

Cenários de erro

Condições de erro ocorrem tanto na verificação estática de configuração durante a construção quanto em tempo de execução:

  • Violações de construção: o construtor reporta erros específicos de modelagem como violações [SWS_DM_00772]:
    • InstanceSpecifierMappingIntegrityViolation: o identificador não pode ser resolvido no contexto do executável ou não aponta para um PortPrototype [SWS_DM_00772].
    • PortInterfaceMappingViolation: o PortPrototype referenciado não está tipificado por um DiagnosticServiceValidationInterface [SWS_DM_00772].
    • ProcessMappingViolation: não existe nenhum Process modelado correspondente para o processo [SWS_DM_00772].
    • InstanceSpecifierAlreadyInUseViolation: o InstanceSpecifier já está em uso por outra instância no processo em execução [SWS_DM_00772].
  • Oferecimento do serviço: se Offer() for chamado quando o serviço já estiver sendo oferecido ativamente, o valor de retorno ara::core::Result<void> retorna o código de erro DiagOfferErrc::kAlreadyOffered [SWS_DM_00776].
  • Erro de validação: se a verificação do conteúdo da requisição falhar, a aplicação sinaliza a rejeição por meio do ara::core::Future<void> retornado, definindo um Negative Response Code (NRC) correspondente da ISO 14229-1 via DiagUdsNrcErrc [SWS_DM_00774].

Este guia baseia-se na especificação AUTOSAR Adaptive R25-11 para o módulo diag.

Mapa de membros

Diagrama de classes

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

G nara__diag__ServiceValidation871 ServiceValidation + ServiceValidation() + operator=() + ~ServiceValidation() + Confirmation() + Offer() + StopOffer() + Validate()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Constructor of ServiceValidation. Depending on value of attribute DiagnosticServiceValidationMapping.category, the Validate is either called in the context of the NRC sequence in chapter 8.7 response implementation rules from UDS ISO 14229-1 as a Manufacturer or a Supplier Check.

Sobrecargas ServiceValidation 3
explicit ServiceValidation (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_00772
ServiceValidation (ServiceValidation &)=delete; SWS_DM_01689
ServiceValidation (ServiceValidation &&)=delete; SWS_DM_01690

Destructor of ServiceValidation .

virtual ~ServiceValidation () noexcept;

Métodos

Confirmation função

This method is called, when a diagnostic request has been finished, to notify about the outcome.

virtual void Confirmation (ConfirmationStatusType status, const Meta Info &metaInfo) noexcept;
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;
Validate função

Called for any request message.

virtual ara::core::Future< void > Validate (ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo) noexcept;

Operadores

operator= função 2

ServiceValidation shall be a single not assignable instance.

Sobrecargas = 2

Documentação dos métodos

função Confirmation [SWS_DM_00775] Upstream: RS_AP_00138, RS_Diag_04170, RS_Diag_04199

virtual void Confirmation (ConfirmationStatusType status, const Meta Info &metaInfo) noexcept;

This method is called, when a diagnostic request has been finished, to notify about the outcome.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9b9a34095329 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 Confirmation da interface ara::diag::ServiceValidation ([SWS_DM_00775], declarado em ara/diag/service_validation.h) serve como notificação sobre a conclusão e o resultado de um pedido de diagnóstico previamente processado.

Utilização e semântica

A função virtual de callback é chamada de forma síncrona pelo Diagnostic Management assim que o processamento do pedido estiver concluído. Não possui valor de retorno (void) e recebe dois parâmetros de entrada ([SWS_DM_00775]):

  • status (ConfirmationStatusType): Sinaliza o estado final ou o resultado do processamento do serviço ([SWS_DM_00775]).
  • metaInfo (const Meta Info &): Contém metainformações associadas do pedido de diagnóstico ([SWS_DM_00775]).

Tratamento de erros e simultaneidade

A função está especificada como segura contra exceções (exception safe) e declarada com o identificador noexcept ([SWS_DM_00775]). As sobreposições no lado da aplicação não podem, portanto, propagar exceções para o exterior. Códigos de erro específicos, tais como mensagens DET ou DEM, não estão definidos para este método. Relativamente à concorrência, Confirmation está classificado como não seguro para threads (not thread-safe) ([SWS_DM_00775]); o acesso a estados internos da aplicação dentro do callback requer uma sincronização correspondente em execuções paralelas.

Interação

O acionamento da notificação está associado ao fim do ciclo de vida de um pedido de diagnóstico ([SWS_DM_00775]). Este ciclo é concluído assim que uma resposta positiva ou negativa tenha sido transmitida ou suprimida (AUTOSAR_AP_SWS_Diagnostics §7.3.2.1.2 «Life-cycle of a Diagnostic Conversation»). Interpretação: ao nível de módulo, o Diagnostic Management só deverá despoletar o callback Confirmation quando a transmissão através da camada de transporte tiver sido confirmada por meio de TransmitConfirmation e do resultado kTransmitOk ou kTransmitFailed ([SWS_DM_00307], [SWS_DM_00351]). Pergunta Q-97c38586ef5e3704 (aberta)

Esta nota de uso foi gerada por uma IA com base na especificação AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
statusstatus/outcome of the service processing.
metaInfoMetaInfo of the request.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00775
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00775@rel:R25-11#abf970b1
Content hash
abf970b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00775
Status: valid/unmigrated Version: rel:R25-11#bbcfd2e3 Versionshistorie & Revisions (1 transition, 8 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_00775@rel:R25-11#bbcfd2e3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#044090102026-09-30
  • R19-11rel:R19-11#20a5939d2026-10-14
  • R20-11rel:R20-11#761e125d2026-10-14
  • R21-11rel:R21-11#761e125d2026-10-14
  • R22-11rel:R22-11#991a58222026-10-14
  • R23-11rel:R23-11#a506b4142026-10-14
  • R24-11rel:R24-11#5339f3712026-10-14
  • R25-11rel:R25-11#bbcfd2e32026-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_00776] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04199

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: 90f000c47eb7 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

A função-membro Offer da classe ara::diag::ServiceValidation (cabeçalho ara/diag/service_validation.h) ativa o encaminhamento de solicitações de diagnóstico de entrada pelo Diagnostic Manager (DM) para este manipulador de validação específico [SWS_DM_00776]. A chamada ocorre de forma síncrona e sem parâmetros de entrada por meio da assinatura ara::core::Result<void> Offer() noexcept; [SWS_DM_00776]. Como valor de retorno, serve um ara::core::Result<void>, que é vazio em caso de sucesso ou encapsula o código de erro ocorrido em caso de falha [SWS_DM_00776].

Tratamento de erros

Se o registro falhar, o método retorna um Result com erro. Se o serviço já tiver sido oferecido anteriormente para a respectiva instância, o código de erro DiagOfferErrc::kAlreadyOffered é retornado [SWS_DM_00776]. Aqui se aplica uma semântica de rollback, de modo que o estado anterior da instância permaneça inalterado [SWS_DM_00776].

Simultaneidade e restrições

A função é especificada como segura contra exceções (exception safe), porém expressamente como não segura para threads (not thread-safe) [SWS_DM_00776]. Os acessos paralelos à mesma instância devem ser coordenados pela aplicação chamadora. Em relação à ordem, Offer deve ser chamado antes que o Diagnostic Manager possa encaminhar requisições de serviço para validação [SWS_DM_00776].

Interação

A oferta de interfaces via Offer é um padrão de projeto consistente do diagnóstico AUTOSAR Adaptive e é empregada de forma análoga, entre outros, em rotinas ([SWS_DM_00557], [SWS_DM_00594]), serviços UDS genéricos ([SWS_DM_00619]), funções DoIP ([SWS_DM_00725], [SWS_DM_00735]), bem como acessos de segurança ([SWS_DM_00766]). Enquanto uma interface não tiver sido disponibilizada via Offer, o DM descarta requisições ou recorre a valores substitutos definidos ([SWS_DM_01525], [SWS_DM_01527]). Paralelos conceituais com ara::com são motivados funcionalmente, mas representam uma implementação independente do diagnóstico (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

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

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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_00776
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00776@rel:R25-11#6fc95ef5
Content hash
6fc95ef5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00776
Status: valid/unmigrated Version: rel:R25-11#98f79358 Versionshistorie & Revisions (1 transition, 8 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_00776@rel:R25-11#98f79358
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f679147c2026-09-30
  • R19-11rel:R19-11#1c84ea4d2026-10-14
  • R20-11rel:R20-11#cea448532026-10-14
  • R21-11rel:R21-11#bcd37d0f2026-10-14
  • R22-11rel:R22-11#c7eb78232026-10-14
  • R23-11rel:R23-11#3732217c2026-10-14
  • R24-11rel:R24-11#d9522beb2026-10-14
  • R25-11rel:R25-11#98f793582026-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 ServiceValidation [SWS_DM_00772] Upstream: RS_AP_00137, RS_Diag_04199, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit ServiceValidation (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor of ServiceValidation. Depending on value of attribute DiagnosticServiceValidationMapping.category, the Validate is either called in the context of the NRC sequence in chapter 8.7 response implementation rules from UDS ISO 14229-1 as a Manufacturer or a Supplier Check.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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 DiagnosticServiceValidationMapping needs to be typed by a DiagnosticServiceValidationInterface. 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 DiagnosticServiceValidationInterface

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

Record
AUTOSAR/AP/record/SWS_DM_00772
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00772@rel:R25-11#339c4e35
Content hash
339c4e35
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00772
Status: valid/unmigrated Version: rel:R25-11#551e2d84 Versionshistorie & Revisions (1 transition, 8 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_00772@rel:R25-11#551e2d84
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#db1a817b2026-09-30
  • R19-11rel:R19-11#8ba9fe932026-10-14
  • R20-11rel:R20-11#12b557df2026-10-14
  • R21-11rel:R21-11#1f0371f52026-10-14
  • R22-11rel:R22-11#f49056232026-10-14
  • R23-11rel:R23-11#6c563b032026-10-14
  • R24-11rel:R24-11#f8f0ab112026-10-14
  • R25-11rel:R25-11#551e2d842026-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 ServiceValidation [SWS_DM_01689] Upstream: RS_AP_00147

ServiceValidation (ServiceValidation &)=delete;

ServiceValidation shall be a single not copy-able instance.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01689
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01689@rel:R25-11#1d6de3c4
Content hash
1d6de3c4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01689
Status: valid/unmigrated Version: rel:R25-11#d48785a6 Versionshistorie & Revisions (1 transition, 4 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_01689@rel:R25-11#d48785a6
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#614925122026-09-30
  • R23-11rel:R23-11#428fd8c92026-10-14
  • R24-11rel:R24-11#d48785a62026-10-14
  • R25-11rel:R25-11#d48785a62026-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 ServiceValidation [SWS_DM_01690] Upstream: RS_AP_00147

ServiceValidation (ServiceValidation &&)=delete;

Move constructor of ServiceValidation.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01690
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01690@rel:R25-11#c02ce138
Content hash
c02ce138
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01690
Status: valid/unmigrated Version: rel:R25-11#e4fdb290 Versionshistorie & Revisions (1 transition, 4 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_01690@rel:R25-11#e4fdb290
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#52b974e02026-09-30
  • R23-11rel:R23-11#646ef28b2026-10-14
  • R24-11rel:R24-11#e4fdb2902026-10-14
  • R25-11rel:R25-11#e4fdb2902026-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_00777] Upstream: RS_Diag_04199

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: 9db9d30bd6c8 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 StopOffer() da classe ara::diag::ServiceValidation (arquivo de cabeçalho ara/diag/service_validation.h) serve para desativar o encaminhamento de mensagens de solicitação de entrada do Diagnostic Management (DM) para a instância de validação de serviços [SWS_DM_00777]. A chamada ocorre de forma síncrona, não aceita parâmetros de entrada e não fornece valor de retorno [SWS_DM_00777].

Tratamento de erros e simultaneidade

A função é declarada como noexcept e considerada segura para exceções (exception safe), de modo que nenhuma exceção C++ ocorre durante a execução [SWS_DM_00777]. Códigos de erro específicos ou retornos para o gerenciamento de erros não estão definidos para esta chamada [SWS_DM_00777].

Em relação à simultaneidade, o método é especificado como não seguro para threads (not thread-safe) [SWS_DM_00777]. Interpretação: A aplicação chamadora deve garantir que chamadas concorrentes na mesma instância de StopOffer() sejam sincronizadas, para evitar inconsistências de dados. Pergunta Q-dde3c015d30a9db1 (aberta)

Interação

A disponibilização e a revogação de interfaces através de Offer() e StopOffer() orientam-se pela semântica conhecida de ara::com, mas representam uma funcionalidade independente na área de diagnóstico AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». O padrão para desativação do encaminhamento de solicitações do DM é utilizado de forma consistente na norma para outros manipuladores de diagnóstico, como para serviços de autenticação [SWS_DM_01131], controle de comunicação [SWS_DM_00810], serviços de download [SWS_DM_00793], bem como solicitações de reset de ECU [SWS_DM_01017].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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_00777
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00777@rel:R25-11#0abcc7e2
Content hash
0abcc7e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00777
Status: valid/unmigrated Version: rel:R25-11#809ce59e Versionshistorie & Revisions (1 transition, 8 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_00777@rel:R25-11#809ce59e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ecbd75f12026-09-30
  • R19-11rel:R19-11#988e9cc52026-10-14
  • R20-11rel:R20-11#556e7ce62026-10-14
  • R21-11rel:R21-11#ee572f802026-10-14
  • R22-11rel:R22-11#db0a3b992026-10-14
  • R23-11rel:R23-11#c1a089312026-10-14
  • R24-11rel:R24-11#1b0c9f462026-10-14
  • R25-11rel:R25-11#809ce59e2026-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 Validate [SWS_DM_00774] Upstream: RS_AP_00138, RS_Diag_04170, RS_Diag_04199, RS_AP_00119

virtual ara::core::Future< void > Validate (ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo) noexcept;

Called for any request message.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ef5e4c6cdd97 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 virtual ara::diag::ServiceValidation::Validate é chamado para cada mensagem de solicitação de diagnóstico de entrada [SWS_DM_00774]. Através dele, o Diagnostic Server (DM) executa verificações de serviço específicas do fabricante [SWS_DM_01252] e específicas do fornecedor [SWS_DM_01253] configuradas de acordo com a ISO 14229-1. A atribuição como verificação do fabricante ou do fornecedor baseia-se na modelagem no construtor [SWS_DM_00772].

A função recebe os dados de diagnóstico, incluindo o Service Identifier (SID), através de requestData, bem como metainformações através de metaInfo [SWS_DM_00774]. O buffer requestData permanece válido até que o ara::core::Future<void> retornado seja cumprido por meio do Promise associado ou que a execução seja cancelada [SWS_DM_00774]. Se a validação for concluída com sucesso sem erros, o Diagnostic Server prossegue com o processamento da solicitação em conformidade com a ISO 14229-1 [SWS_DM_01254].

Tratamento de erros e condições de contorno

Se a verificação falhar, um NRC apropriado em conformidade com a ISO 14229-1 deve ser retornado por meio de DiagUdsNrcErrc [SWS_DM_00774]. Se Validate retornar o erro kNoProcessingNoResponse, a instância do Diagnostic Server descarta a mensagem sem resposta adicional [SWS_DM_00860].

Em relação à simultaneidade, Validate é especificado como seguro para exceções (exception safe), mas não seguro para threads (not thread-safe) [SWS_DM_00774]. Interpretação: Como a função não é segura para threads, o Diagnostic Server provavelmente serializa chamadas para a mesma instância ou exclui acessos concorrentes. Pergunta Q-e150c15ad709602c (aberta) O contexto de chamada é determinado pela sequência de NRCs da ISO 14229-1 antes da execução propriamente dita do serviço [SWS_DM_00772].

Esta nota de uso foi gerada automaticamente com base na especificação do AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
requestDataDiagnostic request data (including SID). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.

Rückgabewert

TypBeschreibung
ara::core::Future< void >Returns nothing or an error

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00774
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00774@rel:R25-11#5993d750
Content hash
5993d750
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00774
Status: valid/unmigrated Version: rel:R25-11#697b56ca Versionshistorie & Revisions (1 transition, 8 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_00774@rel:R25-11#697b56ca
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#97b264c92026-09-30
  • R19-11rel:R19-11#7333f5562026-10-14
  • R20-11rel:R20-11#5a132c282026-10-14
  • R21-11rel:R21-11#59f85a3b2026-10-14
  • R22-11rel:R22-11#43a758b42026-10-14
  • R23-11rel:R23-11#05e1af662026-10-14
  • R24-11rel:R24-11#8a3b62802026-10-14
  • R25-11rel:R25-11#697b56ca2026-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 operator= [SWS_DM_01687] Upstream: RS_AP_00147

ServiceValidation & operator= (ServiceValidation &)=delete;

ServiceValidation shall be a single not assignable instance.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01687
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01687@rel:R25-11#bf1dbfa8
Content hash
bf1dbfa8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01687
Status: valid/unmigrated Version: rel:R25-11#4d0e8e99 Versionshistorie & Revisions (1 transition, 4 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_01687@rel:R25-11#4d0e8e99
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#cca774bf2026-09-30
  • R23-11rel:R23-11#b0b3cfec2026-10-14
  • R24-11rel:R24-11#4d0e8e992026-10-14
  • R25-11rel:R25-11#4d0e8e992026-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 operator= [SWS_DM_01688] Upstream: RS_AP_00147

ServiceValidation & operator= (ServiceValidation &&)=delete;

Move assignment operator of ServiceValidation.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01688
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01688@rel:R25-11#c036d09d
Content hash
c036d09d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01688
Status: valid/unmigrated Version: rel:R25-11#1b73524b Versionshistorie & Revisions (1 transition, 4 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_01688@rel:R25-11#1b73524b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#070b54192026-09-30
  • R23-11rel:R23-11#451c17372026-10-14
  • R24-11rel:R24-11#1b73524b2026-10-14
  • R25-11rel:R25-11#1b73524b2026-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 ~ServiceValidation [SWS_DM_00773] Upstream: RS_AP_00134, RS_Diag_04199

virtual ~ServiceValidation () noexcept;

Destructor of ServiceValidation .

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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_00773
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00773@rel:R25-11#1faf4b30
Content hash
1faf4b30
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00773
Status: valid/unmigrated Version: rel:R25-11#ef75a44c Versionshistorie & Revisions (1 transition, 8 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_00773@rel:R25-11#ef75a44c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#6c06b72e2026-09-30
  • R19-11rel:R19-11#7fc7f8282026-10-14
  • R20-11rel:R20-11#c80e4a8e2026-10-14
  • R21-11rel:R21-11#c80e4a8e2026-10-14
  • R22-11rel:R22-11#af4050602026-10-14
  • R23-11rel:R23-11#bfb288b52026-10-14
  • R24-11rel:R24-11#ef75a44c2026-10-14
  • R25-11rel:R25-11#ef75a44c2026-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