Recebe os dados úteis de uma mensagem de resposta positiva para operações de upload de diagnóstico.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6cf26bd1a154ProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Recebe os dados úteis de uma mensagem de resposta positiva para operações de upload de diagnóstico.
A estrutura ara::diag::UploadService::OperationOutput serve como parâmetro de saída para o retorno de dados úteis de uma resposta de diagnóstico positiva em serviços de upload [SWS_DM_00796]. O software aplicativo instancia o objeto após a execução bem-sucedida de uma operação de upload e preenche o membro responseData com os bytes de dados a serem enviados [SWS_DM_00796]. O conteúdo de responseData não pode conter um Service Identifier (SID) e deve corresponder às exigências específicas da operação de serviços como UploadData ou RequestUploadExit. Interpretação: em caso de falha, a estrutura não é utilizada, sendo sinalizado um status de resposta negativo. Pergunta Q-52a8538825bc0a30 (aberta)
Contexto
A estrutura ara::diag::UploadService::OperationOutput atua como contêiner de dados para os dados úteis de uma operação de diagnóstico bem-sucedida no âmbito do serviço de upload do lado do veículo [SWS_DM_00796]. Sua responsabilidade primária consiste em encapsular os dados para uma mensagem de resposta positiva («positive response message») e encaminhá-los para a plataforma [SWS_DM_00796].
No sistema global, três componentes interagem neste processo: o cliente de diagnóstico externo (testador), o ambiente de tempo de execução de diagnóstico do sistema Adaptive (ara::diag) e a implementação específica da aplicação do UploadService[SWS_DM_00796]. Assim que o testador solicita uma operação de serviço UDS, ara::diag delega o processamento ao provedor de serviço responsável da aplicação, o qual retorna o resultado para a camada de plataforma via OperationOutput[SWS_DM_00796].
Diagrama de contexto: interação entre cliente de diagnóstico, ambiente de tempo de execução ara::diag e UploadService na disponibilização de dados de resposta. Fontes: [SWS_DM_00796], AUTOSAR_AP_SWS_Diagnostics, p. 74.
Ciclo de vida
A estrutura OperationOutput é concebida como um puro objeto de transferência de dados sem lógica de estado própria e é disponibilizada por meio do cabeçalho #include "ara/diag/upload.h"[SWS_DM_00796]. Seu ciclo de vida divide-se nas seguintes fases:
Criação: a instanciação ocorre no lado da aplicação dentro da operação de diagnóstico em execução, assim que os dados de upload solicitados foram reunidos com sucesso. Interpretação: o objeto é criado provavelmente de forma local na pilha (stack) da aplicação do serviço. Pergunta (aberta)
Preenchimento: a lógica da aplicação atribui ao membro público responseData do tipo ara::core::Vector<std::uint8_t> os dados úteis a serem disponibilizados [SWS_DM_00796].
Transição de posse: o objeto é entregue a ara::diag como resultado da operação. Interpretação: esta entrega deve ocorrer por valor ou semântica de movimento, passando a responsabilidade pelos dados para a plataforma. Pergunta (aberta)
Destruição: após a serialização dos dados úteis na mensagem de resposta UDS, a estrutura é liberada pelo ambiente de tempo de execução.
Em termos de simultaneidade, OperationOutput não oferece sincronização interna. No entanto, como as instâncias são criadas dedicadas para cada chamada de operação e processadas localmente por thread, não é necessária nenhuma gestão de estado compartilhado.
Caminho de utilização
O fluxo regular para a disponibilização de dados de resposta via OperationOutput abrange uma sequência fixa de etapas de interação:
Um testador externo envia uma solicitação de upload (como UploadData ou RequestUploadExit) para a unidade de controle [SWS_DM_00796].
O gerenciamento de diagnóstico ara::diag processa o cabeçalho do protocolo e chama a operação correspondente da instância da aplicação de UploadService[SWS_DM_00796].
A aplicação processa a solicitação, cria uma instância de OperationOutput e preenche responseData com os dados úteis [SWS_DM_00796]. Neste contexto, responseData pode conter exclusivamente os dados úteis sem o Service Identifier (SID) [SWS_DM_00796]. Conforme a operação, variam o conteúdo exigido bem como a posição inicial dos dados na mensagem de resposta positiva [SWS_DM_00796].
A estrutura é retornada a ara::diag.
A camada de plataforma gera a mensagem de resposta UDS completa e transmite-a ao testador [SWS_DM_00796].
A estrutura OperationOutput é especificada exclusivamente para execuções bem-sucedidas e mensagens de resposta positivas [SWS_DM_00796]. Se uma operação falhar (por exemplo, devido a faixas de endereço inválidas ou erros de sequência em UploadData), OperationOutput não é utilizada. Interpretação: fluxos com falha são reportados provavelmente a ara::diag por meio de códigos de erro de diagnóstico (NRCs) separados, de modo que a criação ou o preenchimento da estrutura de saída não ocorrem. Pergunta Q-fa3daf3152f7131c (aberta)
Como pré-condição para o retorno, aplica-se que responseData compreende exatamente os bytes exigidos pela respectiva operação de serviço e não contém identificadores de protocolo prefixados [SWS_DM_00796]. Como pós-condição, o gerenciamento de diagnóstico assume os dados para a finalização da comunicação de barramento [SWS_DM_00796].
Este guia baseia-se nos requisitos da AUTOSAR Adaptive Platform R25-11.
Diagrama de classes UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.
Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão