DEENESPTFRRUARHIKOZHNL

classe ara::diag::SecurityAccess

[SWS_DM_00761] Upstream: RS_Diag_04005

class SecurityAccess {...};

DiagnosticSecurityAccessInterface.

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

Guia do utilizadorGERADO POR IA

Serve para a disponibilização e validação de valores de seed e chave para acessos de segurança de diagnóstico.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 1943cee6c64f Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve para a disponibilização e validação de valores de seed e chave para acessos de segurança de diagnóstico.

A classe ara::diag::SecurityAccess serve para a implementação específica da aplicação de acessos de segurança de diagnóstico conforme o serviço UDS 0x27 ([SWS_DM_00762]). Após a ativação por meio de Offer(), o handler recebe solicitações para fornecimento de seed e valida valores de chave transmitidos de forma assíncrona ([SWS_DM_00766]). Como instância não copiável e não movível, a interface exige uma configuração explícita do comportamento de concorrência no construtor, enquanto erros de processamento são relatados ao sistema de diagnóstico por meio de códigos de retorno UDS padronizados ([SWS_DM_00765]).

Contexto

A classe ara::diag::SecurityAccess representa, no AUTOSAR Adaptive, a interface para a implementação do serviço UDS 0x27 (SecurityAccess). Ela atua como elo de ligação entre o Diagnostic Management (DM) interno e a lógica de autenticação específica da aplicação de uma aplicação adaptativa. Quando um testador de diagnóstico externo solicita uma operação de diagnóstico relevante para a segurança, ele transmite as mensagens de diagnóstico correspondentes de acordo com a ISO 14229-1 para o veículo (AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation»). O Diagnostic Management recebe essas solicitações e encaminha a requisição de seed e a comparação de chave para a instância registrada de ara::diag::SecurityAccess ([SWS_DM_00766]).

SecurityAccessKontext client Cliente de diagnóstico dm Diagnostic Management (DM) client->dm UDS-Service 0x27 secacc ara::diag::SecurityAccess dm->secacc Encaminhamento app Adaptive Applikation secacc->app Vererbung / Handler

Diagrama de contexto: Enquadramento de ara::diag::SecurityAccess entre testador de diagnóstico, Diagnostic Management e aplicação. Fontes: [SWS_DM_00762], [SWS_DM_00766], AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation»

Ciclo de vida

A instanciação ocorre por meio do construtor, especificando um ara::core::InstanceSpecifier bem como o comportamento de concorrência concurrencyType ([SWS_DM_00762]). O identificador de instância vincula o objeto a um protótipo de porta, que deve ser tipificado por um DiagnosticSecurityLevelInterface ([SWS_DM_00762]). O parâmetro concurrencyType define de forma vinculativa se as chamadas de método devem ser processadas como thread-safe (kConcurrent) ou não thread-safe (kNotConcurrent) ([SWS_DM_00762]).

Em relação à semântica de posse, a classe é projetada como exemplar único: tanto o construtor de cópia ([SWS_DM_01617]) e o operador de atribuição por cópia ([SWS_DM_01615]) quanto o construtor de movimentação ([SWS_DM_01618]) e o operador de atribuição por movimentação ([SWS_DM_01616]) estão excluídos (=delete). Após a criação, a instância permanece em um estado inativo até ser registrada no DM por meio de Offer() ([SWS_DM_00766]). Antes do encerramento, StopOffer() desativa o encaminhamento de solicitações ([SWS_DM_00767]). Interpretação: presume-se que StopOffer() deva sempre ser chamado antes da destruição do objeto pelo destrutor virtual ([SWS_DM_00763]) para assegurar o cancelamento do registro de solicitações em andamento junto ao DM. Pergunta Q-3bbb715f727e373a (aberta)

Caminho de utilização

O fluxo de uso típico de uma implementação de handler derivada compreende as seguintes etapas:

  1. Ativação: A aplicação instancia a classe derivada e chama Offer() para ativar o encaminhamento de solicitações de diagnóstico pelo DM ([SWS_DM_00766]).
  2. Fornecimento de seed: Ao chegar uma solicitação de diagnóstico para geração de seed, o DM chama o método GetSeed ([SWS_DM_00764]). A aplicação processa o securityAccessDataRecord passado, leva em consideração o cancellationHandler e retorna o seed calculado de forma assíncrona por meio de um ara::core::Future<ara::core::Vector<std::uint8_t>> ([SWS_DM_00764]). O buffer do span de dados passado permanece válido até o cumprimento da promise ou até o cancelamento ([SWS_DM_00764]).
  3. Validação de chave: Assim que o testador de diagnóstico transmite a chave calculada, o DM chama CompareKey ([SWS_DM_00765]). A aplicação verifica o parâmetro key e transmite o resultado de forma assíncrona por meio de um ara::core::Future<KeyCompareResultType> ([SWS_DM_00765]).
  4. Desativação: Para encerrar a operação de diagnóstico, a aplicação chama StopOffer() ([SWS_DM_00767]).
Fluxo da autenticação de segurança via SecurityAccessAplicaçãoara::diag::SecurityAccessDiagnostic ManagementUse Case: AktivierungOffer()Dienst registrierenResult<void>Result<void>Use Case: Seed anfordernGetSeed(securityAccessDataRecord, metaInfo, cancellationHandler)Seed generierenFuture<Vector<uint8_t>> (Seed)Use Case: Verificar chaveCompareKey(key, metaInfo, cancellationHandler)Validar chaveFuture<KeyCompareResultType>Use Case: DeaktivierungStopOffer()Dienst deregistrieren

Diagrama de sequência: Ciclo de interação desde a ativação, passando por GetSeed e CompareKey, até a desativação. Fontes: [SWS_DM_00764], [SWS_DM_00765], [SWS_DM_00766], [SWS_DM_00767]

Cenários de erro

No uso de ara::diag::SecurityAccess, vários níveis de erro estão especificados:

  • Violações de construtor e modelo: Se o InstanceSpecifier não puder ser resolvido no modelo ou se não referenciar um PortPrototype, uma InstanceSpecifierMappingIntegrityViolation será relatada ([SWS_DM_00762]). Se a porta referenciada não for tipificada por um DiagnosticSecurityLevelInterface, haverá uma PortInterfaceMappingViolation ([SWS_DM_00762]). Se o processo modelado correspondente estiver ausente em tempo de execução, ocorrerá uma ProcessMappingViolation, e em caso de uso múltiplo do mesmo identificador dentro do processo, uma InstanceSpecifierAlreadyInUseViolation será disparada ([SWS_DM_00762]).
  • Erros de estado na oferta: Uma nova chamada de Offer() quando a oferta de serviço já estiver ativa falha e retorna o erro DiagOfferErrc::kAlreadyOffered com semântica de rollback ([SWS_DM_00766]).
  • Respostas UDS negativas: Se a geração do seed ou a verificação da chave falhar, a aplicação deve relatar, via DiagUdsNrcErrc, um Negative Response Code (NRC) apropriado conforme a ISO 14229-1 ([SWS_DM_00764], [SWS_DM_00765]).
  • Interrupção da conexão de diagnóstico: Por meio do parâmetro cancellationHandler, a aplicação pode verificar via IsCanceled() se a conversa foi cancelada ou registrar, via SetNotifier(), uma função de notificação para um cancelamento ([SWS_DM_00764], [SWS_DM_00765]).
  • Persistência de tentativas com falha: O Diagnostic Management exige, após cada tentativa com falha de alteração de nível de segurança, o armazenamento persistente do contador para resistir a manipulações ou resets (AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation», [SWS_DM_00479]).

Este guia baseia-se na especificação AUTOSAR Adaptive R25-11 e resume os requisitos para a classe ara::diag::SecurityAccess.

Mapa de membros

Diagrama de classes

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

G nara__diag__SecurityAccess583 SecurityAccess + SecurityAccess() + operator=() + ~SecurityAccess() + CompareKey() + GetSeed() + Offer() + StopOffer()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

SecurityAccess função 3

Constructor of SecurityAccess.

Sobrecargas SecurityAccess 3
explicit SecurityAccess (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00762
SecurityAccess (SecurityAccess &)=delete; SWS_DM_01617
SecurityAccess (SecurityAccess &&) noexcept=delete; SWS_DM_01618

Destructor of SecurityAccess .

virtual ~SecurityAccess () noexcept;

Métodos

CompareKey função

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

virtual ara::core::Future< KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
GetSeed função

Called for any request messsage.

virtual ara::core::Future< ara::core::Vector< std::uint8_t > > GetSeed (ara::core::Span< const std::uint8_t > securityAccessDataRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) 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;

Operadores

operator= função 2

SecurityAccess shall be a single not assignable instance.

Sobrecargas = 2

Documentação dos métodos

função CompareKey [SWS_DM_00765] Upstream: RS_AP_00138, RS_Diag_04005, RS_Diag_04170, RS_AP_00119

virtual ara::core::Future< KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

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

usar

O método puramente virtual CompareKey da classe ara::diag::SecurityAccess [SWS_DM_00765] é implementado do lado da aplicação para validar a chave transmitida pelo cliente no serviço UDS 0x27 (SecurityAccess) SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess». Juntamente com GetSeed, ele forma a base para o mecanismo de seed-key estático de acordo com a ISO 14229-1 [SWS_DM_00863].

Os parâmetros da função abrangem:

  • key: Um ara::core::Span<const std::uint8_t> para os dados da chave a serem verificados. O buffer permanece válido até que a respetiva promise seja satisfeita ou o processamento seja cancelado através do cancellationHandler [SWS_DM_00765].
  • metaInfo: Metainformações da solicitação de diagnóstico recebida [SWS_DM_00765].
  • cancellationHandler: Permite consultar um cancelamento através de cancellationHandler.IsCanceled, bem como registrar uma função de notificação via cancellationHandler.SetNotifier em caso de cancelamento da conversa [SWS_DM_00765].

O resultado do teste é disponibilizado de forma assíncrona através de ara::core::Future<KeyCompareResultType> [SWS_DM_00765].

Tratamento de erros e interação

Se a comparação de chaves falhar ou se ocorrer um erro durante o processamento, um Negative Response Code (NRC) apropriado em conformidade com a ISO 14229-1 deve ser transmitido através do Future por meio de DiagUdsNrcErrc [SWS_DM_00765]. Se a subfunção solicitada não estiver configurada para CompareKey, a solicitação será respondida com NRC 0x12 (kSubFunctionNotSupported) [SWS_DM_00363]. O Diagnostic Server conta as tentativas com falha [SWS_DM_00270] e as compara com valores de limiar [SWS_DM_00271].

Se o acesso de segurança for desbloqueado com sucesso, o servidor atualiza internamente o nível de segurança [SWS_DM_00846], redefine o contador de tentativas falhadas [SWS_DM_00270] e reporta o evento de segurança SEV_UDS_SECURITY_ACCESS_SUCCESSFUL ao IdsM [SWS_DM_02019].

Simultaneidade e restrições

A interface está declarada como noexcept e é segura para exceções (exception safe) [SWS_DM_00765]. A segurança de thread é condicional (conditional): se a implementação precisa ser segura para threads é determinado através do ConcurrencyType passado no construtor de SecurityAccess [SWS_DM_00765].

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

Guia do implementador em breve (complexidade I2)

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

Parameter (in)

ParameterBeschreibung
keyThe key to be validated. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< KeyCompareResultType >Result of the key validation.

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_00765
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00765@rel:R25-11#aa8b5c7b
Content hash
aa8b5c7b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00765
Status: valid/unmigrated Version: rel:R25-11#fcff65aa 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_00765@rel:R25-11#fcff65aa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d4d3823f2026-09-30
  • R19-11rel:R19-11#4bf18d9e2026-10-14
  • R20-11rel:R20-11#52ff58612026-10-14
  • R21-11rel:R21-11#42d7f4462026-10-14
  • R22-11rel:R22-11#94736e912026-10-14
  • R23-11rel:R23-11#cbc123ea2026-10-14
  • R24-11rel:R24-11#e09a76d52026-10-14
  • R25-11rel:R25-11#fcff65aa2026-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 GetSeed [SWS_DM_00764] Upstream: RS_AP_00138, RS_Diag_04005, RS_Diag_04170, RS_AP_00119

virtual ara::core::Future< ara::core::Vector< std::uint8_t > > GetSeed (ara::core::Span< const std::uint8_t > securityAccessDataRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for any request messsage.

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

usar

O método puramente virtual ara::diag::SecurityAccess::GetSeed é chamado pela instância do servidor de diagnóstico assim que uma solicitação UDS para o serviço 0x27 SecurityAccess é recebida e o valor da subfunção transmitido coincide com a requestSeedId configurada [SWS_DM_00863]. Isto faz parte da implementação em conformidade com as normas do serviço 0x27 de acordo com a ISO 14229-1 [SWS_DM_00236].

A chamada passa os dados úteis fornecidos pelo cliente de diagnóstico através do parâmetro securityAccessDataRecord (como ara::core::Span), as informações de contexto em metaInfo bem como um objeto do tipo CancellationHandler [SWS_DM_00764]. Se o cliente não tiver enviado dados, o span de dados é passado vazio [SWS_DM_00863]. Os dados passados permanecem válidos até que a respetiva promise seja satisfeita ou o processamento seja cancelado [SWS_DM_00764].

Semântica assíncrona e concorrência

A função retorna de forma assíncrona um ara::core::Future<ara::core::Vector<std::uint8_t>> contendo o seed gerado [SWS_DM_00764]. Através do cancellationHandler, a aplicação pode verificar mediante IsCanceled se a conversação foi cancelada, ou registar uma notificação via SetNotifier [SWS_DM_00764]. Também um mecanismo de seed estático de acordo com a ISO 14229-1 deve ser implementado do lado da aplicação em GetSeed SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess».

Em relação à concorrência, o método é condicionalmente seguro para threads: se a implementação deve ser segura para threads é determinado através do ConcurrencyType passado ao construtor de SecurityAccess SWS Diagnostics §8.24.2.1.3.2 «GetSeed».

Tratamento de erros

Se nenhum seed válido puder ser determinado, o future deve ser concluído com um Negative Response Code (NRC) apropriado de acordo com a ISO 14229-1 através de DiagUdsNrcErrc [SWS_DM_00764]. A interface é declarada como noexcept e segura contra exceções [SWS_DM_00764].

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

Guia do implementador em breve (complexidade I2)

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

Parameter (in)

ParameterBeschreibung
securityAccessDataRecordSecurity Access payload, Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Vector<std::uint8_t > >provided seed

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_00764
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00764@rel:R25-11#8d2b154b
Content hash
8d2b154b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00764
Status: valid/unmigrated Version: rel:R25-11#78b36e49 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_00764@rel:R25-11#78b36e49
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2e6ffe502026-09-30
  • R19-11rel:R19-11#ec261d632026-10-14
  • R20-11rel:R20-11#d20d81e72026-10-14
  • R21-11rel:R21-11#9f3e5c3f2026-10-14
  • R22-11rel:R22-11#b2714bed2026-10-14
  • R23-11rel:R23-11#cb771e7d2026-10-14
  • R24-11rel:R24-11#e4519bf42026-10-14
  • R25-11rel:R25-11#78b36e492026-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_00766] Upstream: RS_AP_00139, RS_Diag_04005, RS_AP_00119

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: 03e774f47039 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::SecurityAccess::Offer ([SWS_DM_00766]) do cabeçalho ara/diag/security_access.h permite ao Diagnostic Manager (DM) encaminhar mensagens de requisição (Request Messages) recebidas para o manipulador registrado para o acesso de segurança. A chamada ocorre de forma síncrona sem parâmetros de entrada e retorna um ara::core::Result<void>.

Tratamento de erros

Em caso de falha, o objeto de retorno fornece um código de erro. Se o serviço já estiver registrado na instância, DiagOfferErrc::kAlreadyOffered é retornado ([SWS_DM_00766]). A função está declarada como noexcept e garante segurança contra exceções (exception safe).

Simultaneidade e restrições

A interface está especificada como não thread-safe (not thread-safe) ([SWS_DM_00766]). Chamadas concorrentes na mesma instância devem ser sincronizadas pela aplicação. Interpretação: chamadas múltiplas e não coordenadas presumivelmente seriam sempre rejeitadas com kAlreadyOffered sem a revogação prévia da oferta. Pergunta Q-848ccd3c78403eea (aberta)

Interação

A oferta de funcionalidade por meio de Offer segue o padrão de ativação uniforme do diagnóstico AUTOSAR Adaptive, como também definido para ServiceValidation ([SWS_DM_00776]) ou DoIPGroupIdentification ([SWS_DM_00725]). Apesar da homonímia com interfaces de comunicação, trata-se de uma implementação específica de diagnóstico que não deve ser misturada com ara::com (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/security_access.h"
Scopeclass ara::diag::SecurityAccess
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_00766
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00766@rel:R25-11#74f0a9b1
Content hash
74f0a9b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00766
Status: valid/unmigrated Version: rel:R25-11#00210900 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_00766@rel:R25-11#00210900
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#56ad395b2026-09-30
  • R19-11rel:R19-11#d015c3bb2026-10-14
  • R20-11rel:R20-11#5653979a2026-10-14
  • R21-11rel:R21-11#d5a352932026-10-14
  • R22-11rel:R22-11#4dd706ea2026-10-14
  • R23-11rel:R23-11#898492102026-10-14
  • R24-11rel:R24-11#6e0b7b5e2026-10-14
  • R25-11rel:R25-11#002109002026-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 SecurityAccess [SWS_DM_00762] Upstream: RS_AP_00137, RS_Diag_04005, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

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

Constructor of SecurityAccess.

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

usar

O construtor explícito inicializa uma instância de ara::diag::SecurityAccess de forma síncrona e segura contra exceções ([SWS_DM_00762]). Recebe como parâmetros uma referência para um ara::core::InstanceSpecifier bem como um ConcurrencyType. O parâmetro specifier tem de referenciar um PortPrototype modelado que esteja tipificado por um DiagnosticSecurityLevelInterface. Através de concurrencyType define-se se os métodos de callback da interface são processados de forma concorrente (kConcurrent) ou não concorrente (kNotConcurrent).

Tratamento de erros

A função está declarada com noexcept ([SWS_DM_00762]). Em caso de configurações incorretas da modelação, podem ocorrer as seguintes violações:

  • InstanceSpecifierMappingIntegrityViolation: O InstanceSpecifier não pode ser resolvido no contexto de execução ou não faz referência a um PortPrototype.
  • PortInterfaceMappingViolation: o PortPrototype referenciado não está tipificado como DiagnosticSecurityLevelInterface.
  • ProcessMappingViolation: Não existe nenhum processo modelado correspondente em tempo de execução para o identificador de instância.
  • InstanceSpecifierAlreadyInUseViolation: o InstanceSpecifier já está a ser utilizado dentro do processo.

Interpretação: a ocorrência de uma violação deste tipo deverá levar internamente no framework a uma interrupção em tempo de execução ou a um tratamento de segurança, uma vez que o construtor não reporta códigos de erro através de um valor de retorno. Pergunta Q-de6e36dc7947326e (aberta)

Simultaneidade e restrições

O próprio construtor está especificado como seguro para threads ([SWS_DM_00762]). Os construtores de cópia e de movimentação, bem como os respetivos operadores de atribuição, estão explicitamente eliminados ([SWS_DM_01617], [SWS_DM_01618], [SWS_DM_01615], [SWS_DM_01616]); uma instância não pode, portanto, ser copiada nem movida. O concurrencyType passado no construtor determina se os métodos virtuais GetSeed ([SWS_DM_00764]) e CompareKey ([SWS_DM_00765]) têm de ser disponibilizados de forma segura para threads. Já o destrutor não é seguro para threads ([SWS_DM_00763]).

Interação

Após a instanciação, a aplicação tem de chamar Offer ([SWS_DM_00766]) para que o Diagnostic Server (DM) encaminhe pedidos UDS recebidos para o serviço 0x27 (SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess», [SWS_DM_00236]). Se a subfunção for correspondente, o servidor encaminha os pedidos para GetSeed ([SWS_DM_00863]). O encaminhamento pode ser desativado novamente com StopOffer ([SWS_DM_00767]).

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

Guia do implementador em breve (complexidade I3)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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 DiagnosticSecurityLevelPortMapping needs to be typed by a DiagnosticSecurityLevelInterface. 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 DiagnosticSecurityLevelInterface.
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_00762
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00762@rel:R25-11#c8b367dc
Content hash
c8b367dc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00762
Status: valid/unmigrated Version: rel:R25-11#d28cef1a 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_00762@rel:R25-11#d28cef1a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#043c5c7d2026-09-30
  • R19-11rel:R19-11#7b2a44bb2026-10-14
  • R20-11rel:R20-11#7227b8b52026-10-14
  • R21-11rel:R21-11#7227b8b52026-10-14
  • R22-11rel:R22-11#63feab942026-10-14
  • R23-11rel:R23-11#00b457c22026-10-14
  • R24-11rel:R24-11#9298af8d2026-10-14
  • R25-11rel:R25-11#d28cef1a2026-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 SecurityAccess [SWS_DM_01617] Upstream: RS_AP_00147

SecurityAccess (SecurityAccess &)=delete;

SecurityAccess shall be a single not copy-able instance.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01617
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01617@rel:R25-11#4e4012cf
Content hash
4e4012cf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01617
Status: valid/unmigrated Version: rel:R25-11#d3831de3 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_01617@rel:R25-11#d3831de3
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#3fb7c46d2026-09-30
  • R23-11rel:R23-11#50f56be22026-10-14
  • R24-11rel:R24-11#177a95552026-10-14
  • R25-11rel:R25-11#d3831de32026-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 SecurityAccess [SWS_DM_01618] Upstream: RS_AP_00147

SecurityAccess (SecurityAccess &&) noexcept=delete;

Move constructor of SecurityAccess.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01618
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01618@rel:R25-11#58efa786
Content hash
58efa786
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01618
Status: valid/unmigrated Version: rel:R25-11#99b5fc60 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_01618@rel:R25-11#99b5fc60
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b7a6da4b2026-09-30
  • R23-11rel:R23-11#f9d976f12026-10-14
  • R24-11rel:R24-11#99b5fc602026-10-14
  • R25-11rel:R25-11#99b5fc602026-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_00767] Upstream: RS_Diag_04005

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

usar

A função-membro StopOffer da classe ara::diag::SecurityAccess (cabeçalho ara/diag/security_access.h) serve para desativar o encaminhamento de mensagens de solicitação recebidas do Diagnostic Management (DM) para a instância [SWS_DM_00767]. A chamada ocorre de forma síncrona, não aceita parâmetros e não possui valor de retorno (void) [SWS_DM_00767].

Tratamento de erros

A função é declarada com noexcept e classificada como segura contra exceções (exception safe) [SWS_DM_00767]. Não são relatados códigos de erro nem exceções C++; um comportamento incorreto ou estado de exceção durante o cancelamento de registro não está previsto na especificação da interface [SWS_DM_00767].

Simultaneidade e restrições

Segundo a especificação, StopOffer não é seguro para threads (not thread-safe) [SWS_DM_00767]. Se múltiplas threads de uma Adaptive Application acessarem concorrentemente a mesma instância de ara::diag::SecurityAccess, a chamada deverá ser sincronizada externamente.

Interação

O método faz parte de um padrão funcional intermodular na área de DM. Métodos StopOffer semelhantes existem para inúmeros outros serviços de diagnóstico, tais como:

Embora a nomenclatura seja inspirada na disponibilização de serviços em ara::com, trata-se de uma implementação de diagnóstico independente para controlar o fluxo de mensagens dentro de ara::diag AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

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

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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_00767
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00767@rel:R25-11#be1be264
Content hash
be1be264
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00767
Status: valid/unmigrated Version: rel:R25-11#942cb137 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_00767@rel:R25-11#942cb137
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f72493482026-09-30
  • R19-11rel:R19-11#78ac458e2026-10-14
  • R20-11rel:R20-11#d7a868c22026-10-14
  • R21-11rel:R21-11#84fad67f2026-10-14
  • R22-11rel:R22-11#8e125bd42026-10-14
  • R23-11rel:R23-11#70d9a1082026-10-14
  • R24-11rel:R24-11#4b26aa9f2026-10-14
  • R25-11rel:R25-11#942cb1372026-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_01615] Upstream: RS_AP_00147

SecurityAccess & operator= (SecurityAccess &)=delete;

SecurityAccess shall be a single not assignable instance.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01615
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01615@rel:R25-11#e94a5492
Content hash
e94a5492
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01615
Status: valid/unmigrated Version: rel:R25-11#860bde59 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_01615@rel:R25-11#860bde59
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b9674d212026-09-30
  • R23-11rel:R23-11#2062081c2026-10-14
  • R24-11rel:R24-11#860bde592026-10-14
  • R25-11rel:R25-11#860bde592026-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_01616] Upstream: RS_AP_00147

SecurityAccess & operator= (SecurityAccess &&)=delete;

Move assignment operator of SecurityAccess.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01616
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01616@rel:R25-11#b01a1105
Content hash
b01a1105
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01616
Status: valid/unmigrated Version: rel:R25-11#7c8f632b 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_01616@rel:R25-11#7c8f632b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#362e1d632026-09-30
  • R23-11rel:R23-11#340c00fd2026-10-14
  • R24-11rel:R24-11#7c8f632b2026-10-14
  • R25-11rel:R25-11#7c8f632b2026-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 ~SecurityAccess [SWS_DM_00763] Upstream: RS_AP_00134, RS_Diag_04005

virtual ~SecurityAccess () noexcept;

Destructor of SecurityAccess .

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

O destruidor virtual ~SecurityAccess [SWS_DM_00763] encerra o ciclo de vida de uma instância da classe de serviço ara::diag::SecurityAccess no módulo Diagnostics AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 «Destructor». A interface é disponibilizada através do cabeçalho #include "ara/diag/security_access.h" [SWS_DM_00763]. A execução ocorre de forma síncrona, não recebendo a função parâmetros de passagem nem fornecendo valor de retorno [SWS_DM_00763].

No que diz respeito ao tratamento de erros, a operação é classificada como exception safe e declarada com noexcept [SWS_DM_00763]. Consequentemente, não lança quaisquer exceções. Códigos de erro específicos, bem como mensagens de erro para gestores de erros de desenvolvimento ou de diagnóstico (DET ou DEM), não estão previstos na especificação para a destruição do objeto [SWS_DM_00763].

Relativamente à concorrência, a função é expressamente classificada como not thread-safe [SWS_DM_00763]. A destruição do objeto nunca deve ocorrer em simultâneo com chamadas de outros métodos na mesma instância. Aplica-se como interpretação: Deverá ser necessário concluir de forma ordenada todas as atividades de diagnóstico e de acesso de segurança em curso desta instância antes da destruição, uma vez que acessos simultâneos levam a comportamento indefinido. Pergunta Q-12c13e3eebd9e574 (aberta)

Na interação com a plataforma, a função serve para a implementação dos upstream requirements RS_AP_00134 e RS_Diag_04005 AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 «Destructor».

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

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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_00763
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00763@rel:R25-11#b1c041cd
Content hash
b1c041cd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00763
Status: valid/unmigrated Version: rel:R25-11#8b163b56 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_00763@rel:R25-11#8b163b56
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#98bb90f72026-09-30
  • R19-11rel:R19-11#1b925c952026-10-14
  • R20-11rel:R20-11#fdb51c102026-10-14
  • R21-11rel:R21-11#5d5e7b7a2026-10-14
  • R22-11rel:R22-11#c67efa4a2026-10-14
  • R23-11rel:R23-11#fccf37df2026-10-14
  • R24-11rel:R24-11#8b163b562026-10-14
  • R25-11rel:R25-11#8b163b562026-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