DoIP 활성화 라인의 상태를 Diagnostic Manager로 전달하고 관리하는 역할을 합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f91d71d289e3출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
DoIP 활성화 라인의 상태를 Diagnostic Manager로 전달하고 관리하는 역할을 합니다.
클래스 ara::diag::DoIPActivationLine은 애플리케이션이 DoIP 활성화 라인의 상태를 제공하고 변경 사항을 Diagnostic Manager에 전달할 수 있도록 합니다 [SWS_DM_00830]. 포트 기반 인스턴스화 후 Offer()를 통해 서비스가 활성화되면 DM이 라인 상태 및 네트워크 ID를 쿼리하고 UpdateActivationLineState()을 통해 상태 변경을 수신합니다 [SWS_DM_00834]. 핵심 제약 조건으로 관련 네트워크 인터페이스가 모델에서 활성화 라인 종속적으로 구성되어 있어야 합니다 [SWS_DM_00833].
컨텍스트
클래스 ara::diag::DoIPActivationLine은 [SWS_DM_00830]에 따른 인터페이스 DiagnosticDoIPActivationLineInterface을 나타냅니다. 이를 통해 Adaptive Application(AA)이 DoIP 활성화 라인의 물리적 또는 논리적 상태를 Diagnostic Manager(DM)에 보고하고 제공할 수 있습니다. 애플리케이션은 전송을 명시적으로 직접 트리거하지 않고도 AUTOSAR_AP_SWS_Diagnostics, 107쪽에 명시된 대로 이 활성화 라인을 통해 DoIP 차량 알림 메시지(Vehicle Announcement Messages)의 전송을 간접적으로 제어합니다.
이 상호작용에는 기본적으로 세 가지 컴포넌트가 관여합니다: 구현하는 Adaptive Application, 서비스 인터페이스로서의 ara::diag::DoIPActivationLine 인스턴스, 그리고 기본 시스템의 Diagnostic Manager입니다. DM이 이 인터페이스를 통해 활성화 라인의 상태 변경을 감지하면 종속 네트워크 인터페이스에 알리고 표준화된 DoIP 절차를 시작합니다 [SWS_DM_00816].
일반적인 흐름에는 애플리케이션별 클래스의 파생 및 등록과 지속적인 상태 전송이 포함됩니다:
인스턴스화: Adaptive Application은 적절한 InstanceSpecifier을 지정하여 파생 클래스를 인스턴스화합니다 [SWS_DM_00831].
서비스 제공: 애플리케이션이 Offer()을 호출하여 DM에 인터페이스를 릴리스합니다 [SWS_DM_00836].
네트워크 및 초기 쿼리: DM은 순수 가상 메서드 GetNetworkInterfaceId()을 통해 관련 인터페이스 ID를 확인하고 [SWS_DM_00833]GetActivationLineState()를 사용하여 현재 라인 상태를 쿼리합니다 [SWS_DM_00835]. 두 메서드 모두 ara::core::Future를 반환합니다.
상태 업데이트: 라인의 물리적 상태가 변경되면(예: 하드웨어 라인의 레벨 변경), 애플리케이션은 UpdateActivationLineState()을 통해 DM에 동기식으로 알립니다 [SWS_DM_00834]. 이는 DM이 네트워크 인터페이스로의 상태 보고와 같은 후속 작업을 수행하도록 트리거합니다 [SWS_DM_00816].
종료: 시스템 종료 전 또는 비활성화 시 애플리케이션은 StopOffer()을 호출합니다 [SWS_DM_00837].
ara::diag::DoIPActivationLine을 사용할 때 기능 및 구성상의 오류가 발생할 수 있습니다:
생성 시 모델 및 포트 위반: 생성자는 InstanceSpecifier의 유효성을 검사합니다 [SWS_DM_00831]. 확인에 실패하면 표준화된 위반 메시지가 트리거됩니다: InstanceSpecifierMappingIntegrityViolation(유효하지 않은 모델 요소), PortInterfaceMappingViolation(DiagnosticDoIPActivationLineInterface로 타입화되지 않은 포트), ProcessMappingViolation(프로세스 참조 누락) 또는 InstanceSpecifierAlreadyInUseViolation(프로세스 내에서 지정자가 이미 할당됨).
다중 제공: 서비스가 이미 제공 중인 상태에서 Offer()을 호출하면 오류 코드 DiagOfferErrc::kAlreadyOffered과 함께 작업이 실패합니다 [SWS_DM_00836].
네트워크 인터페이스 구성 불일치: 애플리케이션이 GetNetworkInterfaceId()을 통해 보고한 인터페이스 ID의 관련 DoIpNetworkConfiguration이 isActivationLineDependent = 'FALSE' 속성을 갖는 경우, 사양에 따라 이는 명시적으로 심각한 구성 오류로 간주됩니다 [SWS_DM_00833].
예외 안전성: 생성자, getter, Offer(), StopOffer() 및 소멸자는 예외 안전(exception safe)으로 지정되어 있는 반면, UpdateActivationLineState()는 명시적으로 예외 안전하지 않음(not exception safe)으로 표시되어 있습니다 [SWS_DM_00834]. 따라서 이 호출 내에서 발생하는 오류는 호출하는 애플리케이션에서 신중하게 처리해야 합니다.
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 DiagnosticDoIpActivationLinePortMapping needs to be typed by a DiagnosticDoIPActivationLineInterface. 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 DiagnosticDoIPActivationLineInterface
Request a governed re-review of this record. The record is not changed immediately.
network interface id for which this activation line is responsible.
Fehler
Fehlercode
Beschreibung
This function does not specify any standardized errors.
Hinweise: If the reported DoIpNetworkConfiguration.networkInterfaceId belongs to a DoIpNetworkConfiguration with property isActivationLineDependent = ’FALSE’, this is an error!
Request a governed re-review of this record. The record is not changed immediately.
This Offer will enable the DM to listen to activation line state changes.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3534ff4305bf출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::diag::DoIPActivationLine 클래스([SWS_DM_00836], 헤더 파일 #include "ara/diag/doip_activationline.h")의 동기식 메서드 Offer는 Diagnostic Management(DM)가 활성화 라인의 상태 변경을 감지할 수 있는 상태로 만듭니다. 이 작업에는 전달 매개변수가 없으며 반환 유형 ara::core::Result<void>을(를) 통해 결과를 다시 보고합니다.
오류 발생 시 Result에 해당 오류 코드가 반환됩니다. 서비스가 이미 제공되고 있는 동안 동일한 인스턴스에 대해 메서드가 반복 호출되면 롤백 시맨틱과 함께 오류 코드 DiagOfferErrc::kAlreadyOffered을(를) 반환합니다([SWS_DM_00836]).
동시성과 관련하여 이 메서드는 스레드 안전하지 않은 것(not thread-safe)으로 명시되어 있습니다([SWS_DM_00836]). 따라서 동일한 인스턴스에 대한 동시 호출은 애플리케이션 측에서 동기화되어야 합니다. noexcept(으)로 선언됨으로써 함수는 완전히 exception-safe합니다([SWS_DM_00836]).
이 사용 지침은 AUTOSAR Adaptive Platform 릴리스 R25-11 사양을 기반으로 합니다.
This StopOffer will disable the provision of activation line state to DM.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 668b8f5f37f2출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
메서드 ara::diag::DoIPActivationLine::StopOffer은(는) [SWS_DM_00837]에 따라 Diagnostic Management (DM)에 대한 DoIP 활성화 라인(Activation Line) 상태 제공을 종료합니다.
이 함수는 시그니처 void StopOffer() noexcept을(를) 가지며 ara::diag::DoIPActivationLine의 인스턴스에서 동기식으로 실행됩니다 (AUTOSAR_AP_SWS_Diagnostics §5 “Overview”). 매개변수를 받지 않으며 반환값도 제공하지 않습니다. 호출 시 활성화 라인의 상태 변경 사항을 Diagnostic Manager에 능동적으로 전달하는 기능이 비활성화됩니다.
오류 처리와 관련하여 이 메서드는 exception safe로 지정되어 있으며, noexcept을(를) 통해 예외가 발생하지 않음을 보장합니다 ([SWS_DM_00837]). 사양에 따르면 이 동작은 not thread-safe이므로, 동일한 인스턴스에 대한 호출이 보호 없이 여러 스레드에서 동시에 발생해서는 안 되며, 병렬 접근에는 애플리케이션 측 동기화가 반드시 필요합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: becd58166c09출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::diag::DoIPActivationLine의 메서드 UpdateActivationLineState은(는) DoIP 활성화 라인의 현재 상태를 Adaptive 진단 관리에 전달하는 데 사용됩니다 [SWS_DM_00834] (AUTOSAR_AP_SWS_Diagnostics §8.32.1.1.3.5). 선언은 헤더 파일 ara/diag/doip_activationline.h을(를) 통해 제공됩니다.
사용법 및 매개변수:
매개변수: 불리언 전달 매개변수 activation_line_state은(는) 활성화 라인이 활성(TRUE)인지 또는 비활성(FALSE)인지를 시스템에 알립니다 [SWS_DM_00834].
반환값: 이 동작은 반환값을 가지지 않으며(void) 동기식으로 작동합니다.
동시성 및 제약사항:
스레드 안전성: 이 함수는 명시적으로 not thread-safe로 지정되어 있습니다 [SWS_DM_00834]. 해석: 데이터 충돌을 방지하기 위해 동일한 DoIPActivationLine 인스턴스에 대한 호출은 호출하는 애플리케이션에 의해 동기화되어야 합니다. 질문 Q-d1c43b8ffc4bdcff (열림)
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문