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 GuideKI-GENERIERT

Dient als Schnittstelle zur Steuerung, Statusabfrage und kontrollierten Terminierung laufender SOVD-Operationsausführungen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 45e435c1ec1c Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als Schnittstelle zur Steuerung, Statusabfrage und kontrollierten Terminierung laufender SOVD-Operationsausführungen.

Die Schnittstelle dient der anwendungsspezifischen Steuerung und Überwachung einer laufenden SOVD-Operation im Diagnostic Management [SWS_DM_02197]. Über geschützte Methoden verarbeitet sie Statusabfragen sowie Anforderungen zur Ausführung spezieller Fähigkeiten oder zum Abbruch der Operation. Alle Rückgaben erfolgen asynchron über Futures, wobei Fehler zwingend als standardisierte SOVD-Fehlercodes nach ISO 17978-3 übermittelt werden [SWS_DM_02384]. Zudem müssen Implementierungen threadsicher sein und übergebene Cancellation-Handler strikt an die Operationslebensdauer binden.

Kontext

Die Klasse ara::diag::SovdOperationExecution definiert die Programmierschnittstelle zur Steuerung und Überwachung laufender SOVD-Operationsausführungen (Service-Oriented Vehicle Diagnostics) innerhalb des Moduls diag der AUTOSAR Adaptive Platform [SWS_DM_02197], SWS Diagnostics §8.62.5 „Class: SovdOperationExecution“. Sie fungiert als Bindeglied zwischen dem Diagnostic Management (DM) und der ausführenden Anwendungslogik für diagnosebezogene Routinen nach ASAM SOVD und ISO 17978-3.

Wenn ein externer SOVD-Client das Starten einer Operation initiiert [SWS_DM_01396] und die optionale Validierung der Proximity Challenge erfolgreich durchlaufen wurde [SWS_DM_02174], instanziiert bzw. bindet das DM die Ausführung an eine eindeutige Kennung (execution-id) [SWS_DM_02177]. Alle nachfolgenden Methodenaufrufe zu dieser laufenden Operation – insbesondere Statusabfragen und Abbruchbefehle – leitet das DM an diejenige Instanz von ara::diag::SovdOperationExecution weiter, die dieser Kennung zugewiesen ist [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

Kontextdiagramm: Einbindung von SovdOperationExecution zwischen SOVD-Client, Diagnostic Management und anwendungsspezifischer Operationslogik. Quellen: [SWS_DM_01396], [SWS_DM_02180], [SWS_DM_02197].

Lebenszyklus

Die Klasse besitzt einen als noexcept=default deklarierten Standardkonstruktor [SWS_DM_02198] sowie einen virtuellen Destruktor, der ebenfalls als noexcept=default definiert ist [SWS_DM_02199]. Da sämtliche fachlichen Methoden – ExecuteCapability [SWS_DM_02384], GetStatus [SWS_DM_02201] und Terminate [SWS_DM_02202] – rein virtuell (= 0) und geschützt (protected) sind, ist die Klasse nicht direkt instanziierbar. Interpretation: Anwendungsentwickler leiten eigene Klassen von SovdOperationExecution ab, um die anwendungsspezifischen Routinen zu implementieren. Frage Q-c1d622c7aa17382d (offen)

Jede aktive Operationsausführung wird im DM einer execution-id zugeordnet [SWS_DM_02177], [SWS_DM_02180]. Die Spezifikation hebt hervor, dass Operationen in vielen Fällen lediglich eine einzige gleichzeitige Instanz erlauben SWS Diagnostics §7.3.3.5.5.6 „Operations – Terminate execution of an operation“. Alle Schnittstellenmethoden sind als threadsicher (thread-safe) und ausnahmesicher (exception safe) spezifiziert [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Hinsichtlich des Speichermanagements und der Lebensdauern gelten strenge Vorgaben: Der Parameter sovd_content_data bleibt solange gültig, bis das zugehörige Promise erfüllt oder die Verarbeitung über den cancellation_handler abgebrochen wurde [SWS_DM_02384]. Das Objekt cancellation_handler selbst darf unter keinen Umständen über die Lebensdauer der jeweiligen Operation hinaus gespeichert oder aufgerufen werden [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Nutzungspfad

Der typische Ablauf zur Begleitung einer SOVD-Operation gliedert sich in folgende Schritte:

  • Fähigkeiten anfordern: Das DM kann für eine laufende Operation über die Methode ExecuteCapability Aktionen wie Ausführen, Einfrieren oder Zurücksetzen anfordern [SWS_DM_02384].
  • Status abfragen: Empfängt das DM den SOVD-Aufruf „Read the Status of an operation“ und gelingt die geforderte Proximity-Validierung [SWS_DM_02173], ruft es GetStatus der zugewiesenen SovdOperationExecution-Instanz auf [SWS_DM_02180], [SWS_DM_02201]. Nach erfolgreicher Rückkehr antwortet das DM dem Client mit den Attributen status (aus GetStatusResponse.status), capability (Wert execute) und parameters (abgeleitet aus GetStatusResponse.Parameters) [SWS_DM_02181].
  • Operation terminieren: Geht beim Diagnostic Server die SOVD-Methode „Terminate execution of an Operation“ ein [SWS_DM_01392], wird nach Validierung der Proximity-Antwort [SWS_DM_01391] die Methode Terminate unter Angabe des Grundes (TerminateOperationExecutionReason) an der Instanz aufgerufen [SWS_DM_02179], [SWS_DM_02202].
Statusüberwachung und Terminierung einer SOVD-OperationSOVD-ClientDiagnostic Management (DM)SovdOperationExecutionUse Case: Statusabfrage der laufenden OperationRead the Status of an operation (execution-id)GetStatus(meta_info, cancellation_handler)Future<GetStatusResponse>SOVD Response (status, parameters)Use Case: Terminierung der laufenden OperationTerminate execution of an operationTerminate(reason, meta_info, cancellation_handler)Future<void>SOVD Terminate Response

Sequenzdiagramm: Interaktionsabfolge zwischen Diagnostic Management und SovdOperationExecution bei Statusabfragen und kontrollierter Terminierung. Quellen: [SWS_DM_02180], [SWS_DM_02181], [SWS_DM_02179], [SWS_DM_02202].

Fehlerszenarien

Alle auszuführenden Methoden (ExecuteCapability, GetStatus, Terminate) arbeiten asynchron und geben ein ara::core::Future zurück [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202]. Schlägt die Verarbeitung innerhalb der Anwendung fehl, muss das Future mit einem anwendbaren SOVD-Fehlercode gemäß ISO 17978-3 bzw. ASAM SOVD 1.1 erfüllt werden [SWS_DM_02384], [SWS_DM_02201], [SWS_DM_02202].

Wird eine laufende Anforderung seitens des Diagnose-Frameworks storniert, signalisiert das DM dies über das mitgegebene Objekt ara::diag::CancellationHandler [SWS_DM_02384]. Die Implementierung muss den Abbruchzustand dieses Handlers berücksichtigen und die Bearbeitung unverzüglich beenden, um blockierende Zustände zu verhindern.

Dieser Klassen-Leitfaden wurde auf Basis der Spezifikation AUTOSAR Adaptive Platform Release R25-11 generiert.

Mitgliederkarte

Klassendiagramm

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

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructor of SovdOperationExecution (inherited) -.

SovdOperationExecution () noexcept=default;

Destructor of SovdOperationExecution -.

virtual ~SovdOperationExecution () noexcept=default;

Methoden

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;

Eingebettete Typen

Dokumentation der Methoden

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: aa676a4edac8 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die rein virtuelle Methode ExecuteCapability aus ara::diag::SovdOperationExecution dient der Ausführung, dem Einfrieren oder dem Zurücksetzen einer spezifizierten SOVD-Operation gemäß [SWS_DM_02384] (SWS Diagnostics §8.62.5.2.1.1 „ExecuteCapability“). Da die Funktion als protected und rein virtuell definiert ist, dürfte sie typischerweise von anwendungsspezifischen Unterklassen überschrieben und durch den Diagnose-Dämon aufgerufen werden. Frage Q-66c5defcf6d00f57 (offen)

Der Aufruf erfolgt asynchron und liefert ein ara::core::Future<OperationExecutionStatus> zurück [SWS_DM_02384]. Beim Aufruf werden die auszuführende Fähigkeit (capability), zusätzliche Metainformationen (meta_info), ein cancellation_handler sowie die Nutzdaten (sovd_content_data) übergeben. Die Daten in sovd_content_data bleiben gültig, bis das zugehörige Promise erfüllt oder die Verarbeitung über den cancellation_handler abgebrochen wird [SWS_DM_02384].

Für Nebenläufigkeit und Lebensdauer gelten klare Vorgaben: Die Operation ist als threadsicher und ausnahmesicher (exception safe bzw. noexcept) spezifiziert. Das übergebene Objekt cancellation_handler informiert über einen Abbruch der laufenden Anfrage; es darf keinesfalls über die Lebensdauer dieser Operation hinaus gespeichert oder referenziert werden [SWS_DM_02384].

Im Erfolgsfall liefert das Future den Ausführungsstatus OperationExecutionStatus. Schlägt die Verarbeitung fehl, ist ein passender SOVD-Fehlercode gemäß ISO 17978-3 bzw. ASAM SOVD 1.1 über das Future zurückzugeben [SWS_DM_02384].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a1b92d94aba2 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die rein virtuelle Methode Terminate wird vom Diagnostic Management (DM) aufgerufen, sobald eine SOVD-Anforderung zum Beenden einer laufenden Operation eintrifft und eine eventuell erforderliche Validierung der Proximity-Challenge erfolgreich war [SWS_DM_02179]. Sie dient dazu, die durch die zugehörige execution-id identifizierte Operationsausführung kontrolliert abzubrechen AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.6 „Operations – Terminate execution of an operation“.

Beim Aufruf werden der Abbruchgrund über reason vom Typ TerminateOperationExecutionReason ([SWS_DM_02196]), zusätzliche Metadaten (meta_info) sowie ein cancellation_handler übergeben [SWS_DM_02202]. Als Abbruchursachen sind eine explizite Client-Anforderung (kClientRequest), ein Zeitablauf (kTimeout) oder eine Zustandsänderung wie ein Server-Statuswechsel (kStateChange) spezifiziert [SWS_DM_02196]. Die Methode liefert ein ara::core::Future<void> zurück, welches den asynchronen Abschluss an das DM meldet [SWS_DM_02202].

Fehlerbehandlung und Randbedingungen

Im Erfolgsfall wird das Future mit void aufgelöst, während bei Fehlern ein passender SOVD-Fehlercode gemäß ASAM SOVD bzw. ISO 17978-3 zurückgegeben werden muss [SWS_DM_02202]. Die Schnittstelle ist als noexcept deklariert, gilt als ausnahmesicher (exception safe) und thread-safe [SWS_DM_02202].

Lebenszyklus und Nebenläufigkeit

Mit dem Aufruf von Terminate wird die Instanz von SovdOperationExecution verworfen; nachfolgende Methodenaufrufe auf dieser execution-id sind nicht mehr zulässig [SWS_DM_02179]. Das übergebene Objekt cancellation_handler darf keinesfalls über die Lebensdauer dieser Operation hinaus gespeichert oder verwendet werden [SWS_DM_02202].

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität 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