struct ara::diag::SovdOperationExecution::GetStatusResponse
struct GetStatusResponse {...};
Get Status response .
| Header-Datei | #include "ara/diag/generic_diagnostic_sovd_operation.h" |
|---|---|
| Forwarding-Header | #include "ara/diag/diag_fwd.h" |
| Scope | class ara::diag::SovdOperationExecution |
User GuideKI-GENERIERT
Dient als Rückgabestruktur für die asynchrone Statusabfrage von SOVD-Operationen an das Diagnostic Management.
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:
- Ein externer SOVD-Client sendet die Methode „Read the Status of an operation“ mit einer spezifischen
execution-idan das DM ([SWS_DM_02180]). - Das DM prüft die Anfrage und führt bei Bedarf eine Validierung der Proximity Challenge durch ([SWS_DM_02173]).
- Nach erfolgreicher Prüfung adressiert das DM anhand der
execution-iddie entsprechendeSovdOperationExecution-Instanz ([SWS_DM_02177]) und ruft deren MethodeGetStatus(meta_info, cancellation_handler)auf ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 „GetStatus“). - Die Anwendung bestimmt den Ausführungszustand, befüllt
GetStatusResponsemit dem Statuswert (status) sowie den Ausgabeparametern (ParametersausDiagnosticSovdContentData) und stellt das Objekt über dasara::core::Futurebereit ([SWS_DM_02181]). - Das DM entnimmt die Daten aus der bereitgestellten
GetStatusResponse, setzt das Feldcapabilityaufexecuteund sendet den Response Body gemäß ASAM SOVD an den Client zurück ([SWS_DM_02181]).
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
GetStatuserst gar nicht auf ([SWS_DM_02180]); eine Instanziierung oder Auswertung vonGetStatusResponseentfällt in diesem Fall vollständig. - Die Methode
SovdOperationExecution::GetStatusist alsnoexceptdeklariert (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 desara::core::Futuresignalisiert 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::CancellationHandlerkann 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.
gemini-3.8-flash-medium· 2026-10-13