DEENESPTFRRUARHIKOZHNL

structure 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

Guide utilisateurGÉNÉRÉ PAR IA

Sert de structure de retour pour l'interrogation asynchrone de l'état d'opérations SOVD auprès du Diagnostic Management.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b16aa086639a Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert de structure de retour pour l'interrogation asynchrone de l'état d'opérations SOVD auprès du Diagnostic Management.

La structure de données GetStatusResponse sert de conteneur de retour pour l'interrogation asynchrone de l'état d'opérations SOVD ([SWS_DM_02200]). Elle est transmise au Diagnostic Management par une instance de SovdOperationExecution via un ara::core::Future, à partir duquel le Diagnostic Management dérive les attributs status et parameters pour la réponse ASAM SOVD ([SWS_DM_02181]). La mise à disposition a pour prérequis une validation de proximité réussie ainsi que l'exécution asynchrone sans erreur de l'appel.

Contexte

La structure ara::diag::SovdOperationExecution::GetStatusResponse est une structure de données de réponse de l'Adaptive Platform ([SWS_DM_02200]), utilisée comme conteneur de retour standardisé lors de l'interrogation de l'état d'opérations SOVD (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 « Struct: GetStatusResponse »). Au sein du module diag, la structure fait office d'élément d'interface entre le démon de diagnostic Diagnostic Management (DM) et les services de diagnostic spécifiques à l'application qui implémentent l'interface SovdOperationExecution. Lorsque le Diagnostic Management reçoit un appel SOVD externe demandant l'état de l'opération (« Read the Status of an operation »), le DM transmet cette requête à l'instance compétente ([SWS_DM_02180]). GetStatusResponse encapsule les données d'état et de résultat déterminées et permet au DM de construire la réponse conforme au standard selon ASAM SOVD ([SWS_DM_02181]).

Cycle de vie

En tant que structure de données (struct GetStatusResponse), une instance est typiquement instanciée dans le contexte de l'application de service dès que la méthode virtuelle SovdOperationExecution::GetStatus est appelée pour traitement. L'objet est incorporé comme valeur dans un ara::core::Future<GetStatusResponse>, prescrit par la signature de méthode asynchrone comme type de retour (AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »). Interprétation : GetStatusResponse devrait être conçu comme un pur objet de transfert de valeur dont le cycle de vie est étroitement couplé à la paire Future et Promise associée. Dès que la détermination spécifique à l'application est achevée et que le Future est rempli, l'accès aux données passe au Diagnostic Management appelant. Après la lecture des attributs servant à composer la réponse SOVD ([SWS_DM_02181]), la durée de vie de la structure prend fin et celle-ci est détruite de manière régulière. Question Q-e5e2b31a97df0af4 (ouverte)

Parcours d'utilisation

Le déroulement régulier lors de l'interrogation de l'état d'une opération comprend l'interaction de plusieurs composants :

  1. Un client SOVD externe envoie la méthode « Read the Status of an operation » avec un execution-id spécifique au DM ([SWS_DM_02180]).
  2. Le DM vérifie la requête et exécute au besoin une validation du challenge de proximité ([SWS_DM_02173]).
  3. Après vérification réussie, le DM adresse, à l'aide du execution-id, l'instance de SovdOperationExecution correspondante ([SWS_DM_02177]) et appelle sa méthode GetStatus(meta_info, cancellation_handler) ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »).
  4. L'application détermine l'état d'exécution, remplit GetStatusResponse avec la valeur d'état (status) ainsi qu'avec les paramètres de sortie (Parameters issus de DiagnosticSovdContentData) et met l'objet à disposition via le ara::core::Future ([SWS_DM_02181]).
  5. Le DM extrait les données du GetStatusResponse mis à disposition, définit le champ capability sur execute et renvoie le corps de réponse au client conformément à ASAM SOVD ([SWS_DM_02181]).
Déroulement de l'interrogation d'état d'une opération SOVDSOVD-ClientGestion des diagnosticsSovdOperationExecutionRead the Status of an operation (execution-id)optContrôle de proximité requisproximity_challenge validieren [SWS_DM_02173]GetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

Diagramme de séquence : interaction lors de l'interrogation de l'état d'une opération via GetStatusResponse. Sources : [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus », [SWS_DM_02173]

Scénarios d'erreur

Le traitement et l'échange réussi de GetStatusResponse dépendent de plusieurs préconditions et chemins d'erreur :

  • Si un challenge de proximité requis échoue ([SWS_DM_02173]), le DM n'appelle même pas la méthode GetStatus ([SWS_DM_02180]) ; l'instanciation ou l'évaluation de GetStatusResponse est alors totalement omise dans ce cas.
  • La méthode SovdOperationExecution::GetStatus est déclarée comme noexcept (AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »). Par conséquent, les erreurs lors de la détermination de l'état ne doivent pas être propagées par le biais d'exceptions C++, mais doivent être signalées de manière asynchrone via le chemin d'erreur du ara::core::Future.
  • Si l'exécution de la méthode ne réussit pas (condition « succeeded » non remplie), la composition régulière de la réponse de succès SOVD n'a pas lieu ([SWS_DM_02181]).
  • L'opération en cours peut être informée d'un souhait d'interruption via l'objet ara::diag::CancellationHandler transmis (AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »).

Ce guide a été généré par une IA et s'appuie sur la spécification AUTOSAR R25-11.