DEENESPTFRRUARHIKOZHNL

class 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

User GuideAI-GENERATED

Serves as an interface for control, status querying, and controlled termination of running SOVD operation executions.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 45e435c1ec1c Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Serves as an interface for control, status querying, and controlled termination of running SOVD operation executions.

The interface serves for application-specific control and monitoring of an ongoing SOVD operation in Diagnostic Management [SWS_DM_02197]. Via protected methods, it processes status queries as well as requests to execute special capabilities or to cancel the operation. All returns occur asynchronously via futures, with errors mandatory to be transmitted as standardized SOVD error codes according to ISO 17978-3 [SWS_DM_02384]. In addition, implementations must be thread-safe and strictly bind passed cancellation handlers to the operation lifetime.

Context

The class ara::diag::SovdOperationExecution defines the programming interface for controlling and monitoring ongoing SOVD operation executions (Service-Oriented Vehicle Diagnostics) within module diag of the AUTOSAR Adaptive Platform [SWS_DM_02197], SWS Diagnostics §8.62.5 “Class: SovdOperationExecution”. It acts as a link between Diagnostic Management (DM) and the executing application logic for diagnostics-related routines according to ASAM SOVD and ISO 17978-3.

When an external SOVD client initiates the start of an operation [SWS_DM_01396] and the optional validation of the proximity challenge has completed successfully [SWS_DM_02174], the DM instantiates or binds the execution to a unique identifier (execution-id) [SWS_DM_02177]. The DM forwards all subsequent method calls for this ongoing operation—in particular status queries and cancellation commands—to that instance of ara::diag::SovdOperationExecution that is assigned to this identifier [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

Context diagram: Integration of SovdOperationExecution between SOVD client, Diagnostic Management, and application-specific operation logic. Sources: [SWS_DM_01396], [SWS_DM_02180], [SWS_DM_02197].

Lifecycle

The class has a default constructor declared as noexcept=default [SWS_DM_02198] as well as a virtual destructor that is likewise defined as noexcept=default [SWS_DM_02199]. Because all functional methods—ExecuteCapability [SWS_DM_02384], GetStatus [SWS_DM_02201], and Terminate [SWS_DM_02202]—are pure virtual (= 0) and protected (protected), the class cannot be directly instantiated. Interpretation: Application developers derive custom classes from SovdOperationExecution to implement the application-specific routines. Question Q-c1d622c7aa17382d (open)

Each active operation execution is assigned to a execution-id in the DM [SWS_DM_02177], [SWS_DM_02180]. The specification emphasizes that operations in many cases allow only a single concurrent instance SWS Diagnostics §7.3.3.5.5.6 “Operations – Terminate execution of an operation”. All interface methods are specified as thread-safe (thread-safe) and exception-safe (exception safe) [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Strict requirements apply with respect to memory management and lifetimes: The parameter sovd_content_data remains valid until the associated promise is fulfilled or processing has been cancelled via the cancellation_handler [SWS_DM_02384]. The object cancellation_handler itself must under no circumstances be stored or invoked beyond the lifetime of the respective operation [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Usage Path

The typical sequence for accompanying an SOVD operation is divided into the following steps:

  • Request capabilities: For an ongoing operation, the DM can request actions such as execute, freeze, or reset via method ExecuteCapability [SWS_DM_02384].
  • Query status: If the DM receives the SOVD call "Read the Status of an operation" and the required proximity validation succeeds [SWS_DM_02173], it calls GetStatus of the assigned SovdOperationExecution instance [SWS_DM_02180], [SWS_DM_02201]. After a successful return, the DM responds to the client with the attributes status (from GetStatusResponse.status), capability (value execute), and parameters (derived from GetStatusResponse.Parameters) [SWS_DM_02181].
  • Terminate operation: If the Diagnostic Server receives the SOVD method "Terminate execution of an Operation" [SWS_DM_01392], method Terminate is called on the instance specifying the reason (TerminateOperationExecutionReason) after validation of the proximity response [SWS_DM_01391] [SWS_DM_02179], [SWS_DM_02202].
Status monitoring and termination of an SOVD operationSOVD-ClientDiagnostic Management (DM)SovdOperationExecutionUse Case: Status query of the running operationRead the Status of an operation (execution-id)GetStatus(meta_info, cancellation_handler)Future<GetStatusResponse>SOVD Response (status, parameters)Use Case: Termination of the running operationTerminate execution of an operationTerminate(reason, meta_info, cancellation_handler)Future<void>SOVD Terminate Response

Sequence diagram: Interaction sequence between Diagnostic Management and SovdOperationExecution during status queries and controlled termination. Sources: [SWS_DM_02180], [SWS_DM_02181], [SWS_DM_02179], [SWS_DM_02202].

Error Scenarios

All methods to be executed (ExecuteCapability, GetStatus, Terminate) operate asynchronously and return a ara::core::Future [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202]. If processing within the application fails, the future must be fulfilled with an applicable SOVD error code according to ISO 17978-3 or ASAM SOVD 1.1 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

If an ongoing request is cancelled by the diagnostics framework, the DM signals this via the provided object ara::diag::CancellationHandler [SWS_DM_02384]. The implementation must consider the cancellation state of this handler and immediately terminate processing to prevent blocking states.

This class guide was generated based on the specification AUTOSAR Adaptive Platform Release R25-11.

Member map

Class diagram

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

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

Detail view

Select an entry in the outline.

Constructors and destructor

Constructor of SovdOperationExecution (inherited) -.

SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

virtual ~SovdOperationExecution () noexcept=default;

Methods

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 function

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 function

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;

Embedded types

Method documentation

function 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-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: aa676a4edac8 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The pure virtual method ExecuteCapability from ara::diag::SovdOperationExecution serves to execute, freeze, or reset a specified SOVD operation according to [SWS_DM_02384] (SWS Diagnostics §8.62.5.2.1.1 “ExecuteCapability”). Because the function is defined as protected and pure virtual, it is typically likely to be overridden by application-specific subclasses and called by the diagnostic daemon. Question Q-66c5defcf6d00f57 (open)

The invocation is asynchronous and returns an ara::core::Future<OperationExecutionStatus> [SWS_DM_02384]. Upon invocation, the capability to be executed (capability), additional meta-information (meta_info), an cancellation_handler, and the payload (sovd_content_data) are passed. The data in sovd_content_data remains valid until the associated promise is fulfilled or processing is canceled via the cancellation_handler [SWS_DM_02384].

Clear specifications apply to concurrency and lifetime: The operation is specified as thread-safe and exception-safe (exception safe and noexcept, respectively). The passed object cancellation_handler informs about a cancellation of the ongoing request; it must under no circumstances be stored or referenced beyond the lifetime of this operation [SWS_DM_02384].

In case of success, the future returns the execution status OperationExecutionStatus. If processing fails, a suitable SOVD error code according to ISO 17978-3 or ASAM SOVD 1.1 must be returned via the future [SWS_DM_02384].

This usage note was generated automatically based on the AUTOSAR R25-11 specification.

Implementer's Guide to follow (complexity 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#38d7bf66
Content hash
38d7bf66
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

function 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#8e5630e2
Content hash
8e5630e2
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

function 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#98ffcedf
Content hash
98ffcedf
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

function 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-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: a1b92d94aba2 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The pure virtual method Terminate is called by Diagnostic Management (DM) as soon as an SOVD request to terminate an ongoing operation arrives and any required validation of the proximity challenge was successful [SWS_DM_02179]. It serves to cancel the operation execution identified by the associated execution-id in a controlled manner AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.6 “Operations – Terminate execution of an operation”.

Upon invocation, the cancellation reason via reason of type TerminateOperationExecutionReason ([SWS_DM_02196]), additional metadata (meta_info), and an cancellation_handler are passed [SWS_DM_02202]. As cancellation causes, an explicit client request (kClientRequest), a timeout (kTimeout), or a state change such as a server status change (kStateChange) are specified [SWS_DM_02196]. The method returns an ara::core::Future<void>, which reports asynchronous completion to the DM [SWS_DM_02202].

Error Handling and Boundary Conditions

In case of success, the Future is resolved with void, whereas in case of errors, a suitable SOVD error code according to ASAM SOVD or ISO 17978-3 must be returned [SWS_DM_02202]. The interface is declared as noexcept, is considered exception-safe, and is thread-safe [SWS_DM_02202].

Life cycle and concurrency

With the invocation of Terminate, the instance of SovdOperationExecution is discarded; subsequent method invocations on this execution-id are no longer permitted [SWS_DM_02179]. The passed object cancellation_handler must under no circumstances be stored or used beyond the lifetime of this operation [SWS_DM_02202].

This usage note was generated by an AI based on the specification.

Implementer's Guide to follow (complexity 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#a8993271
Content hash
a8993271
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

function ~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#9546e106
Content hash
9546e106
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