DEENESPTFRRUARHIKOZHNL

структура 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

Руководство пользователяСОЗДАНО ИИ

Предоставляет байты запроса (challenge) и период действия для проверки близости SOVD.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3ac9286258b1 Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Предоставляет байты запроса (challenge) и период действия для проверки близости SOVD.

Структура данных ara::diag::SovdProximityChallengeType служит типом возвращаемого значения для SovdProximityChallenge::GetChallenge() и объединяет данные, необходимые для проверки близости SOVD [SWS_DM_01482]. Она предоставляет SOVD-клиенту последовательность байтов challenge в виде ara::core::Span, а также соответствующее время истечения срока действия valid_until [SWS_DM_01492]. Клиент должен решить challenge до наступления этого момента времени, в то время как ссылаемый буфер должен оставаться действительным в памяти на протяжении всего времени использования.

Контекст

Структура данных ara::diag::SovdProximityChallengeType служит в модуле Diagnostics (ara::diag) платформы AUTOSAR Adaptive Platform стандартизированным контейнером возвращаемого значения для проверок безопасности и близости (proximity) [SWS_DM_01482]. Конкретно структура принимает данные результата вызова метода SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType». Основная задача этой структуры заключается в предоставлении SOVD-клиенту (Service-Oriented Vehicle Diagnostics) всех необходимых параметров, с помощью которых он может предоставить физическое подтверждение близости к автомобилю (proximity) [SWS_DM_01492].

При взаимодействии SovdProximityChallengeType действует как чистый объект передачи между предоставляющим диагностическим экземпляром SovdProximityChallenge и запрашивающим SOVD-клиентом [SWS_DM_01482]. Структура объединяет два фундаментальных атрибута: последовательность challenge challenge, а также абсолютный срок действия valid_until AUTOSAR_AP_SWS_Diagnostics §8.56.3.1 «Public Member Variables». Интерпретация: сама структура не инкапсулирует бизнес-логику, а функционирует как чистый объект-значение Plain Old Data (POD) для передачи параметров без сохранения состояния. Вопрос Q-d2f4870d4cfaf724 (открытый)

Жизненный цикл

Жизненный цикл экземпляра SovdProximityChallengeType начинается с его создания вызывающим диагностическим интерфейсом SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType». Структура обладает семантикой значений (Value Semantics), благодаря чему после вызова она передается вызывающей стороне путем копирования или перемещения (move).

Что касается отношений владения, в переменных-членах следует учитывать важное различие:

  • Элемент данных challenge определен как ara::core::Span<ara::core::Byte> [SWS_DM_01492]. ara::core::Span представляет собой невладеющее представление (non-owning view) непрерывной последовательности байтов в памяти. Предположительно, область памяти, на которую указывает этот span, должна управляться нижележащим диагностическим компонентом и оставаться действительной как минимум до тех пор, пока осуществляется доступ к span. Вопрос (открытый)
  • Элемент данных valid_until сохраняет абсолютную временную метку типа std::chrono::system_clock::time_point [SWS_DM_01491]. Эта временная метка напрямую определяет период функциональной валидности challenge в общей системе.

Уничтожение структуры происходит автоматически согласно стандартным правилам C++ при выходе из области видимости (scope) вызывающей стороны. Поскольку сама структура не выделяет динамическую память, уничтожение тривиально, однако требует учета времени жизни базового буфера данных диапазона [SWS_DM_01492].

Путь использования

Типовой путь использования в контексте проверки близости SOVD подразделяется на фиксированную последовательность запроса, анализа и предоставления подтверждения:

  1. Диагностическое приложение или служба SOVD инициирует проверку proximity и вызывает SovdProximityChallenge::GetChallenge() AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType».
  2. В качестве возвращаемого значения создается экземпляр SovdProximityChallengeType, заполненный сгенерированными байтами challenge и временем истечения срока действия [SWS_DM_01482].
  3. Получатель считывает challenge как диапазон байтов, чтобы передать решаемую задачу SOVD-клиенту [SWS_DM_01492].
  4. Параллельно с этим анализируется временная метка valid_until, чтобы задать временное окно для подтверждения [SWS_DM_01491].
  5. SOVD-клиент решает challenge и передает подтверждение до наступления момента времени, обозначенного valid_until [SWS_DM_01491], [SWS_DM_01492].
Процесс предоставления и обработки оклика близости (Proximity Challenge)SOVD-ClientSovdProximityChallengeSovdProximityChallengeTypeAnforderung Proximity-ChallengeВыполнить GetChallenge()Инстанцирование с challenge (Span) и valid_untilВозврат SovdProximityChallengeTypeСчитывание challenge и valid_untilРешить оклик (challenge) до истечения valid_until

Диаграмма последовательности: типовой ход запроса и анализа challenge в рамках проверки близости SOVD. Источники: [SWS_DM_01482], [SWS_DM_01491], [SWS_DM_01492], AUTOSAR_AP_SWS_Diagnostics §8.56.3 «Struct: SovdProximityChallengeType».

Сценарии ошибок

При использовании SovdProximityChallengeType следует учитывать в особенности два критичных к ошибкам граничных условия:

  • Превышение времени ожидания (тайм-аут): если системное время достигает временной метки std::chrono::system_clock::time_point, указанной в valid_until [SWS_DM_01491], challenge теряет свою валидность. Интерпретация: попытка решения от SOVD-клиента, поступившая после истечения valid_until, вероятно, будет отклонена верифицирующим диагностическим экземпляром как недействительная, вследствие чего потребуется повторный вызов SovdProximityChallenge::GetChallenge(). Вопрос Q-ab9b44a73c189384 (открытый)
  • Недействительная ссылка на память (dangling span): поскольку challenge реализован как невладеющий ara::core::Span<ara::core::Byte> [SWS_DM_01492], доступ к байтам после уничтожения или перераспределения памяти базового буфера приводит к неопределенному поведению. Вызывающая сторона должна гарантировать, что ссылаемый буфер байтов сохраняется в памяти на протяжении всего времени использования span.

Данное руководство основано на спецификации AUTOSAR для Adaptive Platform (выпуск R25-11) и описывает структуру ara::diag::SovdProximityChallengeType как контейнер данных для проверок близости SOVD.

UML-диаграмма классов

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

G nara__diag__SovdProximityChallengeType366 «struct» SovdProximityChallengeType + challenge + valid_until

Константы

challenge переменная

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

valid_until переменная

The time until the challenge is valid.

Документация констант / переменных

переменная 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#474de697
Content hash
474de697
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

переменная 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#d42a81d9
Content hash
d42a81d9
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