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

사용자 가이드AI 생성

SOVD 근접성 검사를 위한 챌린지 바이트와 유효 기간을 제공합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3ac9286258b1 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

SOVD 근접성 검사를 위한 챌린지 바이트와 유효 기간을 제공합니다.

데이터 구조체 ara::diag::SovdProximityChallengeType는 SovdProximityChallenge::GetChallenge()의 반환 타입으로 사용되며 SOVD 근접성 검사에 필요한 데이터를 묶습니다([SWS_DM_01482]). 이 구조체는 SOVD 클라이언트에 ara::core::Span로서 챌린지 바이트 시퀀스와 관련 유효 시점 valid_until를 제공합니다([SWS_DM_01492]). 클라이언트는 이 시점에 도달하기 전에 챌린지를 해결해야 하며, 참조된 버퍼는 전체 사용 기간 동안 메모리에서 유효하게 유지되어야 합니다.

컨텍스트

데이터 구조체 ara::diag::SovdProximityChallengeType는 AUTOSAR Adaptive Platform의 진단 모듈(ara::diag) 내에서 보안 및 근접성(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와 절대 만료 일시 valid_until라는 두 가지 기본적인 속성을 묶습니다(AUTOSAR_AP_SWS_Diagnostics §8.56.3.1 “Public Member Variables”). 해석: 구조체 자체는 비즈니스 로직을 캡슐화하지 않으며, 무상태 매개변수 전달을 위한 순수 Plain Old Data(POD) Value Object 역할을 합니다. 질문 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]). 이 타임스탬프는 전체 시스템에서 챌린지의 기능적 유효 기간을 직접 정의합니다.

구조체의 파괴는 호출자의 유효 범위(Scope)를 벗어날 때 일반적인 C++ 규칙에 따라 자동으로 수행됩니다. 구조체 자체는 동적 메모리를 할당하지 않으므로 파괴는 단순하지만, span의 기본 데이터 버퍼의 수명을 고려해야 합니다([SWS_DM_01492]).

사용 경로

SOVD 근접성 검사의 맥락에서 전형적인 사용 경로는 조회, 평가 및 증명 제공이라는 고정된 순서로 나뉩니다:

  1. 진단 애플리케이션 또는 SOVD 서비스가 근접성 검사를 트리거하고 SovdProximityChallenge::GetChallenge()를 호출합니다(AUTOSAR_AP_SWS_Diagnostics §8.56.3 “Struct: SovdProximityChallengeType”).
  2. 반환값으로 생성된 챌린지 바이트와 만료 시점으로 채워진 SovdProximityChallengeType 인스턴스가 생성됩니다([SWS_DM_01482]).
  3. 수신자는 SOVD 클라이언트에 해결할 작업을 전송하기 위해 challenge를 바이트 span으로 읽어냅니다([SWS_DM_01492]).
  4. 이와 병행하여 증명을 위한 시간 창을 설정하기 위해 타임스탬프 valid_until가 평가됩니다([SWS_DM_01491]).
  5. SOVD 클라이언트는 챌린지를 해결하고 valid_until로 표시된 시점에 도달하기 전에 증명을 전송합니다([SWS_DM_01491], [SWS_DM_01492]).
근접성 챌린지 제공 및 평가 흐름SOVD-ClientSovdProximityChallengeSovdProximityChallengeTypeAnforderung Proximity-ChallengeGetChallenge() 실행challenge(Span) 및 valid_until을 사용한 인스턴스화SovdProximityChallengeType 반환challenge 및 valid_until 읽기valid_until 만료 전 챌린지 해결

시퀀스 다이어그램: SOVD 근접성 검사의 맥락에서 챌린지 쿼리 및 평가의 전형적인 흐름. 출처: [SWS_DM_01482], [SWS_DM_01491], [SWS_DM_01492], AUTOSAR_AP_SWS_Diagnostics §8.56.3 “Struct: SovdProximityChallengeType”.

오류 시나리오

SovdProximityChallengeType를 사용할 때는 특히 오류에 중요한 두 가지 경계 조건을 고려해야 합니다:

  • 시간 초과(Timeout): 시스템 시간이 valid_until에 지정된 타임스탬프 std::chrono::system_clock::time_point([SWS_DM_01491])에 도달하면 챌린지의 유효성이 상실됩니다. 해석: valid_until 만료 후 도착한 SOVD 클라이언트의 해결 시도는 검증 진단 인스턴스에 의해 유효하지 않은 것으로 거부될 것으로 보이며, 이에 따라 SovdProximityChallenge::GetChallenge()의 재호출이 필요해집니다. 질문 Q-ab9b44a73c189384 (열림)
  • 유효하지 않은 메모리 참조(Dangling Span): challenge는 비소유 ara::core::Span<ara::core::Byte>로 구현되어 있으므로([SWS_DM_01492]), 기본 버퍼가 파괴되거나 재할당된 후 바이트에 접근하면 정의되지 않은 동작이 발생합니다. 호출자는 span의 전체 사용 기간 동안 참조된 바이트 버퍼가 메모리에 유지되도록 보장해야 합니다.

이 가이드는 Adaptive Platform용 AUTOSAR 사양(릴리스 R25-11)을 기반으로 하며, SOVD 근접성 검사를 위한 데이터 컨테이너로서의 ara::diag::SovdProximityChallengeType 구조체를 설명합니다.

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.

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#1f420c35
Content hash
1f420c35
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#1350b7d1
Content hash
1350b7d1
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