struct ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse
struct StartAsynchronousExecutionResponse {...};
Start Execution response in case of asynchronous operation .
| Header-Datei | #include "ara/diag/generic_diagnostic_sovd_operation.h" |
|---|---|
| Forwarding-Header | #include "ara/diag/diag_fwd.h" |
| Scope | class ara::diag::GenericDiagnosticSovdOperation |
User GuideKI-GENERIERT
Dient als Rückgabestruktur beim Starten einer asynchron ausgeführten SOVD-Diagnoseoperation.
Dient als Rückgabestruktur beim Starten einer asynchron ausgeführten SOVD-Diagnoseoperation.
Die Struktur ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse dient in der AUTOSAR Adaptive Platform als Antworttyp beim Starten einer asynchron ablaufenden SOVD-Diagnoseoperation [SWS_DM_02209]. Sie wird von der Anwendung instanziiert und als Variante innerhalb eines ara::core::Future an das Diagnostic Management zurückgegeben, wenn eine Operation im Hintergrund fortgeführt wird AUTOSAR_AP_SWS_Diagnostics §8.62 „StartExecution“. Vor dem Aufruf muss eine etwaig erforderliche Proximity-Challenge-Prüfung erfolgreich abgeschlossen sein. Anschließend generiert das Diagnostic Management auf Basis dieser Rückmeldung die asynchrone Antwort an den SOVD-Client.
Kontext
Die Datenstruktur ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse dient im Funktionscluster Diagnostic Management (DM) als Rückgabetyp für den asynchronen Start einer SOVD-Diagnoseoperation [SWS_DM_02209]. Für jede konfigurierte Operation vom Typ DiagnosticSovdOperationStart stellt die Instanz des Diagnostic Server die SOVD-Methode zum Starten einer Operation gemäß ASAM SOVD bereit [SWS_DM_01396]. Sobald ein Client über das SOVD-Protokoll das Ausführen einer Operation anfordert, leitet das Diagnostic Management diesen Aufruf an die Schnittstelle ara::diag::GenericDiagnosticSovdOperation::StartExecution weiter [SWS_DM_02174].
Innerhalb dieses Ablaufs fungiert StartAsynchronousExecutionResponse als Antwortobjekt des anwendungsspezifischen Diagnose-Handlers an das Diagnostic Management. Während synchrone Operationen über StartSynchronousExecutionResponse beantwortet werden [SWS_DM_02176], signalisiert die Rückgabe von StartAsynchronousExecutionResponse, dass die eigentliche Diagnoseverarbeitung als Hintergrundaufgabe fortgeführt wird und die unmittelbare Rückmeldung an den SOVD-Client lediglich die erfolgreiche Initiierung bestätigt AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 „Operations – Start execution of an operation“.
Lebenszyklus
Die Erzeugung von StartAsynchronousExecutionResponse erfolgt durch die konkrete Implementierung der Service-Schnittstelle bei der Ausführung von StartExecution AUTOSAR_AP_SWS_Diagnostics §8.62 „StartExecution“. Entscheidet der Handler, dass die angeforderte Operation asynchron verarbeitet werden soll, instanziiert er das Struct und kapselt es in einen ara::core::Variant<StartSynchronousExecutionResponse, StartAsynchronousExecutionResponse>.
Dieser Variant wird über ein ara::core::Promise aufgelöst und als ara::core::Future an das Diagnostic Management übergeben AUTOSAR_AP_SWS_Diagnostics §8.62 „StartExecution“. Mit dem Auflösen des Futures geht der Besitz der Struktur an das Diagnostic Management über. Interpretation: Die Instanz von StartAsynchronousExecutionResponse dürfte nach Auswertung durch das Diagnostic Management verworfen werden, sobald die SOVD-Antwortnachricht an den externen Client erzeugt und abgesendet wurde. Frage Q-3977fae99e62957e (offen) Die weitere Bearbeitung der Diagnoseaufgabe läuft nebenläufig im Anwendungskontext weiter.
Nutzungspfad
Der reguläre Ablauf beginnt mit dem Eingang einer SOVD-Anforderung beim Diagnostic Server zum Starten einer Operation [SWS_DM_01396]. Nach erfolgreicher Vorabprüfung ruft das Diagnostic Management die Methode StartExecution des registrierten Handlers auf [SWS_DM_02174]. Dabei werden der Operationsname, die Eingangsdaten, Metainformationen sowie ein ara::diag::CancellationHandler übergeben AUTOSAR_AP_SWS_Diagnostics §8.62 „StartExecution“.
Der Handler startet den asynchronen Hintergrundprozess, erzeugt die Struktur StartAsynchronousExecutionResponse [SWS_DM_02209] und gibt sie im ara::core::Future zurück. Das Diagnostic Management entnimmt das Objekt und transformiert die Rückmeldung in die standardkonforme asynchrone SOVD-Antwort an den Client.
Sequenzdiagramm: Asynchroner Start einer SOVD-Operation über StartAsynchronousExecutionResponse. Quellen: [SWS_DM_01396], [SWS_DM_02174], [SWS_DM_02209], AUTOSAR_AP_SWS_Diagnostics §8.62 „StartExecution“.
Fehlerszenarien
Eine zentrale Vorbedingung für den Methodenaufruf ist die Autorisierung: Falls erforderlich, muss vor dem Aufruf von StartExecution eine Validierung der Proximity Challenge erfolgreich bestanden sein [SWS_DM_02174]. Schlägt diese fehl, unterbleibt der Aufruf des Handlers und es wird keine StartAsynchronousExecutionResponse erzeugt.
Zur Behandlung von Abbrüchen während der laufenden Ausführung stellt das System einen ara::diag::CancellationHandler bereit AUTOSAR_AP_SWS_Diagnostics §8.62 „StartExecution“. Tritt vor der Rückgabe des Futures ein Fehler im Handler auf, kann die Anwendung das Future mit einem Fehlerzustand beenden, sodass keine gültige Antwortstruktur weiterverarbeitet wird.
Dieser Klassen-Leitfaden basiert auf dem AUTOSAR-Release R25-11 und wurde automatisiert erstellt.
gemini-3.8-flash-medium· 2026-10-13