structure 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 |
Guide utilisateurGÉNÉRÉ PAR IA
Sert de structure de retour lors du démarrage d'une opération de diagnostic SOVD exécutée de manière asynchrone.
Sert de structure de retour lors du démarrage d'une opération de diagnostic SOVD exécutée de manière asynchrone.
La structure ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse sert, dans l'AUTOSAR Adaptive Platform, de type de réponse lors du démarrage d'une opération de diagnostic SOVD se déroulant de manière asynchrone [SWS_DM_02209]. Elle est instanciée par l'application et retournée au Diagnostic Management sous forme de variante au sein d'un ara::core::Future lorsqu'une opération est poursuivie en arrière-plan AUTOSAR_AP_SWS_Diagnostics §8.62 « StartExecution ». Avant l'appel, une vérification du challenge de proximité éventuellement requise doit avoir été effectuée avec succès. Ensuite, le Diagnostic Management génère, sur la base de ce retour, la réponse asynchrone destinée au client SOVD.
Contexte
La structure de données ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse sert, dans le cluster fonctionnel Diagnostic Management (DM), de type de retour pour le démarrage asynchrone d'une opération de diagnostic SOVD [SWS_DM_02209]. Pour chaque opération configurée de type DiagnosticSovdOperationStart, l'instance du Diagnostic Server met à disposition la méthode SOVD permettant de démarrer une opération conformément à ASAM SOVD [SWS_DM_01396]. Dès qu'un client demande l'exécution d'une opération via le protocole SOVD, le Diagnostic Management transmet cet appel à l'interface ara::diag::GenericDiagnosticSovdOperation::StartExecution [SWS_DM_02174].
Au sein de ce déroulement, StartAsynchronousExecutionResponse fait office d'objet de réponse du gestionnaire de diagnostic spécifique à l'application à destination du Diagnostic Management. Alors que les opérations synchrones reçoivent une réponse via StartSynchronousExecutionResponse [SWS_DM_02176], le retour de StartAsynchronousExecutionResponse signale que le traitement de diagnostic effectif est poursuivi en tant que tâche d'arrière-plan et que la réponse immédiate au client SOVD confirme uniquement l'initiation réussie AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 « Operations – Start execution of an operation ».
Cycle de vie
La création de StartAsynchronousExecutionResponse est effectuée par l'implémentation concrète de l'interface de service lors de l'exécution de StartExecution AUTOSAR_AP_SWS_Diagnostics §8.62 « StartExecution ». Si le gestionnaire décide que l'opération demandée doit être traitée de manière asynchrone, il instancie le struct et l'encapsule dans un ara::core::Variant<StartSynchronousExecutionResponse, StartAsynchronousExecutionResponse>.
Ce variant est résolu via un ara::core::Promise et transmis en tant que ara::core::Future au Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §8.62 « StartExecution ». Avec la résolution du future, la propriété de la structure est transférée au Diagnostic Management. Interprétation : l'instance de StartAsynchronousExecutionResponse devrait être détruite après évaluation par le Diagnostic Management dès que le message de réponse SOVD vers le client externe a été généré et envoyé. Question Q-3977fae99e62957e (ouverte) La poursuite du traitement de la tâche de diagnostic continue de manière concurrente dans le contexte de l'application.
Parcours d'utilisation
Le déroulement nominal commence par la réception d'une requête SOVD par le Diagnostic Server pour démarrer une opération [SWS_DM_01396]. Après une vérification préalable réussie, le Diagnostic Management appelle la méthode StartExecution du gestionnaire enregistré [SWS_DM_02174]. Le nom de l'opération, les données d'entrée, les métadonnées ainsi qu'un ara::diag::CancellationHandler sont alors transmis AUTOSAR_AP_SWS_Diagnostics §8.62 « StartExecution ».
Le gestionnaire démarre le processus d'arrière-plan asynchrone, crée la structure StartAsynchronousExecutionResponse [SWS_DM_02209] et la retourne dans le ara::core::Future. Le Diagnostic Management récupère l'objet et transforme le retour en la réponse SOVD asynchrone conforme aux standards destinée au client.
Diagramme de séquence : démarrage asynchrone d'une opération SOVD via StartAsynchronousExecutionResponse. Sources : [SWS_DM_01396], [SWS_DM_02174], [SWS_DM_02209], AUTOSAR_AP_SWS_Diagnostics §8.62 « StartExecution ».
Scénarios d'erreur
Une précondition centrale pour l'appel de la méthode est l'autorisation : si nécessaire, une validation du challenge de proximité doit avoir réussi avant l'appel de StartExecution [SWS_DM_02174]. En cas d'échec de celle-ci, l'appel du gestionnaire n'a pas lieu et aucun StartAsynchronousExecutionResponse n'est créé.
Pour gérer les interruptions pendant l'exécution en cours, le système met à disposition un ara::diag::CancellationHandler AUTOSAR_AP_SWS_Diagnostics §8.62 « StartExecution ». Si une erreur survient dans le gestionnaire avant le retour du future, l'application peut terminer le future avec un état d'erreur, de sorte qu'aucune structure de réponse valide n'est traitée ultérieurement.
Ce guide de classe est basé sur la version AUTOSAR R25-11 et a été généré de manière automatisée.
gemini-3.8-flash-low· 2026-10-13 · Original allemand