DEENESPTFRRUARHIKOZHNL

estructura ara::diag::GenericRoutine::OperationOutput

[SWS_DM_00551] Upstream: RS_Diag_04169, RS_Diag_04224

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/generic_routine.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::GenericRoutine

Guía del usuarioGENERADO POR IA

Sirve para la recepción y devolución de datos útiles en respuestas positivas de servicios de rutina genéricos.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d9df3888892f Procedencia Preguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve para la recepción y devolución de datos útiles en respuestas positivas de servicios de rutina genéricos.

La estructura ara::diag::GenericRoutine::OperationOutput sirve como estructura de retorno para mensajes de respuesta positiva de servicios de rutina genéricos en AUTOSAR Adaptive [SWS_DM_00633]. Tras la ejecución exitosa de una rutina, la aplicación instancia la estructura y rellena el miembro responseData con los datos útiles del resultado SWS Diagnostics p. 80. Una condición marginal esencial es que el vector responseData contenga exclusivamente los datos puros del resultado y que el RoutineIdentifier no debe estar incluido explícitamente [SWS_DM_00633].

Contexto

La estructura ara::diag::GenericRoutine::OperationOutput sirve en el módulo de diagnóstico de AUTOSAR Adaptive como contenedor de datos dedicado para mensajes de respuesta positiva de servicios de rutina genéricos [SWS_DM_00633]. Está disponible a través de la cabecera ara/diag/generic_routine.h [SWS_DM_00633] y encapsula los datos útiles que una aplicación de diagnóstico adaptativa devuelve a Diagnostic Management (ara::diag) tras la ejecución exitosa de una rutina. En la interacción participan primariamente tres instancias: el tester de diagnóstico externo como emisor de solicitudes de rutina, el framework de plataforma ara::diag para el procesamiento de protocolos y la implementación específica de la aplicación de GenericRoutine, que ejecuta la lógica funcional y proporciona el resultado SWS Diagnostics p. 80. La tarea fundamental de OperationOutput consiste en proporcionar de forma estructurada los datos puros de salida de la rutina, no formando parte de esta estructura de datos expresamente el RoutineIdentifier [SWS_DM_00633].

Ciclo de vida

Como estructura de datos ligera (struct), OperationOutput posee un ciclo de vida de valores simple. La instanciación se realiza según las necesidades por parte de la aplicación de diagnóstico adaptativa tan pronto como una orden dirigida a la rutina (por ejemplo, inicio, detención o consulta de resultados) se haya podido completar positivamente. El único elemento de datos es responseData de tipo ara::core::Vector<std::uint8_t> [SWS_DM_00633]. La aplicación asigna el vector, lo completa con los datos de retorno específicos de la aplicación y transfiere la estructura lista al subsistema de diagnóstico. El retorno al framework de diagnóstico suele tener lugar típicamente de forma asíncrona a través de tipos Result o Future de ara::core (interpretación: convención de interfaz asíncrona de la Adaptive Platform). Pregunta Q-e672dfb8b9ff416a (abierta) Tras la transferencia, la responsabilidad de la serialización pasa a ara::diag. Tan pronto como los datos se transmiten o se transfieren a búferes internos, la estructura se destruye de nuevo al salir del ámbito de validez correspondiente. En cuanto a la concurrencia, cabe señalar que OperationOutput se crea para el contexto de una ejecución de operación individual; normalmente no se produce un acceso compartido y no protegido entre varios hilos de ejecución.

Ruta de uso

El flujo habitual para el uso de OperationOutput comprende varias fases sucesivas:

  • Recepción de solicitud: Un cliente de diagnóstico envía una solicitud RoutineControl de UDS, que la capa de diagnóstico reenvía a la instancia de GenericRoutine correspondiente SWS Diagnostics p. 84.
  • Ejecución: La aplicación adaptativa ejecuta la rutina solicitada y procesa los parámetros de entrada.
  • Generación de resultados: Tras una ejecución satisfactoria, la aplicación crea un ejemplar de OperationOutput y completa responseData con los valores de byte resultantes [SWS_DM_00633].
  • Transferencia de respuesta: La estructura se devuelve como resultado positivo de la operación a ara::diag.
  • Transmisión de respuesta: El Diagnostic Management asume previsiblemente el antepuesto automático del RoutineIdentifier al campo responseData al ensamblar la respuesta UDS (interpretación: adición de la cabecera de protocolo por parte del demonio) y envía el paquete completo al cliente [SWS_DM_00633]. Pregunta Q-ccdd2867b87d00d1 (abierta)
Provisión de datos de respuesta positivos a través de OperationOutputCliente de diagnósticoara::diagGenericRoutineRoutineControl RequestEjecutar rutinaOperationOutput instanziierenRellenar responseDataDevolver OperationOutputPositive Response (con responseData)

Diagrama de secuencia: Flujo típico de la provisión de datos mediante OperationOutput en caso de ejecución satisfactoria de la rutina. Fuentes: [SWS_DM_00633], SWS Diagnostics p. 80.

Escenarios de error

Si se produce un error durante el procesamiento de la rutina o si los datos de entrada transferidos no son válidos, se cancela la ruta de uso de OperationOutput. En caso de error, es previsible que la aplicación transmita un código de error al Diagnostic Management en lugar de OperationOutput, con lo que se desencadena una respuesta UDS negativa (interpretación: ruta de error mediante Result/Error-Domain). Pregunta (abierta) Por lo tanto, se considera una condición previa esencial para el uso de OperationOutput que la operación de rutina haya finalizado por completo y sin errores. Como poscondición, la aplicación garantiza que responseData contenga exclusivamente los datos útiles puros del mensaje de respuesta positivo y que no se incluyan prefijos de protocolo como RoutineIdentifier [SWS_DM_00633]. Si una rutina finaliza satisfactoriamente pero no genera datos de retorno adicionales, el vector responseData permanece vacío SWS Diagnostics p. 70.

Esta guía se basa en la especificación de AUTOSAR Adaptive para el módulo Diagnostics (R25-11). Las explicaciones se basan en el extracto de la especificación y están sujetas al marco de asunciones documentado.

Diagrama de clases UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__GenericRoutine__OperationOutput174 «struct» OperationOutput + responseData

Constantes

responseData variable

Content of positive respose message (without RoutineIdentifier)

Documentación de las constantes / variables

variable responseData [SWS_DM_00633] Upstream: RS_AP_00137, RS_Diag_04169, RS_Diag_04224

ara::core::Vector<std::uint8_t> responseData;

Content of positive respose message (without RoutineIdentifier)

Header-Datei#include "ara/diag/generic_routine.h"
Scopestruct ara::diag::GenericRoutine::OperationOutput
SymbolresponseData
Typara::core::Vector< std::uint8_t >

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00633
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00633@rel:R25-11#85d41a6a
Content hash
85d41a6a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00633
Status: valid/unmigrated Version: rel:R25-11#05a25446 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00633@rel:R25-11#05a25446
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#85d41a6a2026-09-30
  • R20-11rel:R20-11#bfdc6f692026-10-14
  • R21-11rel:R21-11#bfdc6f692026-10-14
  • R22-11rel:R22-11#816f129b2026-10-14
  • R23-11rel:R23-11#4c6a51d42026-10-14
  • R24-11rel:R24-11#4c6a51d42026-10-14
  • R25-11rel:R25-11#05a254462026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill