DEENESPTFRRUARHIKOZHNL

구조체 ara::diag::UploadService::OperationOutput

[SWS_DM_00795] Upstream: RS_Diag_04033

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/upload.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::UploadService

사용자 가이드AI 생성

진단 업로드 작업을 위한 긍정 응답 메시지의 페이로드를 수용합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 6cf26bd1a154 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

진단 업로드 작업을 위한 긍정 응답 메시지의 페이로드를 수용합니다.

구조체 ara::diag::UploadService::OperationOutput은 업로드 서비스에서 긍정 진단 응답의 페이로드를 반환하기 위한 출력 매개변수 역할을 합니다([SWS_DM_00796]). 애플리케이션 소프트웨어는 업로드 작업을 성공적으로 수행한 후 객체를 인스턴스화하고 전송할 데이터 바이트로 멤버 responseData를 채웁니다([SWS_DM_00796]). 이때 responseData의 내용에는 서비스 식별자(SID)가 포함되어서는 안 되며, UploadData 또는 RequestUploadExit과 같은 서비스의 작업별 사양을 준수해야 합니다. 해석: 오류가 발생한 경우에는 구조체가 사용되지 않고 부정 응답 상태가 신호됩니다. 질문 Q-52a8538825bc0a30 (열림)

컨텍스트

구조체 ara::diag::UploadService::OperationOutput은 차량 측 업로드 서비스 프레임워크 내에서 성공적인 진단 작업의 페이로드를 위한 데이터 컨테이너 역할을 합니다([SWS_DM_00796]). 이 구조체의 주된 책임은 긍정 응답 메시지(\"positive response message\")를 위한 데이터를 캡슐화하여 플랫폼에 전달하는 것입니다([SWS_DM_00796]).

전체 시스템에서는 세 가지 컴포넌트가 상호작용합니다. 외부 진단 클라이언트(테스터), Adaptive 시스템의 진단 런타임 환경(ara::diag), 그리고 UploadService의 애플리케이션별 구현입니다([SWS_DM_00796]). 테스터가 UDS 서비스 작업을 요청하면 ara::diag은 애플리케이션의 담당 서비스 제공자에게 처리를 위임하고, 서비스 제공자는 OperationOutput를 통해 결과를 플랫폼 계층으로 다시 전달합니다([SWS_DM_00796]).

OperationOutputContext client 진단 클라이언트 aradiag ara::diag client->aradiag UDS 요청 aradiag->client Positive Antwort app UploadService Provider aradiag->app Dienstaufruf app->aradiag OperationOutput

컨텍스트 다이어그램: 응답 데이터 제공 시 진단 클라이언트, 런타임 환경 ara::diag 및 UploadService 간의 상호작용. 출처: [SWS_DM_00796], AUTOSAR_AP_SWS_Diagnostics, 74쪽.

수명 주기

구조체 OperationOutput은 자체 상태 로직이 없는 순수 데이터 전송 객체로 설계되었으며 헤더 #include "ara/diag/upload.h"을 통해 제공됩니다([SWS_DM_00796]). 이 구조체의 수명 주기는 다음 단계로 나뉩니다:

  • 생성: 요구된 업로드 데이터가 성공적으로 구성되는 즉시 실행 중인 진단 작업 내에서 애플리케이션 측 인스턴스화가 수행됩니다. 해석: 객체는 서비스 애플리케이션의 스택에 로컬로 생성될 것으로 추정됩니다. 질문 (열림)
  • 채우기: 애플리케이션 로직이 제공할 페이로드를 ara::core::Vector<std::uint8_t> 유형의 공개 멤버 responseData에 할당합니다([SWS_DM_00796]).
  • 소유권 이전: 객체가 작업 결과로서 ara::diag에 전달됩니다. 해석: 이 전달은 값 또는 이동 시맨틱을 통해 수행될 것으로 보이며, 이에 따라 데이터에 대한 책임이 플랫폼으로 이전됩니다. 질문 (열림)
  • 소멸: 페이로드가 UDS 응답 메시지로 직렬화된 후 런타임 환경에 의해 구조체가 해제됩니다.

동시성과 관련하여 OperationOutput은 내부 동기화를 제공하지 않습니다. 그러나 인스턴스는 작업 호출별로 전용 생성되고 스레드 로컬로 처리되므로 공유 상태 관리가 필요하지 않습니다.

사용 경로

OperationOutput을 통해 응답 데이터를 제공하기 위한 일반적인 흐름은 정해진 일련의 상호작용 단계로 구성됩니다:

  1. 외부 테스터가 업로드 요청(UploadData 또는 RequestUploadExit 등)을 제어기 [SWS_DM_00796]에 전송합니다.
  2. 진단 관리 ara::diag는 프로토콜 헤더를 처리하고 UploadService의 애플리케이션 인스턴스의 해당 오퍼레이션을 호출합니다 [SWS_DM_00796].
  3. 애플리케이션은 요청을 처리하고, OperationOutput의 인스턴스를 생성하며, responseData을 페이로드로 채웁니다 [SWS_DM_00796]. 이때 responseData에는 서비스 식별자(SID) 없이 페이로드만 포함되어야 합니다 [SWS_DM_00796]. 오퍼레이션에 따라 요구되는 내용과 긍정 응답 메시지 내 데이터의 시작 위치가 달라집니다 [SWS_DM_00796].
  4. 해당 구조체는 ara::diag에 반환됩니다.
  5. 플랫폼 계층은 완전한 UDS 응답 메시지를 생성하여 이를 테스터 [SWS_DM_00796]에 전송합니다.
OperationOutput을 통한 응답 데이터 제공 호출 순서진단 클라이언트ara::diagUploadService ProviderUDS-Upload-Anfrage (z. B. UploadData)Dienstaufruf an UploadServiceOperationOutput 인스턴스화 및 responseData 채우기OperationOutput 반환긍정 UDS 응답(SID 없는 페이로드)

시퀀스 다이어그램: OperationOutput을 사용한 진단 데이터 반환 호출 시퀀스. 출처: [SWS_DM_00796], AUTOSAR_AP_SWS_Diagnostics, 74쪽.

오류 시나리오

구조체 OperationOutput은 성공적인 실행 및 긍정 응답 메시지에만 지정되어 있습니다 [SWS_DM_00796]. 오퍼레이션이 실패하는 경우(예: 잘못된 주소 범위 또는 UploadData의 시퀀스 오류로 인해), OperationOutput은 사용되지 않습니다. 해석: 결함이 있는 동작 흐름은 별도의 진단 오류 코드(NRC)를 통해 ara::diag에 보고될 것으로 보이며, 따라서 출력 구조체의 생성이나 채우기는 생략됩니다. 질문 Q-fa3daf3152f7131c (열림)

반환을 위한 사전 조건으로 responseData은 해당 서비스 오퍼레이션에서 요구하는 바이트만 정확히 포함해야 하며 앞에 프로토콜 식별자를 포함하지 않아야 합니다 [SWS_DM_00796]. 사후 조건으로 진단 관리는 버스 통신을 마무리하기 위해 데이터를 인계받습니다 [SWS_DM_00796].

이 가이드는 AUTOSAR Adaptive Platform R25-11의 요구사항을 기반으로 합니다.

UML 클래스 다이어그램

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__UploadService__OperationOutput307 «struct» OperationOutput + responseData

상수

Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.

상수 / 변수 문서

변수 responseData [SWS_DM_00796] Upstream: RS_Diag_04033

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

Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.

Header-Datei#include "ara/diag/upload.h"
Scopestruct ara::diag::UploadService::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_00796
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00796@rel:R25-11#da939b8b
Content hash
da939b8b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00796
Status: valid/unmigrated Version: rel:R25-11#891d111d Versionshistorie & Revisions (1 transition, 4 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_00796@rel:R25-11#891d111d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#533702792026-09-30
  • R23-11rel:R23-11#c101ec302026-10-14
  • R24-11rel:R24-11#c101ec302026-10-14
  • R25-11rel:R25-11#891d111d2026-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