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 生成 未审核 模型: 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 UploadService实例化 OperationOutput 并填充 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#301115d5
Content hash
301115d5
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