DEENESPTFRRUARHIKOZHNL

estrutura ara::diag::SovdProximityChallengeType

[SWS_DM_01482] Upstream: RS_Diag_04262

struct SovdProximityChallengeType {...};

Holds the data returned by the SovdProximityChallenge::GetChallenge()

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

Guia do utilizadorGERADO POR IA

Disponibiliza os bytes de desafio (challenge) e o período de validade para a verificação de proximidade SOVD.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 3ac9286258b1 Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Disponibiliza os bytes de desafio (challenge) e o período de validade para a verificação de proximidade SOVD.

A estrutura de dados ara::diag::SovdProximityChallengeType serve como tipo de retorno para SovdProximityChallenge::GetChallenge() e reúne os dados necessários para a verificação de proximidade SOVD [SWS_DM_01482]. Ela disponibiliza ao cliente SOVD uma sequência de bytes de desafio como ara::core::Span, bem como o respectivo instante de validade valid_until [SWS_DM_01492]. O cliente deve resolver o desafio antes de atingir esse instante, enquanto o buffer referenciado deve permanecer válido na memória durante todo o período de utilização.

Contexto

A estrutura de dados ara::diag::SovdProximityChallengeType serve, dentro do módulo de diagnóstico (ara::diag) da AUTOSAR Adaptive Platform, como contêiner de retorno padronizado para verificações de segurança e proximidade [SWS_DM_01482]. Especificamente, a estrutura recebe os dados de resultado da chamada do método SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType». A tarefa essencial dessa estrutura consiste em disponibilizar ao cliente SOVD (Service-Oriented Vehicle Diagnostics) todos os parâmetros necessários com os quais ele possa fornecer a comprovação física da proximidade do veículo (proximity) [SWS_DM_01492].

Na interação, SovdProximityChallengeType atua como mero objeto de transferência entre a instância de diagnóstico provedora SovdProximityChallenge e o cliente SOVD solicitante [SWS_DM_01482]. A estrutura reúne dois atributos fundamentais: a sequência de desafio challenge e a data de expiração absoluta valid_until AUTOSAR_AP_SWS_Diagnostics §8.56.3.1 «Public Member Variables». Interpretação: a própria estrutura não encapsula lógica de negócios, mas atua puramente como um objeto de valor Plain Old Data (POD) para a passagem de parâmetros sem estado. Pergunta Q-d2f4870d4cfaf724 (aberta)

Ciclo de vida

O ciclo de vida de uma instância de SovdProximityChallengeType inicia-se com a sua criação pela interface de diagnóstico chamadora SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType». A estrutura possui semântica de valor (value semantics), sendo repassada ao chamador após a chamada por meio de cópia ou movimentação (move).

No que diz respeito às relações de posse, deve-se observar uma diferenciação importante nas variáveis de membro:

  • O elemento de dados challenge é definido como ara::core::Span<ara::core::Byte> [SWS_DM_01492]. Um ara::core::Span é uma visão sem posse (non-owning view) de uma sequência contígua de bytes na memória. Presumivelmente, a área de memória para a qual esse span aponta precisa ser gerenciada pelo componente de diagnóstico subjacente e permanecer válida pelo menos enquanto o span for acessado. Pergunta (aberta)
  • O elemento de dados valid_until armazena um carimbo de data/hora absoluto do tipo std::chrono::system_clock::time_point [SWS_DM_01491]. Esse carimbo de data/hora define diretamente o período de validade técnico do desafio no sistema como um todo.

A destruição da struct ocorre automaticamente de acordo com as regras regulares de C++ ao sair do escopo (scope) do chamador. Como a própria struct não aloca memória dinâmica, a destruição é trivial, exigindo, contudo, a atenção ao tempo de vida do buffer de dados subjacente do span [SWS_DM_01492].

Caminho de utilização

O fluxo de utilização típico no contexto da verificação de proximidade SOVD divide-se em uma sequência fixa de consulta, avaliação e apresentação de comprovação:

  1. Uma aplicação de diagnóstico ou o serviço SOVD dispara a verificação de proximidade e chama SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType».
  2. Como valor de retorno, é gerada uma instância de SovdProximityChallengeType preenchida com os bytes de desafio gerados e o momento de expiração [SWS_DM_01482].
  3. O receptor lê challenge como byte span para transmitir a tarefa a ser resolvida ao cliente SOVD [SWS_DM_01492].
  4. Paralelamente a isso, o carimbo de data/hora valid_until é avaliado para definir a janela de tempo para a comprovação [SWS_DM_01491].
  5. O cliente SOVD resolve o desafio e transmite a comprovação antes que o momento marcado por valid_until seja atingido [SWS_DM_01491], [SWS_DM_01492].
Fluxo de disponibilização e avaliação do desafio de proximidadeSOVD-ClientSovdProximityChallengeSovdProximityChallengeTypeAnforderung Proximity-ChallengeExecutar GetChallenge()Instanciação com challenge (Span) e valid_untilRetorno de SovdProximityChallengeTypeLeitura de challenge e valid_untilResolver o challenge antes da expiração de valid_until

Diagrama de sequência: fluxo típico da consulta e avaliação de desafios no âmbito da verificação de proximidade SOVD. Fontes: [SWS_DM_01482], [SWS_DM_01491], [SWS_DM_01492], AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType».

Cenários de erro

Na utilização de SovdProximityChallengeType, devem ser consideradas especialmente duas condições de contorno críticas para falhas:

  • Tempo esgotado (timeout): se o tempo do sistema atingir o carimbo de data/hora especificado em valid_until std::chrono::system_clock::time_point [SWS_DM_01491], o desafio perderá a sua validade. Interpretação: uma tentativa de resolução por parte do cliente SOVD que chegue após a expiração de valid_until provavelmente deverá ser rejeitada como inválida pela instância de diagnóstico verificadora, tornando necessária uma nova chamada de SovdProximityChallenge::GetChallenge(). Pergunta Q-ab9b44a73c189384 (aberta)
  • Referência de memória inválida (dangling span): como challenge é implementado como ara::core::Span<ara::core::Byte> sem posse [SWS_DM_01492], um acesso aos bytes após a destruição ou realocação do buffer subjacente leva a um comportamento indefinido. O chamador deve assegurar que o buffer de bytes referenciado permaneça preservado na memória durante todo o período de utilização do span.

Este guia baseia-se na especificação AUTOSAR para a Adaptive Platform (Release R25-11) e descreve a estrutura ara::diag::SovdProximityChallengeType como contêiner de dados para verificações de proximidade SOVD.

Diagrama de classes UML

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

G nara__diag__SovdProximityChallengeType366 «struct» SovdProximityChallengeType + challenge + valid_until

Constantes

challenge variável

Challenge which has to be solved by the SOVD client to prove proximity.

valid_until variável

The time until the challenge is valid.

Documentação das constantes / variáveis

variável challenge [SWS_DM_01492] Upstream: RS_Diag_04262

ara::core::Span<ara::core::Byte> challenge;

Challenge which has to be solved by the SOVD client to prove proximity.

Header-Datei#include "ara/diag/sovd_proximity_challenge.h"
Scopestruct ara::diag::SovdProximityChallengeType
Symbolchallenge
Typara::core::Span< ara::core::Byte >

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

Record
AUTOSAR/AP/record/SWS_DM_01492
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01492@rel:R25-11#3e0b598a
Content hash
3e0b598a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01492
Status: valid/unmigrated Version: rel:R25-11#e253ee2f 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_01492@rel:R25-11#e253ee2f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#497a67862026-09-30
  • R22-11rel:R22-11#ee00d0182026-10-14
  • R23-11rel:R23-11#e253ee2f2026-10-14
  • R24-11rel:R24-11#e253ee2f2026-10-14
  • R25-11rel:R25-11#e253ee2f2026-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

variável valid_until [SWS_DM_01491] Upstream: RS_Diag_04262

std::chrono::system_clock::time_point valid_until;

The time until the challenge is valid.

Header-Datei#include "ara/diag/sovd_proximity_challenge.h"
Scopestruct ara::diag::SovdProximityChallengeType
Symbolvalid_until
Typstd::chrono::system_clock::time_point

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

Record
AUTOSAR/AP/record/SWS_DM_01491
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01491@rel:R25-11#079e9f46
Content hash
079e9f46
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01491
Status: valid/unmigrated Version: rel:R25-11#486011a8 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_01491@rel:R25-11#486011a8
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c6564b8a2026-09-30
  • R22-11rel:R22-11#721ac4e82026-10-14
  • R23-11rel:R23-11#486011a82026-10-14
  • R24-11rel:R24-11#486011a82026-10-14
  • R25-11rel:R25-11#486011a82026-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