애플리케이션이 진단 이벤트의 상태 기반 모니터링, 디바운싱 및 DTC 조회를 수행할 수 있도록 합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2f3253efefb6출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
애플리케이션이 진단 이벤트의 상태 기반 모니터링, 디바운싱 및 DTC 조회를 수행할 수 있도록 합니다.
ara::diag::Event 클래스는 AUTOSAR Adaptive에서 진단 이벤트와 해당 디바운싱 및 오류 상태를 모니터링하기 위한 연산을 제공합니다. 애플리케이션은 InstanceSpecifier을(를) 통해 객체를 인스턴스화하고, 선택적 변경 알림을 등록하며, 진단 및 DTC 정보를 비동기식으로 검색합니다[SWS_DM_00647]. 핵심 제약 조건으로 해당 인스턴스는 복사하거나 이동할 수 없으며, 대부분의 쿼리 메서드는 스레드 안전성이 결여되어 있어 동시 접근 시 애플리케이션 측의 동기화가 필요합니다[SWS_DM_00649].
컨텍스트
ara::diag::Event 클래스는 AUTOSAR Adaptive Platform에서 진단 이벤트와 상호작용하기 위한 기본 인터페이스 역할을 합니다. 이 클래스는 애플리케이션별 소프트웨어와 중앙 진단 관리 간의 연결고리 역할을 수행합니다. 애플리케이션은 이 인터페이스를 통해 이벤트의 현재 진단 및 디바운싱 상태를 모니터링하거나 상태 변경에 대한 정보를 수신합니다.
시스템 컨텍스트에서 상호작용에는 기본적으로 세 당사자가 관여합니다.
애플리케이션 소프트웨어: 클래스를 인스턴스화하고, 상태 조회를 시작하며, 비동기 상태 업데이트를 수신합니다.
ara::diag::Event: 형식화된 진단 포트(DiagnosticEventInterface의 PortPrototype)를 캡슐화하고 스레드 또는 프로세스 간 쿼리 메서드를 제공합니다.
Diagnostic Management (DM): 서버 측에서 오류 감지, DTC 매핑 및 디바운싱 동작(Debouncing)을 실행합니다.
소멸은 소멸자 ~Event()을(를) 통해 수행됩니다[SWS_DM_00648]. 생성자와 달리 소멸자는 스레드 안전하지 않습니다. 나머지 멤버 함수(GetDTCNumber 제외) 또한 스레드 안전하지 않은 것으로 지정되어 있으므로, 동일한 인스턴스에 대한 병렬 호출은 애플리케이션 측에서 동기화되어야 합니다. 릴리스 R25-11에서는 이와 관련된 용어가 Reentrancy에서 Concurrency로 통일되었습니다AUTOSAR_AP_SWS_Diagnostics §1 “Change History”.
Register a notifier function which is called if a diagnostic event is changed. A consecutive call of this method will overwrite the previous registered notifier.
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 DiagnosticEventPortMapping needs to be typed by a DiagnosticEventInterface. 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 DiagnosticEventInterface.
Request a governed re-review of this record. The record is not changed immediately.
Register a notifier function which is called if a diagnostic event is changed. A consecutive call of this method will overwrite the previous registered notifier.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 07bc53ae711c출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
Adaptive Application은 ara::diag::Event 클래스의 [SWS_DM_00650] 메서드(헤더 파일 ara/diag/event.h)를 통해 EventStatusByteNotifier 타입의 콜백 함수를 등록합니다. 성공적으로 등록되면 Diagnostic Management(DM)는 연관된 진단 이벤트의 상태가 변경될 때마다 이 알리미를 호출합니다 [SWS_DM_01029]. 이 메서드를 연속으로 호출하면 이전에 등록된 알리미를 덮어씁니다 [SWS_DM_00650]. 이 함수는 ara::core::Result<void> SetEventStatusChangedNotifier(EventStatusByteNotifier notifier) noexcept 시그니처를 가지며, 성공 시 빈 결과를 반환합니다 [SWS_DM_00650].
처리 중 오류가 발생하면 메서드는 오류 코드 DiagErrc::kInvalidArgument을 반환합니다 [SWS_DM_00650]. 이 인터페이스는 예외 안전(exception safe)으로 선언되어 있으나, 명시적으로 스레드 안전하지 않은 것(not thread-safe)으로 간주됩니다 [SWS_DM_00650]. 해석: 동일한 인스턴스에 대한 동시 접근은 애플리케이션 측에서 동기화되어야 합니다. 따라서 등록은 가급적 애플리케이션의 초기화 단계 중에 수행되어야 할 것으로 보입니다. 질문 Q-d8ed099eaed6b197 (열림)
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문