DEENESPTFRRUARHIKOZHNL

구조체 ara::diag::GenericRoutine::OperationOutput

[SWS_DM_00551] Upstream: RS_Diag_04169, RS_Diag_04224

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/generic_routine.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::GenericRoutine

사용자 가이드AI 생성

일반 루틴 서비스의 긍정 응답 시 페이로드를 수용하고 반환하는 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d9df3888892f 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

일반 루틴 서비스의 긍정 응답 시 페이로드를 수용하고 반환하는 역할을 합니다.

구조체 ara::diag::GenericRoutine::OperationOutput은 AUTOSAR Adaptive [SWS_DM_00633]에서 일반 루틴 서비스의 긍정 응답 메시지를 위한 반환 구조체 역할을 합니다. 루틴이 성공적으로 실행된 후 애플리케이션은 구조체를 인스턴스화하고 멤버 responseData를 결과 페이로드로 채웁니다(SWS Diagnostics 80쪽). 중요한 제약 조건은 벡터 responseData가 순수한 결과 데이터만을 포함해야 하며 RoutineIdentifier는 명시적으로 포함되어서는 안 된다는 점입니다([SWS_DM_00633]).

컨텍스트

구조체 ara::diag::GenericRoutine::OperationOutput은 AUTOSAR Adaptive의 진단 모듈에서 일반 루틴 서비스의 긍정 응답 메시지를 위한 전용 데이터 컨테이너 역할을 합니다([SWS_DM_00633]). 이 구조체는 헤더 ara/diag/generic_routine.h를 통해 제공되며([SWS_DM_00633]), 어댑티브 진단 애플리케이션이 루틴을 성공적으로 처리한 후 Diagnostic Management(ara::diag)로 반환하는 페이로드를 캡슐화합니다. 이 상호작용에는 주로 세 엔티티가 관여합니다. 루틴 요청의 송신자인 외부 진단 테스터, 프로토콜 처리를 위한 플랫폼 프레임워크 ara::diag, 그리고 비즈니스 로직을 실행하고 결과를 제공하는 GenericRoutine의 애플리케이션별 구현입니다(SWS Diagnostics 80쪽). OperationOutput의 핵심 작업은 루틴의 순수 출력 데이터를 구조화된 방식으로 제공하는 것이며, RoutineIdentifier는 명시적으로 이 데이터 구조의 일부가 아닙니다([SWS_DM_00633]).

수명 주기

경량 데이터 구조(struct)로서 OperationOutput은 단순한 값 수명 주기를 갖습니다. 인스턴스화는 루틴으로 전달된 명령(예: 시작, 중지 또는 결과 쿼리)이 성공적으로 완료되는 즉시 어댑티브 진단 애플리케이션에 의해 온디맨드 방식으로 수행됩니다. 유일한 데이터 요소는 ara::core::Vector<std::uint8_t> 유형의 responseData입니다([SWS_DM_00633]). 애플리케이션은 벡터를 할당하고 애플리케이션별 반환 데이터로 채운 후 완성된 구조체를 진단 하위 시스템에 전달합니다. 진단 프레임워크로의 반환은 일반적으로 ara::core의 Result 또는 Future 유형을 통해 비동기적으로 수행될 것으로 보입니다(해석: Adaptive Platform의 비동기 인터페이스 규칙). 질문 Q-e672dfb8b9ff416a (열림) 전달 후 직렬화에 대한 책임은 ara::diag으로 이전됩니다. 데이터가 전송되거나 내부 버퍼로 복사되면 각 유효 범위를 벗어날 때 구조체가 다시 소멸합니다. 동시성과 관련하여 OperationOutput은 단일 작업 실행 컨텍스트용으로 생성되므로 여러 스레드에 걸쳐 보호되지 않은 공유 접근은 일반적으로 발생하지 않는다는 점에 유의해야 합니다.

사용 경로

OperationOutput을 사용하기 위한 일반적인 흐름은 다음과 같은 연속적인 단계로 구성됩니다:

  • 요청 수신: 진단 클라이언트가 UDS RoutineControl 요청을 전송하고, 이는 진단 계층에 의해 담당 GenericRoutine 인스턴스로 전달됩니다(SWS Diagnostics 84쪽).
  • 실행: 어댑티브 애플리케이션이 요청된 루틴을 실행하고 입력 매개변수를 처리합니다.
  • 결과 생성: 성공적으로 실행된 후 애플리케이션은 OperationOutput의 인스턴스를 생성하고 결과 바이트 값으로 responseData을 채웁니다([SWS_DM_00633]).
  • 응답 전달: 구조체가 긍정적인 작업 결과로서 ara::diag에 반환됩니다.
  • 응답 전송: Diagnostic Management는 UDS 응답을 조립할 때 RoutineIdentifier를 responseData 필드 앞에 자동으로 추가(해석: 데몬에 의한 프로토콜 헤더 추가)하고 전체 패킷을 클라이언트에 전송하는 것으로 보입니다([SWS_DM_00633]). 질문 Q-ccdd2867b87d00d1 (열림)
OperationOutput을 통한 긍정 응답 데이터 제공진단 클라이언트ara::diagGenericRoutineRoutineControl Request루틴 실행OperationOutput instanziierenresponseData 채우기OperationOutput 반환Positive Response (responseData 포함)

시퀀스 다이어그램: 성공적인 루틴 실행 시 OperationOutput을 통한 데이터 제공의 일반적인 흐름. 출처: [SWS_DM_00633], SWS Diagnostics 80쪽.

오류 시나리오

루틴 처리 중에 오류가 발생하거나 전달된 입력 데이터가 유효하지 않은 경우 OperationOutput의 사용 경로가 중단됩니다. 오류 발생 시 애플리케이션은 OperationOutput 대신 Diagnostic Management로 오류 코드를 전송하여 부정 UDS 응답을 트리거할 것으로 추정됩니다(해석: Result/Error 도메인을 통한 오류 경로). 질문 (열림) 따라서 OperationOutput를 사용하기 위한 필수 전제 조건은 루틴 작업이 오류 없이 완전히 완료되는 것입니다. 사후 조건으로서 애플리케이션은 responseData이 긍정 응답 메시지의 순수 페이로드만을 포함하고 RoutineIdentifier와 같은 프로토콜 접두사가 포함되지 않음을 보장합니다([SWS_DM_00633]). 루틴이 성공적으로 완료되었지만 추가 반환 데이터를 생성하지 않는 경우 벡터 responseData은 비어 있는 상태로 유지됩니다(SWS Diagnostics 70쪽).

이 가이드는 Diagnostics 모듈(R25-11)에 대한 AUTOSAR Adaptive 사양을 기반으로 합니다. 설명은 사양 발췌본을 기반으로 하며 문서화된 가정 범위의 적용을 받습니다.

UML 클래스 다이어그램

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

G nara__diag__GenericRoutine__OperationOutput174 «struct» OperationOutput + responseData

상수

Content of positive respose message (without RoutineIdentifier)

상수 / 변수 문서

변수 responseData [SWS_DM_00633] Upstream: RS_AP_00137, RS_Diag_04169, RS_Diag_04224

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

Content of positive respose message (without RoutineIdentifier)

Header-Datei#include "ara/diag/generic_routine.h"
Scopestruct ara::diag::GenericRoutine::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_00633
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00633@rel:R25-11#20e52a68
Content hash
20e52a68
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00633
Status: valid/unmigrated Version: rel:R25-11#05a25446 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_00633@rel:R25-11#05a25446
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#85d41a6a2026-09-30
  • R20-11rel:R20-11#bfdc6f692026-10-14
  • R21-11rel:R21-11#bfdc6f692026-10-14
  • R22-11rel:R22-11#816f129b2026-10-14
  • R23-11rel:R23-11#4c6a51d42026-10-14
  • R24-11rel:R24-11#4c6a51d42026-10-14
  • R25-11rel:R25-11#05a254462026-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