어댑티브 애플리케이션이 진단 관리를 위한 DoIP Entity 식별을 제공할 수 있도록 합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 73f8b2cf1d2e출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
어댑티브 애플리케이션이 진단 관리를 위한 DoIP Entity 식별을 제공할 수 있도록 합니다.
클래스 ara::diag::DoIPEntityIdentification은(는) 어댑티브 애플리케이션이 DoIP 진단 프로토콜을 위한 Entity 식별(EID)을 동적으로 제공할 수 있도록 합니다 [SWS_DM_01361]. 인스턴스화 후 애플리케이션은 Offer()을(를) 사용하여 포워딩을 활성화하고, 순수 가상 메서드 GetEntityId()을(를) 통해 Diagnostic Management의 쿼리에 Future [SWS_DM_01366], [SWS_DM_01367]을(를) 사용하여 비동기적으로 응답합니다. 쿼리 시점에 인터페이스가 아직 제공되지 않은 경우 진단 관리는 대체 수단으로 표준화된 0xFF 값을 전송합니다 [SWS_DM_01528].
컨텍스트
클래스 ara::diag::DoIPEntityIdentification은(는) DoIP(Diagnostic over IP) 프로토콜을 위한 Entity 식별(EID)을 동적으로 제공하는 역할을 합니다 [SWS_DM_01361]. AUTOSAR Adaptive 환경에서 이는 개별 어댑티브 애플리케이션과 Diagnostic Management(DM) 사이의 기능적 브리지를 형성합니다 AUTOSAR_AP_SWS_Diagnostics, 107쪽. 구성에서 DoIpNetworkConfiguration.eidRetrieval이(가) DoIpEidRetrievalEnum.eidUseApi 모드로 설정된 경우, Diagnostic Management는 이 프로그래밍 인터페이스를 통해 EID를 요청합니다 [SWS_DM_01361]. 소프트웨어 아키텍처로의 바인딩은 DiagnosticDoIPEntityIdentificationInterface의 PortPrototype을 참조하는 ara::core::InstanceSpecifier을(를) 통해 수행됩니다 [SWS_DM_01364].
수명 주기
생성은 InstanceSpecifier 외에도 매개변수 ConcurrencyType(kConcurrent 또는 kNotConcurrent)이(가) 전달되는 명시적 생성자를 통해 수행됩니다 [SWS_DM_01364]. 후자는 인터페이스에 대한 후속 호출이 스레드 안전하게 처리되어야 하는지 여부를 결정합니다 [SWS_DM_01364], [SWS_DM_01366]. 생성 후 객체는 처음에 비활성 상태로 유지됩니다. Offer()을(를) 호출하면 Diagnostic Management를 위해 인터페이스가 활성화되고 핸들러로의 요청 포워딩이 활성화됩니다 [SWS_DM_01367]. 객체가 소멸되기 전이나 작동이 종료될 때 StopOffer()은(는) 포워딩을 다시 차단합니다 [SWS_DM_01368]. 소멸은 최종적으로 가상 소멸자 [SWS_DM_01365]을(를) 통해 수행됩니다. Offer(), StopOffer() 및 소멸자 모두 스레드 안전하지 않으므로 애플리케이션 코드에서 조율된 동기화가 필요합니다 [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].
일반적인 사용 시나리오에서 어댑티브 애플리케이션은 ara::diag::DoIPEntityIdentification에서 자체 구현 클래스를 파생하고 순수 가상 메서드 GetEntityId()을(를) 재정의합니다 [SWS_DM_01366]. 유효한 식별자로 인스턴스화한 후 애플리케이션은 Offer()을(를) 사용하여 핸들러를 등록합니다 [SWS_DM_01367]. DoIP 메시지를 구성하기 위해 Entity ID가 필요해지면 Diagnostic Management는 GetEntityId()을(를) 호출합니다 [SWS_DM_01361], [SWS_DM_01366]. 이 메서드는 ara::core::Future<EntityId>을(를) 반환하므로 식별 데이터를 비동기적으로 확인하고 제공할 수 있습니다 [SWS_DM_01366]. 기능 작동이 종료되면 애플리케이션은 StopOffer()을(를) 통해 오퍼를 철회합니다 [SWS_DM_01368].
생성 시 모델 구성이 잘못되면 특정한 런타임 위반이 발생합니다. 모델에서 InstanceSpecifier을(를) 확인할 수 없거나 PortPrototype을 참조하지 않는 경우 InstanceSpecifierMappingIntegrityViolation이(가) 발생합니다 [SWS_DM_01364]. 포트 매핑이 DiagnosticDoIPEntityIdentificationInterface을(를) 참조하지 않는 경우 PortInterfaceMappingViolation이(가) 발생하며, 프로세스 일치가 누락된 경우 ProcessMappingViolation이(가) 트리거됩니다 [SWS_DM_01364]. 프로세스 내에서 동일한 식별자가 여러 번 사용되면 InstanceSpecifierAlreadyInUseViolation이(가) 뒤따릅니다 [SWS_DM_01364].
서비스가 이미 활발히 제공(offer)되고 있을 때 Offer()을(를) 호출하면 메서드는 오류 코드 DiagOfferErrc::kAlreadyOffered을(를) 포함하는 ara::core::Result을(를) 반환합니다 [SWS_DM_01367]. 요청 시점에 인터페이스가 아직 제공되지 않은 경우 등 Diagnostic Management가 EID를 쿼리할 수 없는 경우 정의된 프로토콜 폴백이 적용됩니다. Diagnostic Management는 대체 수단으로 DoIP 메시지에 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF의 6바이트 EID 값을 전송합니다 [SWS_DM_01528].
이 가이드는 AUTOSAR Adaptive 사양 R25-11을 기반으로 AI 어시스턴트에 의해 생성되었습니다.
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 DiagnosticDoIpEntityIdentificationPortMapping needs to be typed by a DiagnosticDoIPEntityIdentificationInterface. 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 DiagnosticDoIPEntityIdentificationInterface.
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 · 온도: 제어 불가 · 프롬프트: 60c723a50d6c출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::diag::DoIPEntityIdentification의 메서드 Offer은(는) Diagnostic Management Daemon(DM)이 수신 DoIP 요청을 등록된 핸들러로 전달하는 것을 활성화합니다([SWS_DM_01367]). 성공적으로 호출된 후에만 메시지가 핸들러로 전달됩니다. 해석: 이 호출은 일반적으로 진단 메시지를 수신하기 전, Adaptive Application의 초기화 단계에서 수행됩니다. 질문 Q-4b78d4f80bda63a4 (열림)
사용법 및 시맨틱:
호출 컨텍스트: 해당 연산은 동기식으로 실행되며 noexcept(으)로 선언되어 있습니다. 예외를 발생시키지 않습니다([SWS_DM_01367]).
반환값: 성공 시 아무런 값도 포함하지 않는 ara::core::Result<void>을(를) 반환합니다([SWS_DM_01367]).
오류 처리:
인스턴스에 대해 인터페이스가 이미 제공된 경우 호출은 실패하며 롤백 시맨틱과 함께 오류 코드 DiagOfferErrc::kAlreadyOffered을(를) 반환합니다([SWS_DM_01367]).
동시성 및 제약 사항:
해당 인터페이스는 not thread-safe로 명시되어 있습니다([SWS_DM_01367]). 동일한 인스턴스에 대한 동시 호출은 호출 애플리케이션에 의해 동기화되어야 합니다.
This StopOffer will disable the forwarding of request messages from DM.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2e0edce0b8e6출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
사용
메서드 ara::diag::DoIPEntityIdentification::StopOffer은(는) DoIP 엔티티 식별을 위한 서비스 제공을 종료하고, Diagnostic Management(DM)에서 애플리케이션으로의 요청 메시지 전달을 비활성화합니다[SWS_DM_01368]. 해당 인터페이스는 헤더 파일 ara/diag/doip_entity_identification.h을(를) 통해 제공됩니다. 파라미터를 받지 않으며 반환값을 반환하지 않습니다(void) [SWS_DM_01368]. 해석: 시그니처에 Future 객체나 콜백을 통한 알림이 제공되지 않으므로, 호출은 DM 내에서 전달이 종료될 때까지 동기 블로킹 방식으로 실행될 것으로 추정됩니다. 질문 Q-75f67df3a003b08f (열림)
오류 처리 및 예외 안전성
해당 연산은 지정자 noexcept(으)로 선언되어 있으며 예외 안전(exception safe)으로 명시되어 있습니다[SWS_DM_01368]. 특정 오류 코드를 반환하지 않으며 예외를 발생시키지 않습니다.
동시성 및 제약사항
실행 환경과 관련하여 이 메서드는 스레드 안전하지 않음(not thread-safe)으로 분류됩니다[SWS_DM_01368]. ara::diag::DoIPEntityIdentification의 동일한 인스턴스에 대해 병렬 호출 또는 접근이 발생하는 경우 애플리케이션 측에서 동기화해야 합니다.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문