DEENESPTFRRUARHIKOZHNL

estrutura <DataElement-Namespace>::<DataElementInterface>::<DataElement>ReadOutput

[SWS_DM_00580] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

struct <DataElement>ReadOutput {...};

Structure wrapping the out arguments for a ReadOutput

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Forwarding-Header#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }/<DataElementShortname>_fwd.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>

Guia do utilizadorGERADO POR IA

Encapsula os argumentos de saída de uma operação de leitura para um elemento de dados de diagnóstico.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b44a386da139 Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Encapsula os argumentos de saída de uma operação de leitura para um elemento de dados de diagnóstico.

A estrutura <DataElement>ReadOutput serve no módulo de diagnóstico adaptativo como contentor de transporte para encapsular todos os argumentos de saída de uma operação de leitura de elemento de dados. Perante um pedido de leitura recebido, é instanciada pelo fornecedor de serviços, preenchida com os valores determinados e devolvida ao chamador. As instâncias possuem pura semântica de valor sem gestão de estado própria e deverão ser destruídas imediatamente após a avaliação. Quaisquer erros durante a consulta são tratados, como interpretação, através dos mecanismos de retorno da função superior da plataforma e não através da própria estrutura. Pergunta (aberta)

Contexto

A estrutura <DataElement>ReadOutput é parte integrante da definição de interface do módulo de diagnóstico (diag) na AUTOSAR Adaptive Platform no Release R25-11. O seu papel primário consiste em agrupar, como estrutura envolvente (wrapper), os argumentos de saída (out arguments) de uma operação de leitura (ReadOutput) para um determinado elemento de dados de diagnóstico dentro do respetivo <DataElementInterface>. Na arquitetura do AUTOSAR Adaptive, os componentes de software funcional comunicam com o gestor de diagnóstico da plataforma através de interfaces de serviço claramente definidas. <DataElement>ReadOutput atua aqui como mero contentor de transferência de dados, agregando os dados úteis de uma consulta de leitura. Presumivelmente, a estrutura de dados serve como tipo de retorno de uma operação de leitura assíncrona (como Read()) dentro da interface de diagnóstico <DataElementInterface>, a fim de disponibilizar os parâmetros de saída de forma agregada. Pergunta Q-e3c1110153021b2a (aberta) Através deste encapsulamento, é criada uma interface uniforme e tipificada que prescinde de passagens de ponteiros ou de parâmetros de saída separados.

Ciclo de vida

No que diz respeito ao ciclo de vida, a estrutura <DataElement>ReadOutput apresenta as propriedades de um tipo de valor elementar. Não possui uma identidade de longa duração nem passa por estados internos complexos. A criação ocorre dinamicamente ou na pilha (stack) pelo componente que implementa o acesso de leitura ao elemento de dados e compila os dados de saída. As instâncias da estrutura deverão ser tipicamente passadas por valor (by-value) ou via semântica de movimento (move semantics) e consumidas e destruídas pelo componente de diagnóstico chamador ou pela framework da plataforma após a conclusão da operação de leitura. Pergunta Q-f7af8c361e9352b0 (aberta) A transferência de propriedade ocorre imediatamente para o destinatário do resultado da leitura. Assim que a rotina de processamento tiver lido os dados necessários, a estrutura é libertada automaticamente ao sair do âmbito (scope). Em termos de concorrência, <DataElement>ReadOutput não oferece sincronização interna. Como as instâncias são passadas exclusivamente para o respetivo chamador no fluxo regular de chamadas, não está prevista uma utilização partilhada além das fronteiras das threads na operação padrão.

Caminho de utilização

O percurso típico de utilização estende-se desde o desencadeamento de um pedido de leitura até ao processamento dos parâmetros de saída fornecidos. Uma sequência típica desenrola-se da seguinte forma:

  • Pedido: um cliente de diagnóstico ou a framework adaptativa solicita a leitura de um elemento de dados através do método da interface <DataElementInterface>.
  • Instanciação e preenchimento: o componente de software fornecedor determina os dados de diagnóstico atuais, instancia uma instância de <DataElement>ReadOutput e define os seus campos de dados com os valores recolhidos.
  • Retorno: a estrutura preenchida é transmitida como resultado da operação à framework solicitante.
  • Consumo: a framework ou o componente chamador acede aos argumentos de saída contidos, formata a resposta de diagnóstico e conclui o processamento da consulta.

Após a entrega e extração bem-sucedidas dos campos de dados, a instância perde a sua validade e é descartada sem etapas adicionais de interação.

Cenários de erro

Interpretação: prevê-se que a falha de uma operação de leitura não seja representada através da própria estrutura, mas através do mecanismo envolvente de resultados ou erros da plataforma (como ara::core::Result ou ara::core::Future). Pergunta Q-7d16241843f2d5e6 (aberta) Como pura estrutura de dados, <DataElement>ReadOutput não declara métodos próprios, pré-condições ou códigos de erro. Se o acesso de leitura a um elemento de dados falhar – por exemplo, devido a permissões insuficientes, estados inválidos do sistema ou problemas de comunicação com os sensores subjacentes –, a interface implementadora sinaliza este erro através do canal de erro superior da plataforma. Num caso de erro como este, nenhuma instância válida de <DataElement>ReadOutput é disponibilizada para avaliação, evitando interpretações erradas de dados úteis incompletos do lado do chamador.

Este guia baseia-se nos dados de especificação do release AUTOSAR R25-11 para a Adaptive Platform.