DEENESPTFRRUARHIKOZHNL

类 ara::diag::SovdOperationExecution

[SWS_DM_02197] Upstream: RS_Diag_04262

class SovdOperationExecution {...};

Interface to handle the SOVD Operation Execution .

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

用户指南人工智能生成

用作控制、状态查询和受控终止正在运行的 SOVD 操作执行的接口。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 45e435c1ec1c 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用作控制、状态查询和受控终止正在运行的 SOVD 操作执行的接口。

该接口用于在 Diagnostic Management [SWS_DM_02197] 中对正在运行的 SOVD 操作进行应用程序特定的控制与监控。它通过受保护的方法处理状态查询以及执行特定功能或中止操作的请求。所有返回均通过 Future 异步进行,其中错误必须按照 ISO 17978-3 作为标准化 SOVD 错误代码传输 [SWS_DM_02384]。此外,实现必须是线程安全的,并将传入的取消处理程序严格绑定到操作生命周期。

上下文

类 ara::diag::SovdOperationExecution 定义了在 AUTOSAR Adaptive Platform 的 diag 模块内控制和监控正在运行的 SOVD(Service-Oriented Vehicle Diagnostics)操作执行的编程接口 [SWS_DM_02197]、SWS Diagnostics §8.62.5 “Class: SovdOperationExecution”。它充当 Diagnostic Management (DM) 与符合 ASAM SOVD 和 ISO 17978-3 的诊断相关例程执行应用程序逻辑之间的连接纽带。

当外部 SOVD 客户端发起操作启动 [SWS_DM_01396] 且可选的邻近质询验证成功完成时 [SWS_DM_02174],DM 将实例化该执行或将其绑定到唯一标识符(execution-id)[SWS_DM_02177]。DM 会将针对该正在运行操作的所有后续方法调用(特别是状态查询和中止命令)转发给分配给该标识符的 ara::diag::SovdOperationExecution 实例 [SWS_DM_02180]。

SovdOperationExecutionContext client SOVD-Client dm Diagnostic Management (DM) client->dm SOVD-Methodenaufrufe (Start, Status, Terminate) dm->client SOVD-Antworten (JSON-Payload) execution ara::diag::SovdOperationExecution (Anwendungsimplementierung) dm->execution ExecuteCapability() / GetStatus() / Terminate() execution->dm ara::core::Future

上下文图:SovdOperationExecution 在 SOVD 客户端、Diagnostic Management 与应用程序特定操作逻辑之间的集成。来源:[SWS_DM_01396]、[SWS_DM_02180]、[SWS_DM_02197]。

生命周期

该类具有声明为 noexcept=default 的默认构造函数 [SWS_DM_02198] 以及同样定义为 noexcept=default 的虚析构函数 [SWS_DM_02199]。由于所有业务方法——ExecuteCapability [SWS_DM_02384]、GetStatus [SWS_DM_02201] 以及 Terminate [SWS_DM_02202]——均为纯虚函数(= 0)且为受保护的(protected),因此该类无法直接实例化。解释:应用程序开发人员从 SovdOperationExecution 派生自己的类以实现特定于应用程序的例程。 问题 Q-c1d622c7aa17382d (未决)

每个活动的操作执行都在 DM 中分配给一个 execution-id [SWS_DM_02177]、[SWS_DM_02180]。规范强调,操作在许多情况下仅允许单个并发实例 SWS Diagnostics §7.3.3.5.5.6 “Operations – Terminate execution of an operation”。所有接口方法均被指定为线程安全(thread-safe)和异常安全(exception safe)[SWS_DM_02384]、[SWS_DM_02201]、[SWS_DM_02202]。

在内存管理和生命周期方面适用严格要求:参数 sovd_content_data 保持有效,直到关联的 Promise 被满足或处理通过 cancellation_handler 被取消 [SWS_DM_02384]。在任何情况下,对象 cancellation_handler 本身都不得在对应操作的生命周期之外被存储或调用 [SWS_DM_02384]、[SWS_DM_02201]、[SWS_DM_02202]。

使用路径

伴随 SOVD 操作的典型流程分为以下步骤:

  • 请求功能:DM 可针对正在运行的操作通过方法 ExecuteCapability 请求诸如执行、冻结或重置等操作 [SWS_DM_02384]。
  • 查询状态:如果 DM 收到 SOVD 调用“Read the Status of an operation”且所需的邻近验证成功 [SWS_DM_02173],则它会调用所分配 SovdOperationExecution 实例的 GetStatus [SWS_DM_02180]、[SWS_DM_02201]。成功返回后,DM 将属性 status(来自 GetStatusResponse.status)、capability(值 execute)和 parameters(派生自 GetStatusResponse.Parameters)响应给客户端 [SWS_DM_02181]。
  • 终止操作:如果 Diagnostic Server 接收到 SOVD 方法“Terminate execution of an Operation”[SWS_DM_01392],则在验证邻近响应 [SWS_DM_01391] 后,将在该实例上调用方法 Terminate 并指定原因(TerminateOperationExecutionReason)[SWS_DM_02179]、[SWS_DM_02202]。
SOVD 操作的状态监控与终止SOVD-ClientDiagnostic Management (DM)SovdOperationExecutionUse Case: 正在运行的操作的状态查询Read the Status of an operation (execution-id)GetStatus(meta_info, cancellation_handler)Future<GetStatusResponse>SOVD Response (status, parameters)Use Case: 终止正在运行的操作Terminate execution of an operationTerminate(reason, meta_info, cancellation_handler)Future<void>SOVD Terminate Response

时序图:在状态查询和受控终止时 Diagnostic Management 与 SovdOperationExecution 之间的交互流程。来源:[SWS_DM_02180]、[SWS_DM_02181]、[SWS_DM_02179]、[SWS_DM_02202]。

错误场景

所有要执行的方法(ExecuteCapability、GetStatus、Terminate)均异步工作并返回一个 ara::core::Future [SWS_DM_02384]、[SWS_DM_02201]、[SWS_DM_02202]。如果应用程序内的处理失败,则必须使用符合 ISO 17978-3 或 ASAM SOVD 1.1 的适用 SOVD 错误代码来满足该 Future [SWS_DM_02384]、[SWS_DM_02201]、[SWS_DM_02202]。

如果诊断框架取消了正在运行的请求,DM 将通过附带的对象 ara::diag::CancellationHandler 告知此情况 [SWS_DM_02384]。实现必须考虑该处理程序的取消状态并立即终止处理,以防止阻塞状态。

本类指南基于 AUTOSAR Adaptive Platform 规范版本 R25-11 生成。

成员图

类图

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

G nara__diag__SovdOperationExecution800 SovdOperationExecution + SovdOperationExecution() + ~SovdOperationExecution() + ExecuteCapability() + GetStatus() + Terminate()

详细视图

请在大纲中选择一个条目。

构造函数和析构函数

Constructor of SovdOperationExecution (inherited) -.

SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

virtual ~SovdOperationExecution () noexcept=default;

方法

Called for " Support for execute / freeze / reset" for the specified SOVD Operation.

virtual ara::core::Future< OperationExecutionStatus > Execute Capability (OperationExecutionCapability capability, DiagnosticSovd ContentData const &sovd_content_data, ara::diag::MetaInfo const &meta_ info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;
GetStatus 函数

Called for "Get status execution of an operation" for the current execution.

virtual ara::core::Future< GetStatusResponse > GetStatus (ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;
Terminate 函数

Called for "Terminate execution of an operation" for the current execution.

virtual ara::core::Future< void > Terminate (TerminateOperation ExecutionReason reason, ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

嵌套类型

方法文档

函数 ExecuteCapability [SWS_DM_02384] Upstream: RS_Diag_04262

virtual ara::core::Future< OperationExecutionStatus > Execute Capability (OperationExecutionCapability capability, DiagnosticSovd ContentData const &sovd_content_data, ara::diag::MetaInfo const &meta_ info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

Called for " Support for execute / freeze / reset" for the specified SOVD Operation.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: aa676a4edac8 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

来自ara::diag::SovdOperationExecution的纯虚方法ExecuteCapability用于根据[SWS_DM_02384]执行、冻结或重置指定的 SOVD 操作(SWS Diagnostics §8.62.5.2.1.1 “ExecuteCapability”)。由于该函数被定义为protected且为纯虚函数,因此它通常可能由应用程序特定的子类重写并由诊断守护进程调用。 问题 Q-66c5defcf6d00f57 (未决)

该调用异步进行并返回一个ara::core::Future<OperationExecutionStatus>[SWS_DM_02384]。调用时,会传递要执行的能力(capability)、附加元信息(meta_info)、一个cancellation_handler以及有效负载数据(sovd_content_data)。sovd_content_data中的数据在关联的 Promise 被满足或通过cancellation_handler中止处理之前保持有效[SWS_DM_02384]。

对于并发性和生命周期适用明确的规定:该操作被指定为线程安全和异常安全(分别为exception safe与noexcept)。传递的对象cancellation_handler通报正在进行的请求的中止;决不能超出该操作的生命周期对其进行存储或引用[SWS_DM_02384]。

成功时,Future 提供执行状态OperationExecutionStatus。如果处理失败,则必须通过 Future 返回符合 ISO 17978-3 或 ASAM SOVD 1.1 的合适 SOVD 错误码[SWS_DM_02384]。

本使用说明基于 AUTOSAR R25-11 规范自动生成。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Sichtbarkeitprotected

Parameter (in)

ParameterBeschreibung
capabilityThe SOVD operation execution capability
sovd_content_dataThe SOVD content data. Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler
meta_infocontains additional meta information
cancellation_handlerInforms if the current request is cancelled. This object shall not be stored or accessed beyond the lifetime of this operation.

Rückgabewert

TypBeschreibung
ara::core::Future<OperationExecutionStatus >A future with either execution status (for a positive response message) or a SOVD Error (for an negative response message)

Fehler

FehlercodeBeschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.

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

Record
AUTOSAR/AP/record/SWS_DM_02384
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02384@rel:R25-11#56a5a886
Content hash
56a5a886
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02384
Status: valid/unmigrated Version: rel:R25-11#38d7bf66 Versionshistorie & Revisions (1 transition)
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_02384@rel:R25-11#38d7bf66
Point-in-Time History:
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

函数 GetStatus [SWS_DM_02201] Upstream: RS_Diag_04262

virtual ara::core::Future< GetStatusResponse > GetStatus (ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

Called for "Get status execution of an operation" for the current execution.

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Sichtbarkeitprotected

Parameter (in)

ParameterBeschreibung
meta_infocontains additional meta information
cancellation_handlerInforms if the current request is cancelled. This object shall not be stored or accessed beyond the lifetime of this operation.

Rückgabewert

TypBeschreibung
ara::core::Future< GetStatusResponse >A future with either GetStatusResponse (for a positive response message) or a SOVD Error (for an negative response message)

Fehler

FehlercodeBeschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.

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

Record
AUTOSAR/AP/record/SWS_DM_02201
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02201@rel:R25-11#742fdddf
Content hash
742fdddf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02201
Status: valid/unmigrated Version: rel:R25-11#8e5630e2 Versionshistorie & Revisions (1 transition)
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_02201@rel:R25-11#8e5630e2
Point-in-Time History:
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

函数 SovdOperationExecution [SWS_DM_02198] Upstream: RS_Diag_04262

SovdOperationExecution () noexcept=default;

Constructor of SovdOperationExecution (inherited) -.

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_02198
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02198@rel:R25-11#6dda9ebe
Content hash
6dda9ebe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02198
Status: valid/unmigrated Version: rel:R25-11#98ffcedf Versionshistorie & Revisions (1 transition)
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_02198@rel:R25-11#98ffcedf
Point-in-Time History:
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

函数 Terminate [SWS_DM_02202] Upstream: RS_Diag_04262

virtual ara::core::Future< void > Terminate (TerminateOperation ExecutionReason reason, ara::diag::MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept=0;

Called for "Terminate execution of an operation" for the current execution.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: a1b92d94aba2 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

一旦收到用于终止正在运行的操作的 SOVD 请求且可能需要的接近度挑战验证成功,纯虚方法Terminate就会被 Diagnostic Management (DM) 调用[SWS_DM_02179]。它用于受控中止由关联的execution-id标识的操作执行AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.6 “Operations – Terminate execution of an operation”。

调用时,会通过类型为TerminateOperationExecutionReason([SWS_DM_02196])的reason传递中止原因、附加元数据(meta_info)以及一个cancellation_handler[SWS_DM_02202]。作为中止原因,规范指定了显式客户端请求(kClientRequest)、超时(kTimeout)或诸如服务器状态变更的状态改变(kStateChange)[SWS_DM_02196]。该方法返回一个ara::core::Future<void>,用于向 DM 报告异步完成[SWS_DM_02202]。

错误处理与边界条件

成功时,Future以void解析,而在发生错误时,必须根据 ASAM SOVD 或 ISO 17978-3 返回合适的 SOVD 错误码[SWS_DM_02202]。该接口声明为noexcept,视为异常安全(exception safe)和线程安全(thread-safe)[SWS_DM_02202]。

生命周期和并发

随着Terminate的调用,SovdOperationExecution的实例被丢弃;在该execution-id上后续的方法调用不再被允许[SWS_DM_02179]。传递的对象cancellation_handler决不能超出该操作的生命周期进行存储或使用[SWS_DM_02202]。

本使用说明由 AI 基于规范生成。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Sichtbarkeitprotected

Parameter (in)

ParameterBeschreibung
reasonThe terminate operation execution reason
meta_infocontains additional meta information
cancellation_handlerInforms if the current request is cancelled. This object shall not be stored or accessed beyond the lifetime of this operation.

Rückgabewert

TypBeschreibung
ara::core::Future< void >A future with either void (for a positive response message) or a SOVD Error (for an negative response message)

Fehler

FehlercodeBeschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.

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

Record
AUTOSAR/AP/record/SWS_DM_02202
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02202@rel:R25-11#14e10bd4
Content hash
14e10bd4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02202
Status: valid/unmigrated Version: rel:R25-11#a8993271 Versionshistorie & Revisions (1 transition)
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_02202@rel:R25-11#a8993271
Point-in-Time History:
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

函数 ~SovdOperationExecution [SWS_DM_02199] Upstream: RS_Diag_04262

virtual ~SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Scopeclass ara::diag::SovdOperationExecution
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_02199
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02199@rel:R25-11#2cd780e2
Content hash
2cd780e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02199
Status: valid/unmigrated Version: rel:R25-11#9546e106 Versionshistorie & Revisions (1 transition)
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_02199@rel:R25-11#9546e106
Point-in-Time History:
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