애플리케이션이 보호된 SOVD 진단 작업을 위한 근접성 증명을 생성하고 검증할 수 있도록 지원합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7c7c088635a6출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
애플리케이션이 보호된 SOVD 진단 작업을 위한 근접성 증명을 생성하고 검증할 수 있도록 지원합니다.
이 인터페이스 클래스는 AUTOSAR Adaptive Platform에서 Diagnostics 환경의 SOVD 작업을 위한 근접성 검사를 구현하는 데 사용됩니다[SWS_DM_01481]. 애플리케이션은 이 클래스로부터 파생되고, Offer()을(를) 통해 Diagnostic Management에 의한 전달을 활성화하며, 비동기식으로 요구되는 챌린지 및 이후의 유효성 검사를 제공합니다[SWS_DM_01478]. 유효성 검사 메서드의 동시 호출은 생성 시 선택된 동시성 모드를 따르는 반면, 등록 및 소멸은 스레드 안전하지 않습니다.
컨텍스트
ara::diag::SovdProximityChallenge[SWS_DM_01481] 클래스는 AUTOSAR Adaptive Platform의 Service-Oriented Vehicle Diagnostics (SOVD) 환경에서 근접성 증명(Proximity Challenge)을 위한 인터페이스를 애플리케이션 측에서 구현하는 데 사용됩니다. 이 클래스는 AUTOSAR Diagnostic Management(DM 또는 진단 서버)와 물리적 또는 암호학적 근접성 검사를 위한 보안 로직을 제공하는 실제 차량 애플리케이션 사이의 가교 역할을 합니다AUTOSAR_AP_SWS_Diagnostics §8.56 “Providing the SOVD operation proximity_challenge”. SOVD 작업에 대해 근접성 증명이 필요하도록 구성된 경우(속성 proximityProofRequired이(가) TRUE임), Diagnostic Management는 진단 요청을 처리할 때 애플리케이션에 챌린지를 요청하고 클라이언트가 전송한 응답을 검증하도록 합니다[SWS_DM_01398]. 이 연계에는 세 가지 주요 주체인 외부 SOVD 클라이언트, 중개하는 Diagnostic Management, 사용하는 애플리케이션이 참여합니다.
핸들러 클래스의 인스턴스화는 생성자 SovdProximityChallenge[SWS_DM_01480]을(를) 통해 수행됩니다. 이 생성자는 인스턴스를 매니페스트에 정의된 ara::core::InstanceSpecifier에 바인딩하고 매개변수 ConcurrencyType을(를) 통해 향후 실행이 동시적(kConcurrent)인지 또는 순차적(kNotConcurrent)인지를 결정합니다. 생성자 자체는 스레드 안전한 것으로 명시되어 있습니다[SWS_DM_01480]. 객체 생성 후 핸들러는 처음에 수동적 상태에 머무릅니다. Offer()[SWS_DM_01478]을(를) 명시적으로 호출해야 비로소 Diagnostic Management가 애플리케이션 인스턴스로 요청을 전달하도록 승인됩니다.
전달은 StopOffer()[SWS_DM_01495]을(를) 사용하여 언제든지 다시 비활성화할 수 있습니다. Offer(), StopOffer() 및 가상 소멸자 ~SovdProximityChallenge()[SWS_DM_01479] 모두 스레드 안전하지 않습니다. 해석: 객체가 파괴되기 전에 소멸 중인 객체로의 전달을 방지하기 위해 StopOffer()을(를) 호출해야 할 것으로 보입니다. 질문 Q-b4c66854163f433e (열림) 또한 실제로는 SOVD 작업을 지속적으로 보호하기 위해 진단 프로세스의 전체 수명 동안 애플리케이션 인스턴스가 유지될 것으로 보입니다. 실제 쿼리 및 유효성 검사 메서드 GetChallenge()[SWS_DM_01494] 및 ValidateResponse()[SWS_DM_01493]의 스레드 안전성은 생성자에 전달된 ConcurrencyType에 의해 제어됩니다.
Diagnostic Management는 응답 본문의 proximity_challenge 속성을 클라이언트로 전송합니다[SWS_DM_01398]. 클라이언트가 근접성 증명으로 응답하면 DM은 이 데이터를 ValidateResponse()[SWS_DM_01493]을(를) 통해 전달합니다. 전달된 메모리 영역 proximityResponse은(는) 반환된 ara::core::Future<ProximityChallengeValidationResultType>이(가) 충족되거나 처리가 중단될 때까지 유효하게 유지됩니다[SWS_DM_01493]. 프로세스가 종료되기 전에 StopOffer()[SWS_DM_01495]을(를) 통해 서비스가 등록 취소됩니다.
생성자 [SWS_DM_01480]을(를) 통한 객체 생성 시 이미 프레임워크가 모델 일관성을 검사하며 다음과 같은 위반을 보고할 수 있습니다: InstanceSpecifierMappingIntegrityViolation(식별자를 확인할 수 없거나 포트 프로토타입을 가리키지 않음), PortInterfaceMappingViolation(포트 프로토타입이 DiagnosticSovdProximityChallengeInterface(으)로 유형화되지 않음), ProcessMappingViolation(일치하는 모델링된 프로세스를 찾을 수 없음) 또는 InstanceSpecifierAlreadyInUseViolation(식별자가 프로세스에서 이미 사용 중임)[SWS_DM_01480].
Offer()[SWS_DM_01478] 호출 시 결과로 생성되는 ara::core::Result<void>은(는) 오류 발생 시 표준화된 오류 코드를 반환합니다. 즉, 이 포트에 대해 서비스가 이미 활발하게 제공되고 있는 경우 DiagOfferErrc::kAlreadyOffered, 또는 모니터 구성이 DEXT와 일치하지 않는 경우 DiagOfferErrc::kConfigurationMismatch을(를) 반환합니다. GetChallenge()[SWS_DM_01494] 및 ValidateResponse()[SWS_DM_01493]에 대해서는 표준화된 오류 코드가 정의되어 있지 않습니다. 이 클래스의 모든 멤버 함수는 noexcept(으)로 선언되어 있으며 예외 안전성을 보장합니다.
이 가이드는 AUTOSAR Adaptive Platform 릴리스 R25-11 사양을 기반으로 합니다.
실행 안전성과 관련하여 이 메서드는 exception safe로 선언되어 있지만, 명시적으로 not thread-safe로 간주됩니다[SWS_DM_01478]. 따라서 동일한 인스턴스에 대한 병렬 호출은 호출 애플리케이션에 의해 동기화되어야 합니다. 제공 패턴은 특히 ara::diag::GenericRoutine[SWS_DM_00557], ara::diag::GenericUDSService[SWS_DM_00619] 및 ara::diag::CommunicationControl[SWS_DM_00809]에서도 적용되는 DM 핸들러의 통합 활성화 원칙과 일치합니다. 해석: Offer이(가) 성공적으로 실행되지 않는 한, DM은 Proximity-Challenge에 대한 요청을 핸들러로 전달하지 않을 것으로 추정됩니다. 질문 Q-320a80aca81ef460 (열림)
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype.
PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticSovdProximityChallengePortMapping needs to be typed by a DiagnosticSovdProximityChallengeInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.
Parameter (in)
Parameter
Beschreibung
instanceSpecifier
InstanceSpecifier to a PortPrototype of a DiagnosticSovdProximityChallengeInterface service instance in the manifest.
concurrencyType
Specifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).
Request a governed re-review of this record. The record is not changed immediately.
This StopOffer will disable the forwarding of request messages from DM.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d973f1eccf91출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::diag::SovdProximityChallenge의 메서드 StopOffer은(는) Diagnostic Management(DM)에서 이 서비스 인스턴스([SWS_DM_01495])로의 요청 메시지 전달을 비활성화합니다. 해당 인터페이스는 헤더 ara/diag/sovd_proximity_challenge.h을(를) 통해 제공됩니다.
사용법 및 실행 컨텍스트
이 함수는 동기식으로 호출되고 전달 파라미터를 허용하지 않으며 반환값을 가지지 않습니다([SWS_DM_01495]). 실행 후 DM은 애플리케이션으로 Proximity-Challenge에 대한 추가 요청을 더 이상 전달하지 않습니다.
오류 처리 및 예외 안전성
이 메서드는 noexcept(으)로 선언되어 있으며 완전한 예외 안전(exception safe)입니다([SWS_DM_01495]). 이 호출에 대해서는 오류 상태 또는 특정 오류 코드가 정의되어 있지 않습니다.
동시성 및 수명 주기
실행과 관련하여 StopOffer은(는) 명시적으로 스레드 안전하지 않음(not thread-safe)으로 명시되어 있습니다([SWS_DM_01495]). 동일한 인스턴스에 대한 병렬 호출은 호출자 측에서 동기화해야 합니다. 해석: 이 호출은 일반적으로 컴포넌트 종료 시 또는 Proximity-Challenge 검사가 일시적으로 중단된 경우에 수행될 것으로 추정됩니다. 질문 Q-7b8910a8d5f6dc05 (열림)
This function validates the proximity response sent by the client.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 0179eb4520d7출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
순수 가상 메서드 ara::diag::SovdProximityChallenge::ValidateResponse은(는) 클라이언트가 전송한 Proximity 응답을 검증하는 데 사용됩니다 [SWS_DM_01493]. Diagnostic Server 인스턴스는 예를 들어 작업 실행 종료 요청과 같이 [SWS_DM_01391], SOVD 요청 본문에 proximity_response 속성이 포함되는 즉시 이 메서드를 호출합니다 [SWS_DM_01395]. 바이트 스팬 proximityResponse 및 컨텍스트 객체 metaInfo이(가) 전달됩니다 [SWS_DM_01493]. 후자를 통해 애플리케이션은 필요한 경우 클라이언트 또는 작업별 검사를 수행할 수 있습니다 SWS Diagnostics 215쪽. 검증 결과는 ara::core::Future<ProximityChallengeValidationResultType>을(를) 통해 비동기식으로 제공됩니다 [SWS_DM_01493].
이 인터페이스는 noexcept 및 예외 안전(exception safe)(으)로 선언되어 있습니다 [SWS_DM_01493]. 표준화된 오류 코드는 지정되어 있지 않습니다 [SWS_DM_01493]. 해석: Proximity 검증 실패는 반환 타입 ProximityChallengeValidationResultType 또는 Future의 오류 채널을 통해 매핑될 것으로 보입니다. 질문 Q-1be6378537b59f2b (열림)
동시성과 관련하여 스레드 안전성은 조건부입니다(conditional). 구현이 스레드 안전해야 하는지 여부는 생성자에서 설정된 ConcurrencyType을(를) 통해 제어됩니다 [SWS_DM_01493]. 버퍼 proximityResponse에 전달된 데이터는 관련 Promise가 충족되거나 CancellationHandler에 의해 처리가 취소될 때까지 유효하게 유지됩니다 [SWS_DM_01493].
이 함수는 GetChallenge을(를) 통한 챌린지 제공과 상호작용합니다 [SWS_DM_01398]. 서버는 Proximity 응답이 성공적으로 검증된 후에만 SovdOperationExecution에서 Terminate을(를) 통한 작업 종료와 같이 요청된 작업을 수행합니다 [SWS_DM_02179].
이 사용 지침은 AUTOSAR Adaptive R25-11 사양을 바탕으로 자동 생성되었습니다.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문