DEENESPTFRRUARHIKOZHNL

structure 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

Guide utilisateurGÉNÉRÉ PAR IA

Fournit les octets de challenge et la période de validité pour le contrôle de proximité SOVD.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3ac9286258b1 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Fournit les octets de challenge et la période de validité pour le contrôle de proximité SOVD.

La structure de données ara::diag::SovdProximityChallengeType sert de type de retour pour SovdProximityChallenge::GetChallenge() et regroupe les données requises pour le contrôle de proximité SOVD [SWS_DM_01482]. Elle fournit au client SOVD une séquence d'octets de challenge sous forme de ara::core::Span ainsi que l'instant de validité associé valid_until [SWS_DM_01492]. Le client doit résoudre le challenge avant que cet instant ne soit atteint, tandis que le tampon référencé doit rester valide en mémoire pendant toute la durée d'utilisation.

Contexte

La structure de données ara::diag::SovdProximityChallengeType sert, au sein du module Diagnostics (ara::diag) de l'AUTOSAR Adaptive Platform, de conteneur de retour standardisé pour les vérifications de sécurité et de proximité [SWS_DM_01482]. Concrètement, la structure reçoit les données de résultat de l'appel de méthode SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 « Struct: SovdProximityChallengeType ». La tâche essentielle de cette structure consiste à fournir au client SOVD (Service-Oriented Vehicle Diagnostics) tous les paramètres nécessaires avec lesquels celui-ci peut apporter la preuve physique de la proximité du véhicule (Proximity) [SWS_DM_01492].

Dans l'interaction, SovdProximityChallengeType agit comme un pur objet de transfert entre l'instance de diagnostic fournisseuse SovdProximityChallenge et le client SOVD demandeur [SWS_DM_01482]. La structure regroupe deux attributs fondamentaux : la séquence de challenge challenge ainsi que la date d'expiration absolue valid_until AUTOSAR_AP_SWS_Diagnostics §8.56.3.1 « Public Member Variables ». Interprétation : la structure elle-même n'encapsule aucune logique métier, mais fait office de pur objet-valeur Plain Old Data (POD) pour la transmission de paramètres sans état. Question Q-d2f4870d4cfaf724 (ouverte)

Cycle de vie

Le cycle de vie d'une instance de SovdProximityChallengeType commence avec sa création par l'interface de diagnostic appelante SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 « Struct: SovdProximityChallengeType ». La structure possède une sémantique de valeur (Value Semantics), en vertu de laquelle elle est transmise à l'appelant après l'appel par copie ou déplacement (move).

Concernant les relations de propriété, une distinction importante doit être prise en compte pour les variables membres :

  • L'élément de données challenge est défini comme ara::core::Span<ara::core::Byte> [SWS_DM_01492]. Un ara::core::Span est une vue sans propriété (Non-owning View) sur une séquence d'octets contiguë en mémoire. Vraisemblablement, la zone mémoire vers laquelle pointe ce span doit être gérée par le composant de diagnostic sous-jacent et rester valide au moins aussi longtemps que le span fait l'objet d'un accès. Question (ouverte)
  • L'élément de données valid_until stocke un horodatage absolu de type std::chrono::system_clock::time_point [SWS_DM_01491]. Cet horodatage définit directement la période de validité fonctionnelle du challenge dans le système global.

La destruction du struct s'effectue automatiquement selon les règles régulières de C++ lors de la sortie de la portée (scope) de l'appelant. Comme le struct lui-même n'alloue pas de mémoire dynamique, sa destruction est triviale, mais nécessite toutefois de respecter la durée de vie du tampon de données sous-jacent du span [SWS_DM_01492].

Parcours d'utilisation

Le chemin d'utilisation typique dans le contexte du contrôle de proximité SOVD se divise en une séquence fixe d'interrogation, d'évaluation et de fourniture de preuve :

  1. Une application de diagnostic ou le service SOVD déclenche le contrôle de proximité et appelle SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 « Struct: SovdProximityChallengeType ».
  2. Comme valeur de retour, une instance de SovdProximityChallengeType est générée, qui est renseignée avec les octets de challenge générés et l'instant d'expiration [SWS_DM_01482].
  3. Le récepteur lit challenge sous forme de span d'octets afin de transmettre la tâche à résoudre au client SOVD [SWS_DM_01492].
  4. En parallèle, l'horodatage valid_until est évalué afin de définir la fenêtre temporelle pour la preuve [SWS_DM_01491].
  5. Le client SOVD résout le challenge et transmet la preuve avant que l'instant marqué par valid_until ne soit atteint [SWS_DM_01491], [SWS_DM_01492].
Déroulement de la mise à disposition et de l'évaluation du proximity challengeSOVD-ClientSovdProximityChallengeSovdProximityChallengeTypeAnforderung Proximity-ChallengeExécuter GetChallenge()Instanciation avec challenge (Span) et valid_untilRetour de SovdProximityChallengeTypeLecture de challenge et valid_untilRésoudre le challenge avant l'expiration de valid_until

Diagramme de séquence : déroulement typique de l'interrogation et de l'évaluation du challenge dans le cadre du contrôle de proximité SOVD. Sources : [SWS_DM_01482], [SWS_DM_01491], [SWS_DM_01492], AUTOSAR_AP_SWS_Diagnostics §8.56.3 « Struct: SovdProximityChallengeType ».

Scénarios d'erreur

Lors de l'utilisation de SovdProximityChallengeType, deux conditions limites critiques pour les erreurs doivent notamment être prises en compte :

  • Dépassement de délai (timeout) : lorsque le temps système atteint l'horodatage spécifié dans valid_until std::chrono::system_clock::time_point [SWS_DM_01491], le challenge perd sa validité. Interprétation : une tentative de résolution du client SOVD arrivant après l'expiration de valid_until devrait être rejetée comme non valide par l'instance de diagnostic effectuant la vérification, ce qui rend nécessaire un nouvel appel de SovdProximityChallenge::GetChallenge(). Question Q-ab9b44a73c189384 (ouverte)
  • Référence mémoire invalide (dangling span) : puisque challenge est implémenté en tant que ara::core::Span<ara::core::Byte> sans propriété [SWS_DM_01492], un accès aux octets après la destruction ou la réallocation du tampon sous-jacent entraîne un comportement indéfini. L'appelant doit garantir que le tampon d'octets référencé est conservé en mémoire pendant toute la durée d'utilisation du span.

Ce guide repose sur la spécification AUTOSAR pour l'Adaptive Platform (Release R25-11) et décrit la structure ara::diag::SovdProximityChallengeType comme conteneur de données pour les contrôles de proximité SOVD.

Diagramme 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 variable

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

valid_until variable

The time until the challenge is valid.

Documentation des 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