DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Serve para retornar os dados úteis de uma resposta de diagnóstico positiva sem Service-ID em operações de download.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: c06f480862f4 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve para retornar os dados úteis de uma resposta de diagnóstico positiva sem Service-ID em operações de download.

A estrutura de dados ara::diag::DownloadService::OperationOutput serve como contentor de transporte para os dados úteis de respostas de diagnóstico positivas em serviços de download ([SWS_DM_00785]). A aplicação adaptativa preenche aqui o campo responseData com os bytes de resultado e transmite a estrutura ao Diagnostic Management ([SWS_DM_00786]). Uma condição limite essencial é que responseData deve conter os dados úteis obrigatoriamente sem Service-ID e, dependendo da operação como DownloadData ou RequestDownloadExit, são esperados conteúdos distintos ([SWS_DM_00786]).

Contexto

A estrutura ara::diag::DownloadService::OperationOutput é um tipo de dados especializado do módulo de diagnóstico dentro da AUTOSAR Adaptive Platform e é disponibilizada através do ficheiro de cabeçalho ara/diag/download.h ([SWS_DM_00785]). A sua função primária consiste em encapsular os dados úteis de uma mensagem de resposta de diagnóstico positiva para serviços de download (AUTOSAR_AP_SWS_Diagnostics §8.14.2 «Struct: OperationOutput»). Dentro da arquitetura de diagnóstico, a estrutura atua como contentor de transporte de dados entre a implementação concreta de serviço na aplicação adaptativa e o ambiente de execução de diagnóstico subjacente (ara::diag), o qual, por sua vez, interage com o cliente de diagnóstico externo (tester) (AUTOSAR_AP_SWS_Diagnostics §7 «API Specification»).

O único membro contido é o campo público responseData do tipo ara::core::Vector<std::uint8_t> ([SWS_DM_00786]). Este transporta os bytes puros de dados úteis e payload que devem ser enviados de volta ao tester de diagnóstico após o processamento bem-sucedido de uma operação de download.

Ciclo de vida

Como estrutura de dados pura (struct), OperationOutput não possui máquinas de estados internas nem métodos próprios ([SWS_DM_00785]). O seu ciclo de vida é efémero e está diretamente associado ao processamento síncrono ou assíncrono de um único pedido de diagnóstico:

  • Criação: a estrutura é instanciada pela aplicação assim que uma operação de download pôde ser concluída com sucesso e os dados de resposta estiverem disponíveis. A criação deverá ocorrer tipicamente na pilha ou dentro de uma cadeia de callbacks ou de futures. Pergunta (aberta)
  • Preenchimento e transmissão: a aplicação preenche o vetor responseData com os bytes calculados ([SWS_DM_00786]). Com o retorno ao Diagnostic Management, a responsabilidade pelos dados transita para a plataforma.
  • Destruição: assim que a camada da plataforma tiver serializado os dados e enviado o frame UDS, a instância é libertada.

No que diz respeito à concorrência, deve notar-se que OperationOutput, como objeto de valor passivo, não é thread-safe. Se as operações forem processadas em worker threads concorrentes da aplicação, deve assegurar-se que não ocorram acessos concorrentes a responseData antes de o objeto ser transmitido a ara::diag.

Caminho de utilização

A utilização típica de OperationOutput ocorre no âmbito do processamento de pedidos de diagnóstico de download. Um tester de diagnóstico externo envia um pedido ao veículo, o qual é recebido pela plataforma e encaminhado para o método correspondente da interface DownloadService na aplicação adaptativa (AUTOSAR_AP_SWS_Diagnostics §7 «API Specification»). Após o processamento interno bem-sucedido, a aplicação cria uma instância de OperationOutput e transmite os dados de resposta.

Fluxo de fornecimento de dados de resposta via OperationOutputCliente de diagnósticoara::diag (DCM)DownloadService (Anwendung)Download-Anfrage (UDS)Chamada da operação de downloadVerarbeitet DatenblockErzeugt OperationOutputPreenche responseData (sem SID)Retorno OperationOutput {responseData}Adiciona SID / cabeçalhoPositive UDS-Antwortnachricht

Diagrama de sequência: interação entre cliente de diagnóstico, runtime da plataforma e aplicação na disponibilização de dados de resposta positiva através de OperationOutput. Fontes: [SWS_DM_00785], [SWS_DM_00786], AUTOSAR_AP_SWS_Diagnostics §8.14.2 «Struct: OperationOutput».

Ao preencher responseData, deve ter-se em conta que os dados úteis devem ser disponibilizados sem o Service-ID (SID) ([SWS_DM_00786]). A plataforma complementa de forma autónoma o SID específico do protocolo, bem como eventuais informações de cabeçalho. Além disso, a estrutura exata do conteúdo depende da operação chamada: em DownloadData ou RequestDownloadExit, a expectativa semântica quanto ao início e à estrutura dos dados de resposta no vetor difere ([SWS_DM_00786]).

Cenários de erro

Como OperationOutput é explicitamente especificado para mensagens de resposta positiva (AUTOSAR_AP_SWS_Diagnostics §8.14.2 «Struct: OperationOutput»), não existem campos para códigos de erro ou respostas negativas dentro da estrutura de dados. Se ocorrer um erro durante a execução da operação de download (por ex., intervalos de endereços inválidos, ordem incorreta de blocos ou transmissões abortadas), OperationOutput presumivelmente não é avaliado; em vez disso, a aplicação sinaliza a falha através de canais de erro da plataforma, após o que é gerado um código de resposta negativo (NRC). Pergunta (aberta)

Ocorre um erro do lado da aplicação na utilização de OperationOutput quando o Service-ID é inserido inadvertidamente em responseData. Isto contradiz a especificação [SWS_DM_00786] e deverá resultar numa formatação de frame defeituosa. Pergunta (aberta) Do mesmo modo, uma ordem de bytes incorreta ou um volume de dados incompleto conduz, consoante a operação específica, a erros de protocolo do lado do tester ([SWS_DM_00786]).

Este guia baseia-se na especificação AUTOSAR Adaptive Platform Release R25-11 e foi gerado automaticamente.

Diagrama de classes UML

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

G nara__diag__DownloadService__OperationOutput45 «struct» OperationOutput + responseData

Constantes

responseData variável

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.

Documentação das constantes / variáveis

variável 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#f2faf6a3
Content hash
f2faf6a3
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