DEENESPTFRRUARHIKOZHNL

struct ara::diag::SovdOperationExecution::GetStatusResponse

[SWS_DM_02200] Upstream: RS_Diag_04262

struct GetStatusResponse {...};

Get Status response .

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::SovdOperationExecution

User GuideKI-GENERIERT

Dient als Rückgabestruktur für die asynchrone Statusabfrage von SOVD-Operationen an das Diagnostic Management.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b16aa086639a Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als Rückgabestruktur für die asynchrone Statusabfrage von SOVD-Operationen an das Diagnostic Management.

Die Datenstruktur GetStatusResponse dient als Rückgabebehälter für die asynchrone Statusabfrage von SOVD-Operationen ([SWS_DM_02200]). Sie wird von einer SovdOperationExecution-Instanz über ein ara::core::Future an das Diagnostic Management übergeben, welches daraus die Attribute status und parameters für die ASAM-SOVD-Antwort ableitet ([SWS_DM_02181]). Voraussetzung für die Bereitstellung ist eine erfolgreiche Proximity-Validierung sowie die fehlerfreie asynchrone Ausführung des Aufrufs.

Kontext

Die Struktur ara::diag::SovdOperationExecution::GetStatusResponse ist eine Antwortdatenstruktur der Adaptive Platform ([SWS_DM_02200]), die als standardisierter Rückgabebehälter bei der Statusabfrage von SOVD-Operationen (Service-Oriented Vehicle Diagnostics) eingesetzt wird (AUTOSAR_AP_SWS_Diagnostics §8.62.6 „Struct: GetStatusResponse“). Innerhalb des Moduls diag fungiert die Struktur als Schnittstellenelement zwischen dem diagnostischen Daemon Diagnostic Management (DM) und anwendungsspezifischen Diagnose-Diensten, welche die Schnittstelle SovdOperationExecution implementieren. Geht beim Diagnostic Management ein externer SOVD-Aufruf zur Abfrage des Operationsstatus ein („Read the Status of an operation“), leitet das DM diese Anfrage an die zuständige Instanz weiter ([SWS_DM_02180]). GetStatusResponse kapselt die ermittelten Zustands- und Ergebnisdaten und ermöglicht es dem DM, die standardkonforme Antwort gemäß ASAM SOVD zu konstruieren ([SWS_DM_02181]).

Lebenszyklus

Als Datenstruktur (struct GetStatusResponse) wird eine Instanz typischerweise im Kontext der Service-Anwendung instanziiert, sobald die virtuelle Methode SovdOperationExecution::GetStatus zur Abarbeitung aufgerufen wird. Das Objekt wird als Wert in ein ara::core::Future<GetStatusResponse> eingebettet, welches die asynchrone Methodensignatur als Rückgabetyp vorschreibt (AUTOSAR_AP_SWS_Diagnostics §8.62 „GetStatus“). Interpretation: GetStatusResponse dürfte als reines Wertübertragungsobjekt ausgelegt sein, dessen Lebenszyklus eng an das zugehörige Future- und Promise-Paar gekoppelt ist. Frage Q-e5e2b31a97df0af4 (offen) Sobald die anwendungsspezifische Ermittlung abgeschlossen ist und das Future erfüllt wird, geht der Datenzugriff an das aufrufende Diagnostic Management über. Nach dem Auslesen der Attribute zur Zusammenstellung der SOVD-Antwort ([SWS_DM_02181]) endet die Lebensdauer der Struktur, und sie wird regulär zerstört.

Nutzungspfad

Der reguläre Ablauf bei der Abfrage des Operationsstatus umfasst das Zusammenspiel mehrerer Komponenten:

  1. Ein externer SOVD-Client sendet die Methode „Read the Status of an operation“ mit einer spezifischen execution-id an das DM ([SWS_DM_02180]).
  2. Das DM prüft die Anfrage und führt bei Bedarf eine Validierung der Proximity Challenge durch ([SWS_DM_02173]).
  3. Nach erfolgreicher Prüfung adressiert das DM anhand der execution-id die entsprechende SovdOperationExecution-Instanz ([SWS_DM_02177]) und ruft deren Methode GetStatus(meta_info, cancellation_handler) auf ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 „GetStatus“).
  4. Die Anwendung bestimmt den Ausführungszustand, befüllt GetStatusResponse mit dem Statuswert (status) sowie den Ausgabeparametern (Parameters aus DiagnosticSovdContentData) und stellt das Objekt über das ara::core::Future bereit ([SWS_DM_02181]).
  5. Das DM entnimmt die Daten aus der bereitgestellten GetStatusResponse, setzt das Feld capability auf execute und sendet den Response Body gemäß ASAM SOVD an den Client zurück ([SWS_DM_02181]).
Ablauf der Statusabfrage einer SOVD-OperationSOVD-ClientDiagnostic ManagementSovdOperationExecutionRead the Status of an operation (execution-id)optProximity-Prüfung erforderlichproximity_challenge validieren [SWS_DM_02173]proximity_challenge validierenGetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

Sequenzdiagramm: Zusammenspiel bei der Abfrage des Operationsstatus über GetStatusResponse. Quellen: [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 „GetStatus“, [SWS_DM_02173]

Fehlerszenarien

Die Verarbeitung und der erfolgreiche Austausch von GetStatusResponse hängen von mehreren Vorbedingungen und Fehlerpfaden ab:

  • Falls eine geforderte Proximity Challenge fehlschlägt ([SWS_DM_02173]), ruft das DM die Methode GetStatus erst gar nicht auf ([SWS_DM_02180]); eine Instanziierung oder Auswertung von GetStatusResponse entfällt in diesem Fall vollständig.
  • Die Methode SovdOperationExecution::GetStatus ist als noexcept deklariert (AUTOSAR_AP_SWS_Diagnostics §8.62 „GetStatus“). Fehler bei der Statusermittlung dürfen folglich nicht über C++-Exceptions propagiert werden, sondern müssen asynchron über den Fehlerpfad des ara::core::Future signalisiert werden.
  • Gelingt die Ausführung der Methode nicht („succeeded“-Bedingung nicht erfüllt), unterbleibt die reguläre Zusammensetzung der SOVD-Erfolgsantwort ([SWS_DM_02181]).
  • Über das übergebene Objekt ara::diag::CancellationHandler kann die laufende Operation über einen Abbruchwunsch informiert werden (AUTOSAR_AP_SWS_Diagnostics §8.62 „GetStatus“).

Dieser Leitfaden wurde durch eine KI erstellt und basiert auf der AUTOSAR-Spezifikation R25-11.