애플리케이션이 Diagnostic Manager의 일반 SOVD 연산 요청을 처리하고 응답할 수 있도록 합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 23f008b064de출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
애플리케이션이 Diagnostic Manager의 일반 SOVD 연산 요청을 처리하고 응답할 수 있도록 합니다.
이 기본 클래스는 Diagnostic Management에서 실행 요청을 처리하기 위한 일반 SOVD 연산 핸들러를 구현하는 데 사용됩니다 [SWS_DM_02203]. 인스턴스화 후 애플리케이션은 Offer()을(를) 통해 수신을 활성화하며, 이후 Diagnostic Manager는 비동기 인터페이스 StartExecution을(를) 통해 들어오는 요청을 전달합니다 [SWS_DM_02174][SWS_DM_02210]. 전달된 콘텐츠 데이터와 취소 핸들러는 연산 지속 시간 동안에만 엄격히 바인딩됩니다 [SWS_DM_02210].
인스턴스 생성은 PortPrototype을(를) 참조하는 ara::core::InstanceSpecifier 및 동시성 유형(ConcurrencyType)을 지정하여 생성자를 통해 수행됩니다 [SWS_DM_02204]. 이동 생성자 [SWS_DM_02206] 및 이동 대입 연산자 [SWS_DM_02207]이(가) protected(으)로 선언되어 있으므로, 이 클래스는 파생된 애플리케이션별 핸들러를 위한 기본 클래스로 설계되었습니다. 인스턴스화 후 객체는 비활성 상태에 있으며 요청을 수락하지 않습니다. Offer()을(를) 통해 Diagnostic Manager에 의한 요청 전달이 활성화됩니다 [SWS_DM_02211]. StopOffer()을(를) 사용하면 이 전달을 다시 비활성화할 수 있습니다 [SWS_DM_02212]. 인스턴스 소멸 시 가상 소멸자가 적절한 정리를 보장합니다 [SWS_DM_02205]. 생성자, 소멸자 및 이동 연산은 스레드 안전한 것으로 명세되어 있는 반면, Offer() 및 StopOffer()은(는) 스레드 안전하지 않으며 일반적으로 프로세스의 초기화 또는 셧다운 단계 중에 호출되어야 합니다.
서비스 제공: 애플리케이션이 Offer()을(를) 호출하여, Diagnostic Manager가 들어오는 SOVD 요청을 객체로 전달하도록 권한을 부여합니다 [SWS_DM_02211].
연산 시작: SOVD 메서드가 수신되고 Proximity Challenge 검사가 통과된 후, DM은 순수 가상 메서드 StartExecution을(를) 호출합니다 [SWS_DM_02174][SWS_DM_02210]. 이때 SOVD 연산 이름(sovd_operation_name), 페이로드(sovd_content_data), 메타 정보(meta_info) 및 CancellationHandler이(가) 전달됩니다 [SWS_DM_02210].
결과 반환: 메서드는 동기 응답(StartSynchronousExecutionResponse) 또는 비동기 응답(StartAsynchronousExecutionResponse)을 포함하는 ara::core::Future을(를) 반환합니다 [SWS_DM_02210]. 동기 연산의 경우 DM은 SOVD 응답 본문 생성을 위해 결과로부터 데이터를 가져옵니다 [SWS_DM_02176].
서비스 중지: 객체가 소멸되기 전에 애플리케이션은 StopOffer()을(를) 사용하여 전달을 중지합니다 [SWS_DM_02212].
이미 제공됨: 이미 제공된 인스턴스에서 Offer()을(를) 다시 호출하면 오류 코드 DiagOfferErrc::kAlreadyOffered(으)로 실패합니다 [SWS_DM_02211].
SOVD 오류: 연산 실행이 실패하면 ara::core::Future에 ISO 17978-3 또는 ASAM SOVD 1.1에 따른 해당 부정 응답 코드를 반환해야 합니다 [SWS_DM_02210].
취소: 진행 중인 요청이 취소될 경우 전달된 cancellation_handler 객체를 통해 애플리케이션에 알림이 전송됩니다. 명세는 진행 중인 연산의 수명 주기를 넘어 이 핸들러를 저장하거나 접근하는 것을 명시적으로 금지합니다 [SWS_DM_02210]. 또한 sovd_content_data의 전달된 입력 데이터는 연관된 Promise가 충족되거나 처리가 취소될 때까지만 유효합니다 [SWS_DM_02210].
이 가이드는 AUTOSAR Adaptive Platform R25-11 명세(diag 모듈)만을 기반으로 하며 자동으로 큐레이션되었습니다.
This Offer will enable the DM to forward request messages to this handler.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e7a3d094ee66출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::diag::GenericDiagnosticSovdOperation 클래스의 Offer 메서드는 수신된 진단 및 서비스 요청을 Diagnostic Management(DM)에서 각 핸들러로 전달하도록 활성화합니다[SWS_DM_02211]. 함수는 매개변수를 받지 않고, noexcept을(를) 선언하며 ara::core::Result<void>을(를) 반환합니다[SWS_DM_02211]. 해석: ara::core::Future이(가) 반환되지 않으므로 전달 활성화는 메서드 호출 중에 동기식으로 완료될 것으로 추정됩니다. 질문 Q-d9213a2118672440 (열림)
오류 처리와 관련하여 인터페이스는 롤백 시맨틱을 보장합니다[SWS_DM_02211]. 이 핸들러 인스턴스에 대해 서비스가 이전에 이미 제공된 경우 호출이 실패하고 오류 코드 DiagOfferErrc::kAlreadyOffered을(를) 반환합니다[SWS_DM_02211]. 이 오류 상태는 진단 오류 도메인에 정의된 다중 등록 오류 패턴에 해당합니다[SWS_DM_00514].
동시성 및 호출 컨텍스트에 대해 다음 제한 사항이 적용됩니다:
스레드 안전성: 연산은 not thread-safe(으)로 지정되어 있지만, exception safe입니다[SWS_DM_02211]. 동일한 핸들러 인스턴스에 대한 병렬 호출은 애플리케이션 측에서 동기화되어야 합니다.
상태 순서:Offer은(는) 요청 전달 전에 호출되어야 합니다[SWS_DM_02211]. 중간에 철회하지 않고 다시 호출하면 오류가 발생합니다.
cancellation_handler: 진행 중인 요청의 중단을 보고하며, 이 객체는 연산의 수명을 초과하여 저장되거나 참조되어서는 안 됩니다[SWS_DM_02210].
반환값으로 이 함수는 StartSynchronousExecutionResponse 또는 StartAsynchronousExecutionResponse의 ara::core::Variant을(를) 포함하는 ara::core::Future을(를) 제공합니다[SWS_DM_02210]. 동기 실행의 경우 Diagnostic Management는 응답의 콘텐츠 데이터에서 SOVD 응답 본문의 매개변수를 설정합니다[SWS_DM_02176]. 비동기 처리의 경우 Diagnostic Management는 진행 중인 연산을 식별하기 위해 고유 식별자(id)를 할당하고 실행 상태 [SWS_DM_02177]을(를) 설정합니다.
A future with either StartSynchronousExecutionResponse or StartAsynchronousExecutionResponse(for a positive response message) or a SOVD Error (for an negative response message)
Fehler
Fehlercode
Beschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.
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 · 온도: 제어 불가 · 프롬프트: ab28d5476140출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara/diag/generic_diagnostic_sovd_operation.h 헤더에 있는 ara::diag::GenericDiagnosticSovdOperation 클래스의 StopOffer 메서드는 Diagnostic Management(DM)에서 연산으로의 수신 요청 메시지 전달을 비활성화하는 데 사용됩니다[SWS_DM_02212].
사용법 및 시맨틱: 이 함수는 void StopOffer() noexcept; 시그니처를 가지며, 매개변수를 받지 않고 반환값을 반환하지 않습니다[SWS_DM_02212]. Future 또는 콜백과 같은 비동기 반환 유형이 정의되어 있지 않으므로 비활성화는 호출 중에 즉시 동기식으로 적용될 것으로 추정됩니다. 질문 Q-b0723617991a4e39 (열림) 예외 안전(exception safe)으로 선언되어 있습니다[SWS_DM_02212].
동시성 및 오류 처리: 인터페이스는 스레드 안전하지 않은 것(not thread-safe)으로 지정되어 있습니다[SWS_DM_02212]. 따라서 동일한 인스턴스에 대한 병렬 접근은 사용자 수준에서 동기화되어야 합니다. 오류 코드가 반환되지 않으며 특정 DET 또는 DEM 알림도 생성되지 않습니다[SWS_DM_02212].
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문