DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Sert d’interface pour le pilotage, l’interrogation d’état et l’arrêt contrôlé des exécutions d’opérations SOVD en cours.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 45e435c1ec1c Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert d’interface pour le pilotage, l’interrogation d’état et l’arrêt contrôlé des exécutions d’opérations SOVD en cours.

L’interface sert au pilotage et à la surveillance spécifiques à l’application d’une opération SOVD en cours dans Diagnostic Management [SWS_DM_02197]. Via des méthodes protégées, elle traite les interrogations d’état ainsi que les demandes d’exécution de capacités spéciales ou d’interruption de l’opération. Tous les retours s’effectuent de manière asynchrone via des futures, les erreurs étant obligatoirement transmises sous forme de codes d’erreur SOVD standardisés selon ISO 17978-3 [SWS_DM_02384]. De plus, les implémentations doivent être sûres pour les threads et lier strictement les gestionnaires d’annulation (Cancellation-Handler) transmis à la durée de vie de l’opération.

Contexte

La classe ara::diag::SovdOperationExecution définit l’interface de programmation pour le pilotage et la surveillance des exécutions d’opérations SOVD (Service-Oriented Vehicle Diagnostics) en cours au sein du module diag de l’AUTOSAR Adaptive Platform [SWS_DM_02197], SWS Diagnostics §8.62.5 « Class: SovdOperationExecution ». Elle agit comme lien entre le Diagnostic Management (DM) et la logique applicative d’exécution pour les routines liées au diagnostic selon ASAM SOVD et ISO 17978-3.

Lorsqu’un client SOVD externe initie le démarrage d’une opération [SWS_DM_01396] et que la validation optionnelle du Proximity Challenge a été franchie avec succès [SWS_DM_02174], le DM instancie ou lie l’exécution à un identifiant unique (execution-id) [SWS_DM_02177]. Tous les appels de méthode ultérieurs relatifs à cette opération en cours – en particulier les interrogations d’état et les ordres d’interruption – sont transmis par le DM à l’instance de ara::diag::SovdOperationExecution assignée à cet identifiant [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

Diagramme de contexte : intégration de SovdOperationExecution entre le client SOVD, le Diagnostic Management et la logique d’opération spécifique à l’application. Sources : [SWS_DM_01396], [SWS_DM_02180], [SWS_DM_02197].

Cycle de vie

La classe possède un constructeur par défaut déclaré comme noexcept=default [SWS_DM_02198] ainsi qu’un destructeur virtuel également défini comme noexcept=default [SWS_DM_02199]. Étant donné que toutes les méthodes métier – ExecuteCapability [SWS_DM_02384], GetStatus [SWS_DM_02201] et Terminate [SWS_DM_02202] – sont purement virtuelles (= 0) et protégées (protected), la classe ne peut pas être instanciée directement. Interprétation : les développeurs d’applications dérivent leurs propres classes de SovdOperationExecution afin d’implémenter les routines spécifiques à l’application. Question Q-c1d622c7aa17382d (ouverte)

Chaque exécution d’opération active est associée dans le DM à une execution-id [SWS_DM_02177], [SWS_DM_02180]. La spécification souligne que les opérations n’autorisent souvent qu’une seule instance concurrente SWS Diagnostics §7.3.3.5.5.6 « Operations – Terminate execution of an operation ». Toutes les méthodes d’interface sont spécifiées comme sûres pour les threads (thread-safe) et sûres vis-à-vis des exceptions (exception safe) [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Concernant la gestion de la mémoire et les durées de vie, des exigences strictes s’appliquent : le paramètre sovd_content_data reste valide tant que la promesse associée n’est pas satisfaite ou que le traitement n’a pas été interrompu via le cancellation_handler [SWS_DM_02384]. L’objet cancellation_handler lui-même ne doit en aucun cas être stocké ou appelé au-delà de la durée de vie de l’opération respective [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Parcours d'utilisation

Le déroulement typique pour accompagner une opération SOVD se divise selon les étapes suivantes :

  • Demander des capacités : le DM peut demander des actions telles que l’exécution, le gel ou la réinitialisation pour une opération en cours via la méthode ExecuteCapability [SWS_DM_02384].
  • Interroger l’état : si le DM reçoit l’appel SOVD « Read the Status of an operation » et que la validation de proximité requise réussit [SWS_DM_02173], il appelle GetStatus de l’instance SovdOperationExecution assignée [SWS_DM_02180], [SWS_DM_02201]. Après un retour réussi, le DM répond au client avec les attributs status (issu de GetStatusResponse.status), capability (valeur execute) et parameters (déduit de GetStatusResponse.Parameters) [SWS_DM_02181].
  • Terminer l’opération : si le Diagnostic Server reçoit la méthode SOVD « Terminate execution of an Operation » [SWS_DM_01392], la méthode Terminate est appelée sur l’instance en indiquant le motif (TerminateOperationExecutionReason) après validation de la réponse de proximité [SWS_DM_01391] [SWS_DM_02179], [SWS_DM_02202].
Surveillance d'état et terminaison d'une opération SOVDSOVD-ClientDiagnostic Management (DM)SovdOperationExecutionUse Case: Interrogation d'état de l'opération en coursRead the Status of an operation (execution-id)GetStatus(meta_info, cancellation_handler)Future<GetStatusResponse>SOVD Response (status, parameters)Use Case: Terminaison de l'opération en coursTerminate execution of an operationTerminate(reason, meta_info, cancellation_handler)Future<void>SOVD Terminate Response

Diagramme de séquence : séquence d’interactions entre Diagnostic Management et SovdOperationExecution lors d’interrogations d’état et de terminaisons contrôlées. Sources : [SWS_DM_02180], [SWS_DM_02181], [SWS_DM_02179], [SWS_DM_02202].

Scénarios d'erreur

Toutes les méthodes à exécuter (ExecuteCapability, GetStatus, Terminate) fonctionnent de manière asynchrone et renvoient un ara::core::Future [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202]. Si le traitement échoue au sein de l’application, le future doit être satisfait avec un code d’erreur SOVD applicable selon ISO 17978-3 ou ASAM SOVD 1.1 [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Si une requête en cours est annulée du côté du framework de diagnostic, le DM le signale via l’objet ara::diag::CancellationHandler fourni [SWS_DM_02384]. L’implémentation doit prendre en compte l’état d’annulation de ce gestionnaire et interrompre le traitement sans délai afin d’éviter les états bloquants.

Ce guide de classe a été généré sur la base de la spécification AUTOSAR Adaptive Platform Release R25-11.

Carte des membres

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

Constructor of SovdOperationExecution (inherited) -.

SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

virtual ~SovdOperationExecution () noexcept=default;

Méthodes

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 fonction

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 fonction

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;

Types imbriqués

Documentation des méthodes

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : aa676a4edac8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode purement virtuelle ExecuteCapability issue de ara::diag::SovdOperationExecution sert à exécuter, figer ou réinitialiser une opération SOVD spécifiée conformément à [SWS_DM_02384] (SWS Diagnostics §8.62.5.2.1.1 « ExecuteCapability »). La fonction étant définie comme protected et purement virtuelle, elle devrait être typiquement surchargée par des sous-classes spécifiques à l'application et appelée par le démon de diagnostic. Question Q-66c5defcf6d00f57 (ouverte)

L'appel s'effectue de manière asynchrone et renvoie un ara::core::Future<OperationExecutionStatus> [SWS_DM_02384]. Lors de l'appel, la capacité à exécuter (capability), des métadonnées supplémentaires (meta_info), un cancellation_handler ainsi que les données utiles (sovd_content_data) sont transmis. Les données de sovd_content_data restent valides jusqu'à ce que la promesse correspondante soit satisfaite ou que le traitement soit interrompu via le cancellation_handler [SWS_DM_02384].

Des règles claires s'appliquent à la concurrence et à la durée de vie : l'opération est spécifiée comme sûre pour les threads et sûre vis-à-vis des exceptions (respectivement exception safe et noexcept). L'objet cancellation_handler transmis informe d'une annulation de la requête en cours ; il ne doit en aucun cas être stocké ou référencé au-delà de la durée de vie de cette opération [SWS_DM_02384].

En cas de succès, le Future fournit l'état d'exécution OperationExecutionStatus. Si le traitement échoue, un code d'erreur SOVD approprié selon l'ISO 17978-3 ou l'ASAM SOVD 1.1 doit être renvoyé via le Future [SWS_DM_02384].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#24933331
Content hash
24933331
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

fonction 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#ad5a5cc8
Content hash
ad5a5cc8
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

fonction 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#16847011
Content hash
16847011
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a1b92d94aba2 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode virtuelle pure Terminate est appelée par le Diagnostic Management (DM) dès qu'une requête SOVD demandant de mettre fin à une opération en cours arrive et qu'une validation éventuellement requise du défi de proximité (proximity challenge) a réussi [SWS_DM_02179]. Elle sert à interrompre de manière contrôlée l'exécution de l'opération identifiée par le execution-id associé AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.6 « Operations – Terminate execution of an operation ».

Lors de l'appel, la raison de l'annulation est transmise via reason de type TerminateOperationExecutionReason ([SWS_DM_02196]), des métadonnées supplémentaires (meta_info) ainsi qu'un cancellation_handler sont transmis [SWS_DM_02202]. Sont spécifiées comme causes d'annulation une demande explicite du client (kClientRequest), une expiration de délai (kTimeout) ou un changement d'état tel qu'un changement d'état du serveur (kStateChange) [SWS_DM_02196]. La méthode renvoie un ara::core::Future<void>, qui signale la fin asynchrone au DM [SWS_DM_02202].

Gestion des erreurs et conditions limites

En cas de succès, le Future est résolu avec void, tandis qu'en cas d'erreur, un code d'erreur SOVD approprié selon ASAM SOVD ou ISO 17978-3 doit être renvoyé [SWS_DM_02202]. L'interface est déclarée comme noexcept, est considérée comme sûre vis-à-vis des exceptions (exception safe) et thread-safe [SWS_DM_02202].

Cycle de vie et concurrence

L'appel de Terminate entraîne l'élimination de l'instance de SovdOperationExecution ; les appels de méthode ultérieurs sur cette execution-id ne sont plus autorisés [SWS_DM_02179]. L'objet cancellation_handler transmis ne doit en aucun cas être stocké ou utilisé au-delà de la durée de vie de cette opération [SWS_DM_02202].

Cette note d'utilisation a été générée par une IA sur la base de la spécification.

Guide de l'implémenteur à venir (complexité 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#3683ef96
Content hash
3683ef96
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

fonction ~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#83074975
Content hash
83074975
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