DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Serve para receber e retornar dados úteis em respostas bem-sucedidas de serviços de rotina genéricos.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d9df3888892f Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve para receber e retornar dados úteis em respostas bem-sucedidas de serviços de rotina genéricos.

A estrutura ara::diag::GenericRoutine::OperationOutput serve como estrutura de retorno para mensagens de resposta positiva de serviços de rotina genéricos no AUTOSAR Adaptive [SWS_DM_00633]. Após a execução bem-sucedida de uma rotina, a aplicação instancia a estrutura e preenche o membro responseData com os dados úteis do resultado SWS Diagnostics p. 80. Uma condição de contorno essencial é que o vetor responseData deve conter exclusivamente os dados brutos do resultado, sendo expressamente proibida a inclusão do RoutineIdentifier [SWS_DM_00633].

Contexto

A estrutura ara::diag::GenericRoutine::OperationOutput serve, no módulo de diagnóstico do AUTOSAR Adaptive, como contêiner de dados dedicado para mensagens de resposta positiva de serviços de rotina genéricos [SWS_DM_00633]. Ela está disponível por meio do cabeçalho ara/diag/generic_routine.h [SWS_DM_00633] e encapsula os dados úteis que uma aplicação de diagnóstico adaptativa retorna ao gerenciamento de diagnóstico (ara::diag) após a conclusão bem-sucedida de uma rotina. Na interação participam primariamente três instâncias: o testador de diagnóstico externo como remetente de solicitações de rotina, o framework da plataforma ara::diag para o processamento de protocolos e a implementação específica da aplicação de GenericRoutine, que executa a lógica funcional e disponibiliza o resultado SWS Diagnostics p. 80. A tarefa central de OperationOutput consiste em disponibilizar os dados de saída puros da rotina de forma estruturada, sendo que o RoutineIdentifier explicitamente não faz parte dessa estrutura de dados [SWS_DM_00633].

Ciclo de vida

Como estrutura de dados leve (struct), OperationOutput possui um ciclo de vida simples baseado em valores. A instanciação é realizada sob demanda pela aplicação de diagnóstico adaptativa, assim que um comando direcionado à rotina (por exemplo, iniciar, parar ou consultar resultado) tiver sido concluído positivamente. O único elemento de dados é responseData, do tipo ara::core::Vector<std::uint8_t> [SWS_DM_00633]. A aplicação aloca o vetor, preenche-o com os dados de retorno específicos da aplicação e entrega a estrutura pronta ao subsistema de diagnóstico. O retorno ao framework de diagnóstico deve ocorrer tipicamente de forma assíncrona por meio de tipos Result ou Future de ara::core (interpretação: convenção de interface assíncrona da Adaptive Platform). Pergunta Q-e672dfb8b9ff416a (aberta) Após a entrega, a responsabilidade pela serialização transfere-se para ara::diag. Assim que os dados forem transmitidos ou transferidos para buffers internos, a estrutura é novamente destruída ao sair do respectivo escopo. Quanto à concorrência, deve-se notar que OperationOutput é criada para o contexto de uma única execução de operação; um acesso compartilhado e desprotegido entre múltiplos threads normalmente não ocorre.

Caminho de utilização

O fluxo regular para o uso de OperationOutput engloba várias fases consecutivas:

  • Recepção da solicitação: um cliente de diagnóstico envia uma solicitação UDS RoutineControl, que é encaminhada pela camada de diagnóstico para a instância responsável de GenericRoutine SWS Diagnostics p. 84.
  • Execução: a aplicação adaptativa executa a rotina solicitada e processa os parâmetros de entrada.
  • Geração do resultado: após a execução bem-sucedida, a aplicação cria uma instância de OperationOutput e preenche responseData com os valores de bytes resultantes [SWS_DM_00633].
  • Entrega da resposta: a estrutura é retornada a ara::diag como resultado positivo da operação.
  • Transmissão da resposta: o gerenciamento de diagnóstico assume presumivelmente a adição automática do RoutineIdentifier antes do campo responseData na montagem da resposta UDS (interpretação: inclusão do cabeçalho de protocolo pelo daemon) e envia o pacote completo para o cliente [SWS_DM_00633]. Pergunta Q-ccdd2867b87d00d1 (aberta)
Fornecimento de dados de resposta positivos via OperationOutputCliente de diagnósticoara::diagGenericRoutineRoutineControl RequestExecutar rotinaOperationOutput instanziierenPreencher responseDataRetornar OperationOutputPositive Response (com responseData)

Diagrama de sequência: fluxo típico da disponibilização de dados via OperationOutput em caso de execução bem-sucedida da rotina. Fontes: [SWS_DM_00633], SWS Diagnostics p. 80.

Cenários de erro

Se ocorrer um erro durante o processamento da rotina ou se os dados de entrada fornecidos forem inválidos, o caminho de uso de OperationOutput é interrompido. Em caso de erro, a aplicação deve enviar um código de erro ao gerenciamento de diagnóstico em vez de OperationOutput, disparando uma resposta UDS negativa (interpretação: caminho de erro via Result/Error-Domain). Pergunta (aberta) Como pré-condição essencial para o uso de OperationOutput, considera-se que a operação de rotina tenha sido concluída de forma integral e sem erros. Como pós-condição, a aplicação garante que responseData contenha exclusivamente os dados úteis puros da mensagem de resposta positiva e que nenhum prefixo de protocolo, como o RoutineIdentifier, esteja incluído [SWS_DM_00633]. Caso uma rotina seja concluída com sucesso, mas não gere dados adicionais de retorno, o vetor responseData permanece vazio SWS Diagnostics p. 70.

Este guia baseia-se na especificação AUTOSAR Adaptive para o módulo Diagnostics (R25-11). As explicações apoiam-se no excerto da especificação e estão sujeitas às premissas documentadas.

Diagrama de classes UML

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

G nara__diag__GenericRoutine__OperationOutput174 «struct» OperationOutput + responseData

Constantes

responseData variável

Content of positive respose message (without RoutineIdentifier)

Documentação das constantes / variáveis

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