DEENESPTFRRUARHIKOZHNL

estructura ara::diag::DownloadService::OperationOutput

[SWS_DM_00785] Upstream: RS_Diag_04033

struct OperationOutput {...};

Response data of positive response message.

Header-Datei#include "ara/diag/download.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::DownloadService

Guía del usuarioGENERADO POR IA

Sirve para devolver los datos útiles de una respuesta de diagnóstico positiva sin Service-ID en operaciones de descarga.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c06f480862f4 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve para devolver los datos útiles de una respuesta de diagnóstico positiva sin Service-ID en operaciones de descarga.

La estructura de datos ara::diag::DownloadService::OperationOutput sirve como contenedor de transporte para los datos útiles de respuestas de diagnóstico positivas en servicios de descarga ([SWS_DM_00785]). En este proceso, la aplicación adaptativa rellena el campo responseData con los bytes de resultado y transfiere la estructura a Diagnostic Management ([SWS_DM_00786]). Una restricción esencial es que responseData debe contener obligatoriamente los datos útiles sin Service-ID y que se esperan contenidos diferentes según la operación, como DownloadData o RequestDownloadExit ([SWS_DM_00786]).

Contexto

La estructura ara::diag::DownloadService::OperationOutput es un tipo de datos especializado del módulo de diagnóstico dentro de la AUTOSAR Adaptive Platform y se proporciona a través del archivo de cabecera ara/diag/download.h ([SWS_DM_00785]). Su función primaria consiste en encapsular los datos útiles de un mensaje de respuesta de diagnóstico positiva para servicios de descarga (AUTOSAR_AP_SWS_Diagnostics §8.14.2 «Struct: OperationOutput»). Dentro de la arquitectura de diagnóstico, la estructura actúa como contenedor de transporte de datos entre la implementación concreta del servicio en la aplicación adaptativa y el entorno de ejecución de diagnóstico subyacente (ara::diag), el cual a su vez interactúa con el cliente de diagnóstico externo (téster) (AUTOSAR_AP_SWS_Diagnostics §7 «API Specification»).

El único miembro que contiene es el campo público responseData de tipo ara::core::Vector<std::uint8_t> ([SWS_DM_00786]). Transporta los bytes netos de datos útiles y de carga útil que deben devolverse al téster de diagnóstico tras un procesamiento correcto de una operación de descarga.

Ciclo de vida

Como estructura de datos pura (struct), OperationOutput no posee máquinas de estados internas ni métodos propios ([SWS_DM_00785]). Su ciclo de vida es efímero y está directamente vinculado al procesamiento síncrono o asíncrono de una petición de diagnóstico individual:

  • Creación: la aplicación instancia la estructura en cuanto una operación de descarga ha podido completarse con éxito y se dispone de datos de respuesta. La creación debería realizarse típicamente en la pila o dentro de una cadena de callbacks o futures. Pregunta (abierta)
  • Llenado y transferencia: la aplicación rellena el vector responseData con los bytes calculados ([SWS_DM_00786]). Con la devolución a Diagnostic Management, la responsabilidad sobre los datos se transfiere a la plataforma.
  • Destrucción: en cuanto la capa de plataforma serializa los datos y envía la trama UDS, la instancia se libera.

En cuanto a la concurrencia, debe tenerse en cuenta que OperationOutput, al ser un objeto de valor pasivo, no es seguro para subprocesos. Si las operaciones se procesan en subprocesos de trabajo concurrentes de la aplicación, debe garantizarse que no se produzcan accesos competidores a responseData antes de transferir el objeto a ara::diag.

Ruta de uso

El uso típico de OperationOutput se produce en el marco del procesamiento de peticiones de diagnóstico de descarga. Un téster de diagnóstico externo envía una petición al vehículo, la cual es recibida por la plataforma y reenviada al método adecuado de la interfaz DownloadService en la aplicación adaptativa (AUTOSAR_AP_SWS_Diagnostics §7 «API Specification»). Tras un procesamiento interno correcto, la aplicación crea una instancia de OperationOutput y transfiere los datos de respuesta.

Flujo de provisión de datos de respuesta a través de OperationOutputCliente de diagnósticoara::diag (DCM)DownloadService (Anwendung)Download-Anfrage (UDS)Llamada a la operación de descargaVerarbeitet DatenblockErzeugt OperationOutputRellena responseData (sin SID)Retorno de OperationOutput {responseData}Añade SID / cabeceraPositive UDS-Antwortnachricht

Diagrama de secuencia: interacción entre el cliente de diagnóstico, el entorno de ejecución de la plataforma y la aplicación en la provisión de datos de respuesta positiva mediante OperationOutput. Fuentes: [SWS_DM_00785], [SWS_DM_00786], AUTOSAR_AP_SWS_Diagnostics §8.14.2 «Struct: OperationOutput».

Al rellenar responseData, debe tenerse en cuenta que los datos útiles deben proporcionarse sin el Service-ID (SID) ([SWS_DM_00786]). La plataforma añade de forma autónoma el SID específico del protocolo, así como la eventual información de cabecera. Además, la estructura exacta del contenido depende de la operación invocada: en DownloadData o RequestDownloadExit, difiere la expectativa semántica respecto al inicio y la composición de los datos de respuesta en el vector ([SWS_DM_00786]).

Escenarios de error

Dado que OperationOutput está especificado explícitamente para mensajes de respuesta positiva (AUTOSAR_AP_SWS_Diagnostics §8.14.2 «Struct: OperationOutput»), no existen campos para códigos de error o respuestas negativas dentro de la estructura de datos. Si se produce un error durante la ejecución de la operación de descarga (p. ej., rangos de direcciones no válidos, orden incorrecto de bloques o transferencias interrumpidas), es de suponer que OperationOutput no se evaluará; en su lugar, la aplicación señaliza el fallo a través de los canales de error de la plataforma, tras lo cual se genera un código de respuesta negativa (NRC). Pregunta (abierta)

Se produce un error por parte de la aplicación al utilizar OperationOutput si el Service-ID se inserta accidentalmente en responseData. Esto contradice la especificación [SWS_DM_00786] y es de suponer que origine un formateo incorrecto de la trama. Pregunta (abierta) Asimismo, un orden de bytes erróneo o una cantidad incompleta de datos provoca, según la operación específica, errores de protocolo por parte del téster ([SWS_DM_00786]).

Esta guía se basa en la especificación AUTOSAR Adaptive Platform Release R25-11 y se ha generado de forma automatizada.

Diagrama de clases UML

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

G nara__diag__DownloadService__OperationOutput45 «struct» OperationOutput + responseData

Constantes

responseData variable

Content of positive response message (without SID) Depending on the operation (e.g.: DownloadData, RequestDownloadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.

Documentación de las constantes / variables

variable responseData [SWS_DM_00786] Upstream: RS_Diag_04033

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

Content of positive response message (without SID) Depending on the operation (e.g.: DownloadData, RequestDownloadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.

Header-Datei#include "ara/diag/download.h"
Scopestruct ara::diag::DownloadService::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_00786
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00786@rel:R25-11#a830c82b
Content hash
a830c82b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00786
Status: valid/unmigrated Version: rel:R25-11#9ee381a9 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_00786@rel:R25-11#9ee381a9
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#a830c82b2026-09-30
  • R20-11rel:R20-11#5fbb8d5c2026-10-14
  • R21-11rel:R21-11#bfa9d5ae2026-10-14
  • R22-11rel:R22-11#ef7d58082026-10-14
  • R23-11rel:R23-11#0f456ef02026-10-14
  • R24-11rel:R24-11#0f456ef02026-10-14
  • R25-11rel:R25-11#9ee381a92026-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