DEENESPTFRRUARHIKOZHNL

estructura 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

Guía del usuarioGENERADO POR IA

Proporciona los bytes de challenge y el periodo de validez para la verificación de proximidad SOVD.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 3ac9286258b1 Procedencia Preguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Proporciona los bytes de challenge y el periodo de validez para la verificación de proximidad SOVD.

La estructura de datos ara::diag::SovdProximityChallengeType sirve como tipo de retorno para SovdProximityChallenge::GetChallenge() y agrupa los datos necesarios para la verificación de proximidad SOVD [SWS_DM_01482]. Proporciona al cliente SOVD una secuencia de bytes de challenge como ara::core::Span, así como el correspondiente instante de validez valid_until [SWS_DM_01492]. El cliente debe resolver el challenge antes de alcanzar dicho instante, mientras que el búfer referenciado debe permanecer válido en la memoria durante todo el periodo de uso.

Contexto

La estructura de datos ara::diag::SovdProximityChallengeType sirve, dentro del módulo de Diagnostics (ara::diag) de la AUTOSAR Adaptive Platform, como contenedor de retorno estandarizado para comprobaciones de seguridad y de proximidad [SWS_DM_01482]. Concretamente, la estructura aloja los datos de resultado de la invocación del método SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType». La tarea esencial de esta estructura consiste en proporcionar al cliente SOVD (Service-Oriented Vehicle Diagnostics) todos los parámetros necesarios con los que este pueda aportar la prueba física de proximidad al vehículo (proximity) [SWS_DM_01492].

En la interacción, SovdProximityChallengeType actúa como un mero objeto de transferencia entre la instancia de diagnóstico proveedora SovdProximityChallenge y el cliente SOVD solicitante [SWS_DM_01482]. La estructura agrupa dos atributos fundamentales: la secuencia de challenge challenge, así como la fecha de caducidad absoluta valid_until AUTOSAR_AP_SWS_Diagnostics §8.56.3.1 «Public Member Variables». Interpretación: La propia estructura no encapsula lógica de negocio, sino que actúa como un objeto de valor Plain Old Data (POD) puro para el paso de parámetros sin estado. Pregunta Q-d2f4870d4cfaf724 (abierta)

Ciclo de vida

El ciclo de vida de una instancia de SovdProximityChallengeType comienza con su creación por parte de la interfaz de diagnóstico emisora de la llamada SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType». La estructura posee semántica por valor (Value Semantics), por lo que, tras la invocación, se transfiere al emisor de la llamada mediante copia o movimiento (Move).

En cuanto a las relaciones de propiedad, debe tenerse en cuenta una diferenciación importante en las variables miembro:

  • El elemento de datos challenge está definido como ara::core::Span<ara::core::Byte> [SWS_DM_01492]. Un ara::core::Span es una vista no propietaria (Non-owning View) sobre una secuencia contigua de bytes en memoria. Es de suponer que el área de memoria a la que apunta este span deba ser gestionada por el componente de diagnóstico subyacente y permanecer válida al menos mientras se acceda al span. Pregunta (abierta)
  • El elemento de datos valid_until almacena una marca de tiempo absoluta de tipo std::chrono::system_clock::time_point [SWS_DM_01491]. Esta marca de tiempo define directamente el periodo de validez funcional del challenge en el sistema global.

La destrucción del struct se realiza automáticamente según las reglas regulares de C++ al salir del ámbito (scope) del emisor de la llamada. Dado que el propio struct no asigna memoria dinámica, su destrucción es trivial; sin embargo, requiere prestar atención a la duración del ciclo de vida del búfer de datos subyacente del span [SWS_DM_01492].

Ruta de uso

La ruta de uso típica en el contexto de la verificación de proximidad SOVD se divide en una secuencia fija de consulta, evaluación y aportación de la prueba:

  1. Una aplicación de diagnóstico o el servicio SOVD inicia la comprobación de proximidad e invoca SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType».
  2. Como valor de retorno se genera una instancia de SovdProximityChallengeType, completada con los bytes de challenge generados y el instante de caducidad [SWS_DM_01482].
  3. El receptor lee challenge como byte-span para transmitir al cliente SOVD la tarea que se debe resolver [SWS_DM_01492].
  4. Paralelamente, se evalúa la marca de tiempo valid_until para establecer la ventana temporal para la prueba [SWS_DM_01491].
  5. El cliente SOVD resuelve el challenge y transmite la prueba antes de que se alcance el instante marcado por valid_until [SWS_DM_01491], [SWS_DM_01492].
Flujo del suministro y la evaluación de Proximity ChallengeSOVD-ClientSovdProximityChallengeSovdProximityChallengeTypeAnforderung Proximity-ChallengeEjecutar GetChallenge()Instanciación con challenge (Span) y valid_untilDevolución de SovdProximityChallengeTypeLectura de challenge y valid_untilResolver challenge antes de que expire valid_until

Diagrama de secuencia: Flujo típico de la consulta y evaluación de challenge en el marco de la comprobación de proximidad SOVD. Fuentes: [SWS_DM_01482], [SWS_DM_01491], [SWS_DM_01492], AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType».

Escenarios de error

Al utilizar SovdProximityChallengeType deben tenerse en cuenta especialmente dos condiciones límite críticas para los errores:

  • Expiración de tiempo (Timeout): si la hora del sistema alcanza la marca de tiempo especificada en valid_until std::chrono::system_clock::time_point [SWS_DM_01491], el challenge pierde su validez. Interpretación: Es de suponer que un intento de solución por parte del cliente SOVD que llegue tras la expiración de valid_until sea rechazado como no válido por la instancia de diagnóstico verificadora, lo que requerirá una nueva invocación de SovdProximityChallenge::GetChallenge(). Pregunta Q-ab9b44a73c189384 (abierta)
  • Referencia de memoria no válida (Dangling Span): dado que challenge está implementado como un ara::core::Span<ara::core::Byte> no propietario [SWS_DM_01492], el acceso a los bytes tras la destrucción o reasignación del búfer subyacente provoca un comportamiento indefinido. El emisor de la llamada debe garantizar que el búfer de bytes referenciado se mantenga en memoria durante todo el periodo de uso del span.

Esta guía se basa en la especificación AUTOSAR para la Adaptive Platform (Release R25-11) y describe la estructura ara::diag::SovdProximityChallengeType como contenedor de datos para verificaciones de proximidad SOVD.

Diagrama de clases UML

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

G nara__diag__SovdProximityChallengeType366 «struct» SovdProximityChallengeType + challenge + valid_until

Constantes

challenge variable

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

valid_until variable

The time until the challenge is valid.

Documentación de las constantes / variables

variable 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#497a6786
Content hash
497a6786
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

variable 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#c6564b8a
Content hash
c6564b8a
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