DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Sirve como interfaz para el control, la consulta de estado y la terminación controlada de ejecuciones de operaciones SOVD en curso.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 45e435c1ec1c Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como interfaz para el control, la consulta de estado y la terminación controlada de ejecuciones de operaciones SOVD en curso.

La interfaz sirve para el control y la monitorización específicos de la aplicación de una operación SOVD en curso en Diagnostic Management [SWS_DM_02197]. Mediante métodos protegidos procesa consultas de estado así como solicitudes para la ejecución de capacidades especiales o para la cancelación de la operación. Todos los retornos se realizan de forma asíncrona mediante futures, debiendo transmitirse los errores obligatoriamente como códigos de error SOVD estandarizados según ISO 17978-3 [SWS_DM_02384]. Además, las implementaciones deben ser seguras para hilos y vincular estrictamente los gestores de cancelación transferidos a la vida útil de la operación.

Contexto

La clase ara::diag::SovdOperationExecution define la interfaz de programación para el control y la monitorización de ejecuciones de operaciones SOVD (Service-Oriented Vehicle Diagnostics) en curso dentro del módulo diag de la AUTOSAR Adaptive Platform [SWS_DM_02197], SWS Diagnostics §8.62.5 «Class: SovdOperationExecution». Actúa como enlace entre Diagnostic Management (DM) y la lógica de aplicación ejecutora para rutinas relativas al diagnóstico según ASAM SOVD e ISO 17978-3.

Cuando un cliente SOVD externo inicia el arranque de una operación [SWS_DM_01396] y se ha superado con éxito la validación opcional del Proximity Challenge [SWS_DM_02174], el DM instanciada o vincula la ejecución a un identificador unívoco (execution-id) [SWS_DM_02177]. Todas las llamadas a métodos posteriores para esta operación en curso —en particular consultas de estado y comandos de cancelación— las reenvía el DM a aquella instancia de ara::diag::SovdOperationExecution que esté asignada a este identificador [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

Diagrama de contexto: integración de SovdOperationExecution entre cliente SOVD, Diagnostic Management y lógica de operación específica de la aplicación. Fuentes: [SWS_DM_01396], [SWS_DM_02180], [SWS_DM_02197].

Ciclo de vida

La clase posee un constructor estándar declarado como noexcept=default [SWS_DM_02198] así como un destructor virtual definido igualmente como noexcept=default [SWS_DM_02199]. Dado que todos los métodos técnicos —ExecuteCapability [SWS_DM_02384], GetStatus [SWS_DM_02201] y Terminate [SWS_DM_02202]— son puramente virtuales (= 0) y protegidos (protected), la clase no es instanciable directamente. Interpretación: los desarrolladores de aplicaciones derivan clases propias de SovdOperationExecution para implementar las rutinas específicas de la aplicación. Pregunta Q-c1d622c7aa17382d (abierta)

Cada ejecución de operación activa se asigna en el DM a una execution-id [SWS_DM_02177], [SWS_DM_02180]. La especificación resalta que, en muchos casos, las operaciones solo permiten una única instancia concurrente SWS Diagnostics §7.3.3.5.5.6 «Operations – Terminate execution of an operation». Todos los métodos de interfaz están especificados como seguros para hilos (thread-safe) y seguros frente a excepciones (exception safe) [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Respecto a la gestión de memoria y los tiempos de vida se aplican requisitos estrictos: el parámetro sovd_content_data permanece válido hasta que se cumpla la promise asociada o se cancele el procesamiento mediante el cancellation_handler [SWS_DM_02384]. El propio objeto cancellation_handler no debe guardarse ni invocarse bajo ninguna circunstancia más allá de la vida útil de la operación respectiva [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Ruta de uso

El desarrollo típico para el acompañamiento de una operación SOVD se divide en los siguientes pasos:

  • Solicitar capacidades: el DM puede solicitar para una operación en curso acciones como ejecutar, congelar o restablecer a través del método ExecuteCapability [SWS_DM_02384].
  • Consultar estado: si el DM recibe la llamada SOVD «Read the Status of an operation» y la validación de proximidad requerida tiene éxito [SWS_DM_02173], llama a GetStatus de la instancia de SovdOperationExecution asignada [SWS_DM_02180], [SWS_DM_02201]. Tras un retorno exitoso, el DM responde al cliente con los atributos status (de GetStatusResponse.status), capability (valor execute) y parameters (derivado de GetStatusResponse.Parameters) [SWS_DM_02181].
  • Terminar operación: si entra en el Diagnostic Server el método SOVD «Terminate execution of an Operation» [SWS_DM_01392], tras validar la respuesta de proximidad [SWS_DM_01391] se llama en la instancia al método Terminate indicando el motivo (TerminateOperationExecutionReason) [SWS_DM_02179], [SWS_DM_02202].
Monitorización de estado y terminación de una operación SOVDSOVD-ClientDiagnostic Management (DM)SovdOperationExecutionUse Case: Consulta de estado de la operación en cursoRead the Status of an operation (execution-id)GetStatus(meta_info, cancellation_handler)Future<GetStatusResponse>SOVD Response (status, parameters)Use Case: Terminación de la operación en cursoTerminate execution of an operationTerminate(reason, meta_info, cancellation_handler)Future<void>SOVD Terminate Response

Diagrama de secuencia: secuencia de interacción entre Diagnostic Management y SovdOperationExecution en consultas de estado y terminación controlada. Fuentes: [SWS_DM_02180], [SWS_DM_02181], [SWS_DM_02179], [SWS_DM_02202].

Escenarios de error

Todos los métodos a ejecutar (ExecuteCapability, GetStatus, Terminate) funcionan de manera asíncrona y devuelven un ara::core::Future [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202]. Si el procesamiento dentro de la aplicación falla, el future debe cumplirse con un código de error SOVD aplicable según ISO 17978-3 o ASAM SOVD 1.1 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Si el framework de diagnóstico cancela una solicitud en curso, el DM señala esto a través del objeto ara::diag::CancellationHandler proporcionado [SWS_DM_02384]. La implementación debe tener en cuenta el estado de cancelación de este gestor y finalizar de inmediato el procesamiento para evitar estados bloqueantes.

Esta guía de clases se ha generado sobre la base de la especificación AUTOSAR Adaptive Platform Release R25-11.

Mapa de miembros

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Constructor of SovdOperationExecution (inherited) -.

SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

virtual ~SovdOperationExecution () noexcept=default;

Métodos

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 función

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 función

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;

Tipos anidados

Documentación de los métodos

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: aa676a4edac8 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método puramente virtual ExecuteCapability de ara::diag::SovdOperationExecution sirve para ejecutar, congelar o restablecer una operación SOVD especificada de acuerdo con [SWS_DM_02384] (SWS Diagnostics §8.62.5.2.1.1 «ExecuteCapability»). Dado que la función está definida como protected y puramente virtual, probablemente sea sobrescrita por subclases específicas de la aplicación y llamada por el demonio de diagnóstico. Pregunta Q-66c5defcf6d00f57 (abierta)

La llamada se realiza de forma asíncrona y devuelve un ara::core::Future<OperationExecutionStatus> [SWS_DM_02384]. Durante la llamada se transfieren la capacidad a ejecutar (capability), metainformación adicional (meta_info), un cancellation_handler así como los datos útiles (sovd_content_data). Los datos en sovd_content_data permanecen válidos hasta que se resuelva la promesa correspondiente o se cancele el procesamiento mediante el cancellation_handler [SWS_DM_02384].

Para la concurrencia y la vida útil rigen prescripciones claras: la operación está especificada como segura para hilos y segura contra excepciones (exception safe y noexcept, respectivamente). El objeto cancellation_handler pasado informa de una cancelación de la solicitud en curso; no debe almacenarse ni referenciarse en ningún caso más allá de la vida útil de esta operación [SWS_DM_02384].

En caso de éxito, el future proporciona el estado de ejecución OperationExecutionStatus. Si el procesamiento falla, se debe devolver a través del future un código de error de SOVD adecuado según ISO 17978-3 o ASAM SOVD 1.1 [SWS_DM_02384].

Esta nota de uso se generó automáticamente a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#b2d49df3
Content hash
b2d49df3
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

función 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#77d347b9
Content hash
77d347b9
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

función 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#430222c9
Content hash
430222c9
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a1b92d94aba2 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método puramente virtual Terminate es invocado por el Diagnostic Management (DM) tan pronto como llega una solicitud SOVD para finalizar una operación en curso y cualquier validación eventualmente necesaria del desafío de proximidad (proximity challenge) ha resultado exitosa [SWS_DM_02179]. Sirve para cancelar de forma controlada la ejecución de la operación identificada por la correspondiente execution-id AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.6 «Operations – Terminate execution of an operation».

Durante la llamada se pasan el motivo de cancelación mediante reason de tipo TerminateOperationExecutionReason ([SWS_DM_02196]), metadatos adicionales (meta_info) y un cancellation_handler [SWS_DM_02202]. Como causas de cancelación se especifican una solicitud explícita del cliente (kClientRequest), una expiración de tiempo (kTimeout) o un cambio de estado, tal como un cambio de estado del servidor (kStateChange) [SWS_DM_02196]. El método devuelve un ara::core::Future<void>, el cual notifica la finalización asíncrona al DM [SWS_DM_02202].

Tratamiento de errores y condiciones límite

En caso de éxito, el Future se resuelve con void, mientras que en caso de error debe devolverse un código de error de SOVD adecuado según ASAM SOVD o ISO 17978-3 [SWS_DM_02202]. La interfaz está declarada como noexcept, se considera segura contra excepciones (exception safe) y segura para hilos (thread-safe) [SWS_DM_02202].

Ciclo de vida y concurrencia

Con la llamada de Terminate se descarta la instancia de SovdOperationExecution; no se permiten llamadas a métodos posteriores sobre esta execution-id [SWS_DM_02179]. El objeto pasado cancellation_handler no debe almacenarse ni utilizarse en ningún caso más allá de la vida útil de esta operación [SWS_DM_02202].

Esta nota de uso ha sido generada por una IA sobre la base de la especificación.

Guía del implementador pendiente (complejidad 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#b0f6a3a8
Content hash
b0f6a3a8
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

función ~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#89d2f451
Content hash
89d2f451
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