콜백 인터페이스를 통해 차량의 현재 DoIP 전원 모드를 Diagnostic Management에 제공합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: afa4b2f1975c출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
콜백 인터페이스를 통해 차량의 현재 DoIP 전원 모드를 Diagnostic Management에 제공합니다.
인터페이스 클래스 ara::diag::DoIPPowerMode을 사용하면 애플리케이션이 콜백 함수 GetDoIPPowerMode()을 통해 현재 DoIP 전원 모드를 Diagnostic Management에 제공할 수 있습니다 [SWS_DM_00734]. 인스턴스화 후에는 Offer()을 통해 핸들러를 활성화해야 하며, 소멸 전에 StopOffer()를 통해 등록을 해제해야 합니다 [SWS_DM_00735], [SWS_DM_00736]. 단일 인스턴스로서 이 클래스는 복사하거나 이동할 수 없습니다 [SWS_DM_01645].
컨텍스트
추상 클래스 ara::diag::DoIPPowerMode은 Diagnostic Management(DM)에 현재 DoIP 전원 모드를 제공하기 위한 인터페이스를 정의합니다. DoIP(Diagnostic over Internet Protocol)를 사용하는 차량 아키텍처에서는 통신 프로토콜이 차량 네트워크의 작동 상태 또는 전원 공급 장치에 대해 알고 있어야 합니다. 애플리케이션 소프트웨어는 ara::diag::DoIPPowerMode에서 구체적인 핸들러 클래스를 파생하고 전원 모드 조회를 구현합니다 [SWS_DM_00734]. 상호작용 파트너는 인터페이스를 제공하는 진단 애플리케이션과 들어오는 요청을 이 핸들러로 위임하는 DM 런타임 시스템입니다 [SWS_DM_00735].
수명 주기
ara::diag::DoIPPowerMode의 인스턴스는 애플리케이션 내부에서 생성되며, ara::core::InstanceSpecifier에 의해 참조되는 PortPrototype을 통해 식별됩니다 [SWS_DM_00732]. 생성자를 호출할 때 ConcurrencyType 인수를 통해 콜백 메서드 GetDoIPPowerMode()을 스레드 안전하게(kConcurrent) 실행해야 하는지 또는 스레드 안전하지 않게(kNotConcurrent) 실행해야 하는지 지정합니다 [SWS_DM_00732]. 생성자 자체는 스레드 안전하게 실행됩니다 [SWS_DM_00732].
인스턴스화 후에는 DM이 요청을 전달할 수 있도록 Offer()을 통해 핸들러를 활성화해야 합니다 [SWS_DM_00735]. 요청 전달을 중지하려면 StopOffer()을 호출합니다 [SWS_DM_00736]. 가상 소멸자 ~DoIPPowerMode()[SWS_DM_00733] 및 Offer(), StopOffer()은 스레드 안전하지 않은 것으로 지정되어 있습니다. 미해결된 DM과의 상호작용을 정상적으로 분리하기 위해 소멸자를 호출하기 전에 항상 StopOffer()을 실행해야 할 것으로 보입니다. 질문 Q-85ede935aa303c45 (열림)
사용 경로
ara::diag::DoIPPowerMode의 일반적인 사용은 초기화, 서비스 등록, 주기적 또는 이벤트 기반 모드 조회, 등록 해제의 고정된 시퀀스를 따릅니다:
애플리케이션은 적절한 InstanceSpecifier 및 원하는 ConcurrencyType을 사용하여 파생 클래스를 인스턴스화합니다 [SWS_DM_00732].
애플리케이션은 Offer()을 사용하여 Diagnostic Management에 핸들러를 적극적으로 등록합니다 [SWS_DM_00735].
DoIP 프로토콜에 상태가 필요한 즉시 DM은 순수 가상 함수 GetDoIPPowerMode()을 호출합니다 [SWS_DM_00734]. 구현은 비동기적으로 확인되는 ara::core::Future<PowerModeType>을 반환합니다 [SWS_DM_00734].
작동을 종료할 때 애플리케이션은 더 이상 요청을 받지 않도록 StopOffer()을 호출합니다 [SWS_DM_00736].
ProcessMappingViolation: 인스턴스 참조는 존재하지만 런타임 환경에 일치하는 모델링된 프로세스가 없습니다 [SWS_DM_00732].
InstanceSpecifierAlreadyInUseViolation: InstanceSpecifier이 동일한 프로세스 내에서 다른 인스턴스에 이미 사용되었습니다 [SWS_DM_00732].
서비스가 이미 활성 상태로 제공되는 동안 Offer()이 호출되면 메서드는 ara::core::Result을 통해 오류 코드 DiagOfferErrc::kAlreadyOffered을 반환합니다 [SWS_DM_00735]. 반면에 GetDoIPPowerMode() 메서드는 표준화된 오류 코드를 정의하지 않습니다 [SWS_DM_00734].
이 가이드는 Adaptive Platform(Release R25-11)용 AUTOSAR 사양을 기반으로 합니다. 모든 정보와 오류 코드는 참조된 SWS 요구사항을 기반으로 합니다.
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 DiagnosticDoIpPowerModePortMapping needs to be typed by a DiagnosticDoIPPowerModeInterface. 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
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticDoIPPowerModeInterface
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 Offer will enable the DM to forward request messages to this handler.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5f8fb75036b6출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::diag::DoIPPowerMode 클래스의 동기식 메서드 Offer은 Adaptive Application이 Diagnostic Management(DM)에 DoIP Power Mode 서비스를 등록하고 활성화하는 데 사용됩니다 [SWS_DM_00735]. 이 호출을 통해 DM은 수신된 요청 메시지를 해당 핸들러로 전달할 수 있는 상태가 됩니다 [SWS_DM_00735]. 이 함수는 전달 매개변수를 받지 않으며, 예외를 발생시키지 않고(noexcept), 반환값으로 ara::core::Result<void>를 반환합니다 [SWS_DM_00735].
제공 애플리케이션에서 Offer을 아직 호출하지 않은 경우, DM은 DoIP Power Mode 정보에 대한 클라이언트 요청에 ISO 13400-2에 따라 상태 값 0(“Not ready”)으로 응답합니다 [SWS_DM_01525]. 핸들러가 등록되어 있고 DM이 DoIP 메시지에 응답하기 위해 현재 Power Mode를 필요로 하는 경우, DM은 ara::diag::DoIPPowerMode::GetDoIPPowerMode를 통해 이를 조회합니다 [SWS_DM_00814].
오류가 발생하면 Result 객체에 해당 오류 코드가 포함됩니다. 해당 인스턴스에서 이전에 이미 메서드가 성공적으로 호출된 경우, 재호출은 실패하며 롤백 시맨틱과 함께 DiagOfferErrc::kAlreadyOffered을 반환합니다 [SWS_DM_00735].
동시성과 관련하여 이 함수는 스레드에 안전하지 않은 것(not thread-safe)으로 명시되어 있습니다 [SWS_DM_00735]. 따라서 동일한 인스턴스에 대한 병렬 호출은 호출자에 의해 동기화되어야 합니다. 이 함수는 완전한 예외 안전성(exception safe)을 제공합니다 [SWS_DM_00735].
이 사용 지침은 AI에 의해 작성되었으며 AUTOSAR 릴리스 R25-11 사양을 기반으로 합니다.
This StopOffer will disable the forwarding of request messages from DM.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2a0861404a22출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::diag::DoIPPowerMode의 메소드 StopOffer은(는) Diagnostic Management (DM)에 의한 인바운드 진단 요청 메시지의 핸들러 전달을 비활성화합니다[SWS_DM_00736]. 이 함수는 헤더 파일 ara/diag/doip_power_mode.h을(를) 통해 제공되며, 반환값이 없고 매개변수를 받지 않습니다[SWS_DM_00736].
오류 동작 및 실행 환경에 대해 다음 사양 세부사항이 적용됩니다:
예외 안전성: 이 함수는 noexcept(으)로 선언되어 있으며 예외 안전(exception safe)으로 정의되어 있습니다[SWS_DM_00736]. 예외가 발생하지 않으며 오류 코드가 반환되지 않습니다.
스레드 안전성: 이 작업은 스레드 안전하지 않은 것(not thread-safe)(으)로 지정되어 있습니다[SWS_DM_00736]. 해석: 멀티스레딩 시나리오에서 또는 인스턴스의 다른 연산과 병렬로 메소드가 호출되는 경우 애플리케이션에 의한 외부 동기화가 필요할 것으로 보입니다. 질문 Q-1593f08472d584d1 (열림)
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문