DEENESPTFRRUARHIKOZHNL

estructura 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

Guía del usuarioGENERADO POR IA

Sirve como estructura de retorno para la consulta de estado asíncrona de operaciones SOVD a Diagnostic Management.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b16aa086639a Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como estructura de retorno para la consulta de estado asíncrona de operaciones SOVD a Diagnostic Management.

La estructura de datos GetStatusResponse sirve como contenedor de retorno para la consulta de estado asíncrona de operaciones SOVD ([SWS_DM_02200]). Es transferida desde una instancia de SovdOperationExecution a través de un ara::core::Future a Diagnostic Management, el cual deduce a partir de ella los atributos status y parameters para la respuesta ASAM SOVD ([SWS_DM_02181]). El requisito para su provisión es una validación de proximidad exitosa, así como la ejecución asíncrona sin fallos de la llamada.

Contexto

La estructura ara::diag::SovdOperationExecution::GetStatusResponse es una estructura de datos de respuesta de Adaptive Platform ([SWS_DM_02200]) que se emplea como contenedor de retorno estandarizado en la consulta de estado de operaciones SOVD (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 «Struct: GetStatusResponse»). Dentro del módulo diag, la estructura actúa como elemento de interfaz entre el demonio de diagnóstico Diagnostic Management (DM) y los servicios de diagnóstico específicos de la aplicación que implementan la interfaz SovdOperationExecution. Si Diagnostic Management recibe una llamada externa de SOVD para consultar el estado de la operación («Read the Status of an operation»), el DM reenvía esta petición a la instancia responsable ([SWS_DM_02180]). GetStatusResponse encapsula los datos de estado y resultado determinados y permite al DM construir la respuesta conforme al estándar según ASAM SOVD ([SWS_DM_02181]).

Ciclo de vida

Como estructura de datos (struct GetStatusResponse), una instancia se instancia típicamente en el contexto de la aplicación de servicio en cuanto se llama al método virtual SovdOperationExecution::GetStatus para su procesamiento. El objeto se integra como valor en un ara::core::Future<GetStatusResponse>, el cual prescribe la signatura asíncrona del método como tipo de retorno (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Interpretación: GetStatusResponse debería estar diseñada como un mero objeto de transferencia de valor cuyo ciclo de vida está estrechamente acoplado al par correspondiente de Future y Promise. Pregunta Q-e5e2b31a97df0af4 (abierta) Tan pronto como la determinación específica de la aplicación finaliza y se satisface el Future, el acceso a los datos pasa al Diagnostic Management llamador. Tras la lectura de los atributos para la confección de la respuesta SOVD ([SWS_DM_02181]), finaliza el tiempo de vida de la estructura y esta se destruye regularmente.

Ruta de uso

El flujo regular en la consulta del estado de la operación comprende la interacción de varios componentes:

  1. Un cliente SOVD externo envía el método «Read the Status of an operation» con un execution-id específico al DM ([SWS_DM_02180]).
  2. El DM comprueba la petición y, si es necesario, realiza una validación del Proximity Challenge ([SWS_DM_02173]).
  3. Tras una comprobación exitosa, el DM direcciona mediante el execution-id la instancia correspondiente de SovdOperationExecution ([SWS_DM_02177]) e invoca su método GetStatus(meta_info, cancellation_handler) ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).
  4. La aplicación determina el estado de ejecución, rellena GetStatusResponse con el valor de estado (status) y los parámetros de salida (Parameters de DiagnosticSovdContentData), y pone a disposición el objeto a través del ara::core::Future ([SWS_DM_02181]).
  5. El DM extrae los datos de la GetStatusResponse proporcionada, establece el campo capability en execute y devuelve el cuerpo de respuesta al cliente conforme a ASAM SOVD ([SWS_DM_02181]).
Flujo de la consulta de estado de una operación SOVDSOVD-ClientDiagnostic ManagementSovdOperationExecutionRead the Status of an operation (execution-id)optComprobación de proximidad necesariaproximity_challenge validieren [SWS_DM_02173]GetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

Diagrama de secuencia: Interacción durante la consulta del estado de la operación a través de GetStatusResponse. Fuentes: [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus», [SWS_DM_02173]

Escenarios de error

El procesamiento y el intercambio correcto de GetStatusResponse dependen de varias precondiciones y rutas de error:

  • Si un Proximity Challenge requerido falla ([SWS_DM_02173]), el DM ni siquiera invoca el método GetStatus ([SWS_DM_02180]); en este caso, se omite por completo cualquier instanciación o evaluación de GetStatusResponse.
  • El método SovdOperationExecution::GetStatus está declarado como noexcept (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Por consiguiente, los errores en la determinación del estado no deben propagarse mediante excepciones de C++, sino que deben señalizarse de forma asíncrona a través de la ruta de error del ara::core::Future.
  • Si la ejecución del método no tiene éxito (no se cumple la condición «succeeded»), no se lleva a cabo la composición regular de la respuesta de éxito de SOVD ([SWS_DM_02181]).
  • A través del objeto ara::diag::CancellationHandler transferido, se puede informar a la operación en curso sobre una solicitud de cancelación (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).

Esta guía ha sido elaborada por una IA y se basa en la especificación AUTOSAR R25-11.