结构体 ara::diag::GenericDiagnosticSovdOperation::StartSynchronousExecutionResponse
struct StartSynchronousExecutionResponse {...};
Start Execution response in case of synchronous operation .
| Header-Datei | #include "ara/diag/generic_diagnostic_sovd_operation.h" |
|---|---|
| Forwarding-Header | #include "ara/diag/diag_fwd.h" |
| Scope | class ara::diag::GenericDiagnosticSovdOperation |
用户指南人工智能生成
将同步 SOVD 操作的结果数据提供给 Diagnostic Management 用于响应体。
将同步 SOVD 操作的结果数据提供给 Diagnostic Management 用于响应体。
数据结构 ara::diag::GenericDiagnosticSovdOperation::StartSynchronousExecutionResponse 用作同步执行的 SOVD 诊断操作 [SWS_DM_02208] 的结果数据的返回容器。在对可能存在的 proximity_challenge 成功执行预先检查后,Diagnostic Management 调用应用程序方法 StartExecution [SWS_DM_02174]。Diagnostic Management 根据响应结构中包含的数据,依据 ASAM SOVD 派生出 SOVD 响应体的 parameters 属性 [SWS_DM_02176]。该机制强制要求诊断操作必须设计为同步执行。
上下文
结构 ara::diag::GenericDiagnosticSovdOperation::StartSynchronousExecutionResponse 是 AUTOSAR Adaptive Platform 中诊断接口(模块 diag)的组成部分,并在 [SWS_DM_02208] 以及 AUTOSAR_AP_SWS_Diagnostics §8.62.4 “Struct: StartSynchronousExecutionResponse” 中进行了形式化定义。其主要任务是在通过标准化的 SOVD 协议(基于服务的整车诊断,Service-Oriented Vehicle Diagnostics)同步执行诊断操作时传输响应数据。
在此上下文中,有三个核心系统参与方进行交互:外部客户端通过诊断服务器实例请求启动 SOVD 操作 [SWS_DM_01396]。Diagnostic Management (DM) 处理该请求并调用应用程序专用接口 ara::diag::GenericDiagnosticSovdOperation::StartExecution [SWS_DM_02174]。如果执行方式为同步执行,DM 将接收 StartSynchronousExecutionResponse 的实例,并据此为客户端生成符合 SOVD 规范的响应体 [SWS_DM_02176],如 AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 “Operations – Start execution of an operation” 中所指定。
生命周期
作为数据结构,StartSynchronousExecutionResponse 具有纯值对象和传递对象的特性,没有独立的状态机。该结构在调用 StartExecution 期间由具体的应用逻辑进行实例化。解释:生成通常可能作为返回值直接在应用程序同步处理方法的本地栈上下文中进行。 问题 (未决)
在操作逻辑完成后,该对象被传递给 DM 的调用上下文。后者提取其中包含的有效负载数据 (DiagnosticSovdContentData),以填充所需的 SOVD 属性 [SWS_DM_02176]。在转换完成并发送响应消息后,响应对象的生命周期即告结束。因此,其生命周期严格绑定于操作的同步调用时长;无需持久化管理或并发同步。
使用路径
常规流程按以下步骤进行:
- 客户端调用由诊断服务器实例提供的用于启动操作的 SOVD 方法 [SWS_DM_01396]。
- DM 检查该请求,并在需要时执行接近性检查 (
proximity_challenge) 的校验 [SWS_DM_02174]。 - 在成功验证后,DM 通过
ara::diag::GenericDiagnosticSovdOperation::StartExecution将调用委托给应用程序 [SWS_DM_02174]。 - 应用程序同步处理该操作并创建实例
StartSynchronousExecutionResponse,结果数据将存入其中 [SWS_DM_02208]。 - DM 从响应中包含的
DiagnosticSovdContentData中派生出属性parameters,并根据 ASAM SOVD 返回完整的 SOVD 响应体 [SWS_DM_02176]。
时序图:同步启动 SOVD 操作以及进一步处理 StartSynchronousExecutionResponse 的流程。来源:[SWS_DM_01396]、[SWS_DM_02174]、[SWS_DM_02176]、AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 “Operations – Start execution of an operation”
错误场景
响应的执行和评估受制于已定义的条件:
- 前置条件失败:如果需要对
proximity_challenge进行校验且校验失败,DM 根本不会调用StartExecution[SWS_DM_02174]。在此情况下,不会实例化StartSynchronousExecutionResponse的实例。 - 非同步执行:若该操作未被配置或启动为同步 SOVD 操作,则不适用通过
StartSynchronousExecutionResponse进行的处理 [SWS_DM_02176]。 - 应用程序错误:解释:若在应用程序内部处理过程中发生错误,可能不会返回常规的
StartSynchronousExecutionResponse,而是进入错误分支,从而无法提供用于派生属性parameters的有效DiagnosticSovdContentData。 问题 Q-5faaee7b9b008dde (未决)
本指南由 AI 助手基于 R25-11 版本的 AUTOSAR 规范生成。
gemini-3.8-flash-low· 2026-10-13 · 德文原文