Diagnostic Management로 전달하기 위해 서비스 식별자(Service-Identifier)가 없는 긍정 UDS 응답의 페이로드를 캡슐화합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e0f4adf446cb출처열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
Diagnostic Management로 전달하기 위해 서비스 식별자(Service-Identifier)가 없는 긍정 UDS 응답의 페이로드를 캡슐화합니다.
구조체 ara::diag::GenericUDSService::OperationOutput은 diag 모듈에서 긍정 UDS 응답 메시지의 페이로드를 위한 출력 구조체 역할을 합니다([SWS_DM_00632]). 일반 UDS 서비스를 성공적으로 실행한 후 애플리케이션은 바이트 변수 responseData을 채우고 해당 인스턴스를 Diagnostic Management에 전달합니다. 이때 UDS 서비스 식별자(SID)는 플랫폼에 의해 자동으로 추가되므로 responseData에 포함되어서는 안 됩니다([SWS_DM_00632]). 이 구조체는 오류 시나리오 및 부정 응답용으로는 제공되지 않습니다.
컨텍스트
데이터 구조체 ara::diag::GenericUDSService::OperationOutput은 AUTOSAR Adaptive Platform의 diag 모듈 내에서 일반 UDS 서비스를 위한 표준화된 출력 채널 역할을 합니다([SWS_DM_00632]). 이 구조체는 헤더 파일 #include "ara/diag/generic_uds_service.h"에 정의되어 있으며 성공적인 UDS 서비스 실행 페이로드를 위한 캡슐화 역할을 합니다([SWS_DM_00632]). 주요 상호작용 파트너는 일반 UDS 서비스 핸들러의 애플리케이션별 구현과 플랫폼의 상위 Diagnostic Management입니다(AUTOSAR_AP_SWS_Diagnostics 80쪽). Diagnostic Management가 외부 진단 테스터와의 조율, 프로토콜 검증 및 프레임워크를 담당하는 동안 OperationOutput은 긍정 UDS 응답 메시지를 위한 격리된 페이로드를 제공합니다([SWS_DM_00632]).
수명 주기
ara::diag::GenericUDSService::OperationOutput의 인스턴스는 매우 집중적이고 짧은 수명 주기를 갖습니다. 이 구조체는 들어오는 UDS 요청의 로컬 컨텍스트에서 서비스 애플리케이션에 의해 인스턴스화됩니다. ara::core::Vector<std::uint8_t> 유형의 유일한 공개 멤버 변수 responseData을 통해 구조체는 페이로드 바이트의 완전한 소유권을 갖습니다([SWS_DM_00632]).
해석: OperationOutput의 수명은 일시적이며 각 요청 처리 기간에 바인딩됩니다. 인스턴스는 채워진 후 반환 값 또는 이동 시맨틱을 통해 Diagnostic Management로 전달되고 UDS 응답 프레임으로 직렬화된 후 다시 소멸될 것으로 보입니다. 내부 상태 로직이 없는 순수 데이터 전송 객체(DTO)이므로 상태 전이가 존재하지 않습니다. 동시성과 관련하여 OperationOutput은 고유한 스레드 안전성을 제공하지 않지만, 인스턴스화 및 채우기가 요청별로 처리 컨텍스트 내에서 격리되어 수행되므로 일반적인 서비스 애플리케이션에서는 외부 동기화가 필요하지 않습니다. 질문 Q-c736182a9518978a (열림)
사용 경로
진단 요청 처리 시 일반적인 흐름은 다음 단계로 나뉩니다:
수신: Diagnostic Management가 외부 진단 테스터로부터 UDS 요청을 수신하고 이를 GenericUDSService의 해당 인스턴스로 전달합니다(AUTOSAR_AP_SWS_Diagnostics 81쪽).
서비스 실행: 애플리케이션이 수신된 매개변수를 해석하고 내부 진단 기능을 실행합니다.
결과 제공: 처리가 성공하면 애플리케이션은 OperationOutput 유형의 객체를 인스턴스화하고 응답 페이로드를 responseData 필드에 할당합니다([SWS_DM_00632]). 이때 사양에서는 responseData이 서비스 식별자(SID) 없이 오직 데이터 바이트만을 포함해야 한다고 구속력 있게 규정합니다([SWS_DM_00632]).
부정 응답 제외: 사양에 따르면 OperationOutput은 명시적으로 오직 긍정 응답 메시지의 내용만을 나타냅니다([SWS_DM_00632]). 해석: 서비스 요청을 성공적으로 처리할 수 없는 경우(예: 허용되지 않는 매개변수 또는 잘못된 전제 조건으로 인해) OperationOutput가 생성되지 않아야 하며, 대신 애플리케이션이 Diagnostic Management에 Negative Response Code(NRC)를 알릴 것으로 보입니다. 질문 Q-09abb9092c1dc167 (열림)
잘못된 SID 포함: 서비스 식별자가 실수로 responseData에 삽입되면 Diagnostic Management가 긍정 응답 시 SID를 자체적으로 앞에 추가하기 때문에 잘못 포맷된 UDS 텔레그램이 생성됩니다([SWS_DM_00632]).
메모리 할당: responseData은 동적 벡터(ara::core::Vector)로 선언되어 있으므로 매우 큰 양의 페이로드를 할당할 때 발생할 수 있는 메모리 병목 현상을 고려해야 합니다([SWS_DM_00632]).
이 가이드는 AUTOSAR Adaptive Platform 릴리스 R25-11 사양을 기반으로 하며 자동으로 생성되었습니다.
UML 클래스 다이어그램
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문