DEENESPTFRRUARHIKOZHNL

구조체 ara::diag::GenericUDSService::OperationOutput

[SWS_DM_00578] Upstream: RS_Diag_04169, RS_Diag_04172

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/generic_uds_service.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::GenericUDSService

사용자 가이드AI 생성

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을 Diagnostic Management에 전달합니다. 해석: 전달은 일반적으로 동기 반환 값으로 이루어지거나 ara::core::Future과 같은 비동기 Future 값에 임베드되어 이루어집니다. 질문 Q-2dcf40060cca29a1 (열림)
  • 메시지 전송: Diagnostic Management가 긍정 SID를 자동으로 앞에 추가하여 UDS 텔레그램을 완성하고 진단 테스터에 응답을 전송합니다.
OperationOutput을 통한 UDS 응답 처리 흐름DiagnosetesterDiagnostic ManagementGenericUDSServiceUDS-Anfrage senden서비스 호출 실행OperationOutput instanziierenSID 없이 responseData 채우기OperationOutput 반환SID 접두 및 UDS 프레임 생성Positive UDS-Antwort senden

시퀀스 다이어그램: UDS 응답 생성 및 OperationOutput을 통한 전달 흐름. 출처: [SWS_DM_00632], AUTOSAR_AP_SWS_Diagnostics 81쪽

오류 시나리오

구조체를 사용할 때는 주요 제약 조건과 오류 시 동작 패턴에 유의해야 합니다:

  • 부정 응답 제외: 사양에 따르면 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.

G nara__diag__GenericUDSService__OperationOutput107 «struct» OperationOutput + responseData

상수

Content of positive respose message (without SID)

상수 / 변수 문서

변수 responseData [SWS_DM_00632] Upstream: RS_Diag_04169, RS_Diag_04172

ara::core::Vector<std::uint8_t> responseData;

Content of positive respose message (without SID)

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopestruct ara::diag::GenericUDSService::OperationOutput
SymbolresponseData
Typara::core::Vector< std::uint8_t >

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00632
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00632@rel:R25-11#7ca61e15
Content hash
7ca61e15
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00632
Status: valid/unmigrated Version: rel:R25-11#3466b277 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00632@rel:R25-11#3466b277
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#42fda5632026-09-30
  • R20-11rel:R20-11#2f3f72b02026-10-14
  • R21-11rel:R21-11#14b5fdc12026-10-14
  • R22-11rel:R22-11#03c6c13a2026-10-14
  • R23-11rel:R23-11#8e6b999c2026-10-14
  • R24-11rel:R24-11#8e6b999c2026-10-14
  • R25-11rel:R25-11#3466b2772026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill