진행 중인 진단 요청에 대한 전송 및 프로토콜 관련 메타데이터를 애플리케이션에 제공합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4cec228b1dec출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
진행 중인 진단 요청에 대한 전송 및 프로토콜 관련 메타데이터를 애플리케이션에 제공합니다.
ara::diag::MetaInfo 클래스는 진행 중인 진단 요청의 소스 주소, 대상 주소 및 프로토콜 컨텍스트와 같은 관련 메타 정보를 Adaptive Applications에 제공합니다(AUTOSAR_AP_SWS_Diagnostics §7.3.1.1 “MetaInfo class”). 애플리케이션은 Diagnostic Management가 시작한 콜백 호출 중에 검사 메서드를 통해 이러한 값을 동기식으로 쿼리합니다. 이때 객체의 보장된 수명은 활성 콜백 함수의 실행 시간으로 엄격하게 제한되므로, 이 호출을 넘어 저장하면 정의되지 않은 동작이 발생합니다([SWS_DM_01345]).
컨텍스트
ara::diag::MetaInfo 클래스는 Diagnostic Management(DM)의 전송 및 프로토콜별 메타 정보를 관심 있는 Adaptive Applications에 전달하기 위한 표준화된 메커니즘을 제공합니다(AUTOSAR_AP_SWS_Diagnostics §7.3.1.1 “MetaInfo class”). AUTOSAR Adaptive 진단 아키텍처에서 DM은 외부 진단 클라이언트와 내부 기능 클러스터 또는 애플리케이션 간의 중재자 역할을 합니다. UDS 전송 프로토콜 또는 SOVD를 통해 진단 요청이 수신되면 DM은 관련 프로토콜 데이터를 추출하고 메서드 호출 시 이를 애플리케이션의 인터페이스로 전달합니다([SWS_DM_02094]).
ara::diag::MetaInfo의 핵심 작업에는 호출 컨텍스트 및 특정 키-값 쌍 제공이 포함됩니다. 애플리케이션 서비스는 이 인터페이스를 통해 kSA 키([SWS_DM_02094])로 진단 클라이언트의 소스 주소(SA), kTA([SWS_DM_02095])으로 진단 서버의 대상 주소(TA), kTAType 키([SWS_DM_02096])로 UDS 주소 지정 유형(물리적 또는 기능적)에 대한 정보를 얻습니다. 호출 컨텍스트는 ara::diag::MetaInfo::Context 타입을 통해 유형화됩니다([SWS_DM_00977]). 가능한 컨텍스트로는 정규 진단 통신 kDiagnosticCommunication([SWS_DM_01342]), 오류 메모리 접근 kFaultMemory([SWS_DM_01343]), 차대 번호 판독과 같은 DoIP 초기 쿼리 kDoIP([SWS_DM_01344]), 그리고 SOVD 컨텍스트의 서비스 요청 kSovd([SWS_DM_01818])가 있습니다.
ara::diag::MetaInfo 인스턴스의 생성 및 관리는 전적으로 Diagnostic Management의 몫입니다. 매개변수가 없는 기본 생성자는 명시적으로 삭제되었습니다([SWS_DM_00972]). 따라서 복사 생성자([SWS_DM_00973])와 복사 할당 연산자([SWS_DM_00975])가 모두 삭제되었으므로 애플리케이션은 자체 인스턴스를 직접 인스턴스화하거나 복사 작업을 통해 복제할 수 없습니다. 인스턴스화는 애플리케이션 콜백이 호출되기 전에 DM에 의해 내부적으로 수행될 것으로 추정됩니다. 질문 Q-f695f92296527ce8 (열림)ara::diag::MetaInfo는 이동 시맨틱을 지원하며, 이동 생성자([SWS_DM_00974])와 이동 할당 연산자([SWS_DM_00976])를 사용할 수 있습니다. 소멸은 기본 소멸자([SWS_DM_00980])를 통해 이루어집니다.
DM에 의한 호출: Diagnostic Management는 애플리케이션의 콜백 메서드를 호출하고 ara::diag::MetaInfo에 대한 참조를 전달합니다([SWS_DM_01345]).
컨텍스트 확인: 애플리케이션은 GetContext()을 호출하여([SWS_DM_00979]) 호출이 예를 들어 정규 진단 통신(kDiagnosticCommunication, [SWS_DM_01342])의 일환인지 아니면 오류 메모리 접근(kFaultMemory, [SWS_DM_01343])의 일환인지 확인합니다.
결과 처리:GetValue()은(는) ara::core::Optional<ara::core::StringView>을(를) 반환합니다([SWS_DM_00978]). 값이 존재하면 애플리케이션은 액세스 검사 또는 어드레싱 로직을 수행하기 위해 문자열을 동기적으로 평가합니다.
호출 완료: 애플리케이션은 처리를 완료하고 콜백 메서드에서 반환되며, 이에 따라 전달된 메타데이터의 수명이 종료됩니다([SWS_DM_01345]).
존재하지 않는 키 쿼리: 현재 컨텍스트에서 제공되지 않는 키가 전달되면 GetValue()은(는) 예외를 발생시키지 않고 빈 ara::core::Optional을(를) 반환합니다([SWS_DM_00978]). 두 접근 메서드 모두 noexcept(으)로 선언되어 있으며 예외 안전성을 갖춥니다([SWS_DM_00978], [SWS_DM_00979]).
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문