DEENESPTFRRUARHIKOZHNL

estrutura ara::diag::DiagnosticSovdContentData

[SWS_DM_02385] Upstream: RS_Diag_04260

struct DiagnosticSovdContentData {...};

The DiagnosticSovdContentData declaration.

Header-Datei#include "ara/diag/diagnostic_sovd_content_data.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

Guia do utilizadorGERADO POR IA

Encapsula elementos de conteúdo e parâmetros de resultado para serviços de diagnóstico SOVD padronizados e execuções de operações.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5ebd4d309016 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Encapsula elementos de conteúdo e parâmetros de resultado para serviços de diagnóstico SOVD padronizados e execuções de operações.

A estrutura ara::diag::DiagnosticSovdContentData serve como contêiner de dados padronizado para o encapsulamento de conteúdos de diagnóstico para serviços SOVD no AUTOSAR Adaptive ([SWS_DM_02385]). Ela mantém os dados úteis em um vetor público de elementos de conteúdo ([SWS_DM_02386]), a partir dos quais o Diagnostic Management gera o atributo SOVD parameters em retornos de operações e de status. Como um objeto puro de transferência de valores, a estrutura não oferece sincronização interna de threads, razão pela qual modificações concorrentes devem ser protegidas internamente na aplicação.

Contexto

A estrutura de dados ara::diag::DiagnosticSovdContentData faz parte do módulo de diagnóstico (diag) da AUTOSAR Adaptive Platform e está declarada no cabeçalho ara/diag/diagnostic_sovd_content_data.h (AUTOSAR_AP_SWS_Diagnostics §8.59 «Header: ara/diag/diagnostic_sovd_content_data.h», [SWS_DM_02385]). Ela funciona como um portador de dados padronizado para o encapsulamento de conteúdos de diagnóstico no diagnóstico veicular orientado a serviços segundo a ASAM SOVD.

Dentro da plataforma, a estrutura faz a mediação entre o servidor de diagnóstico (Diagnostic Management, DM) e os provedores de serviços de uma Adaptive Application ([SWS_DM_01396], [SWS_DM_02174]). Se uma operação ou consulta de status for disparada por um cliente SOVD externo, o DM delega a chamada ao componente de software implementador. Os dados de saída gerados são armazenados pela aplicação em uma instância de DiagnosticSovdContentData ([SWS_DM_02386]). Em seguida, o DM transfere esses conteúdos para o corpo da resposta SOVD, especificamente para o atributo padronizado parameters ([SWS_DM_02176], [SWS_DM_02181]).

diag_sovd_content_kontext client SOVD-Client dm Diagnostic Management client->dm SOVD-Request dm->client SOVD-Response (parameters) app Adaptive Applikation (Operation / Content-Provider) dm->app StartExecution() / Read() data DiagnosticSovdContentData (elements) app->data cria / preenche data->dm fornece parâmetros

Diagrama de contexto: incorporação de DiagnosticSovdContentData no intercâmbio de dados entre cliente SOVD, Diagnostic Management e provedor de serviços de diagnóstico. Fontes: [SWS_DM_01396], [SWS_DM_02174], [SWS_DM_02176], [SWS_DM_02385], [SWS_DM_02386].

Ciclo de vida

A definição como struct C++ (AUTOSAR_AP_SWS_Diagnostics §8.59.1.1 «Public Member Variables», [SWS_DM_02385]) atribui a DiagnosticSovdContentData o papel de um contêiner de dados. A estrutura possui a variável-membro pública elements do tipo ara::core::Vector<DiagnosticSovdContentElementData> ([SWS_DM_02386]), na qual os elementos de conteúdo individuais são gerenciados dinamicamente.

A criação da instância ocorre tipicamente de forma local dentro dos métodos do provedor de serviço, assim que dados de diagnóstico são reunidos para um retorno. Em interfaces assíncronas como Read (AUTOSAR_AP_SWS_Diagnostics §8.x «Read»), o objeto é encapsulado em um ara::core::Future<DiagnosticSovdContentData>. Interpretação: aqui a estrutura deve passar para a posse do chamador por passagem por valor ou semântica de movimento (move semantics), de modo que seu tempo de vida esteja vinculado ao objeto Future de processamento. Pergunta Q-564c59896de41f85 (aberta)

No que diz respeito à concorrência, a estrutura não contém primitivas internas de sincronização. Interpretação: como se trata de um objeto puro de transferência de valor (Value Object), supõe-se que não exista proteção interna de threads; acessos concorrentes à mesma instância precisam, portanto, ser sincronizados pela lógica da aplicação chamadora. A destruição da instância ocorre automaticamente ao sair do escopo do contexto de gerenciamento. Pergunta (aberta)

Caminho de utilização

O caminho primário de utilização de DiagnosticSovdContentData reside na disponibilização de dados úteis em execuções síncronas de operações, bem como em consultas de status no framework SOVD:

  1. Um cliente SOVD externo envia ao veículo uma solicitação para iniciar uma operação de acordo com a ASAM SOVD ([SWS_DM_01396]).
  2. Após a validação das condições de contorno, o Diagnostic Management delega a execução à operação responsável através de ara::diag::GenericDiagnosticSovdOperation::StartExecution ([SWS_DM_02174]).
  3. A aplicação de serviço executa a operação de diagnóstico, instancia DiagnosticSovdContentData e preenche o membro elements com os dados dos elementos gerados ([SWS_DM_02386]).
  4. O objeto é transferido ao Diagnostic Management no âmbito do valor de retorno para execuções síncronas ([SWS_DM_02176]).
  5. O Diagnostic Management lê os valores de DiagnosticSovdContentData, transfere-os para o atributo parameters do corpo de resposta SOVD e envia a resposta ao cliente ([SWS_DM_02176]).

Um caminho análogo aplica-se à consulta de status através de SovdOperationExecution::GetStatus ([SWS_DM_02180]), na qual o atributo parameters também é derivado do DiagnosticSovdContentData passado ([SWS_DM_02181]). Da mesma forma, os provedores de conteúdo utilizam a mesma estrutura como tipo de retorno através de Read (AUTOSAR_AP_SWS_Diagnostics §8.x «Read»).

Fluxo de uso para DiagnosticSovdContentData na execução de operaçãoSOVD-ClientDiagnostic ManagementGenericDiagnosticSovdOperationSOVD-Aufruf: Start ExecutionStartExecution()Instanziiert DiagnosticSovdContentDataPreenche elementsRetorno com DiagnosticSovdContentDataMapeia elements para SOVD-parametersSOVD-Response (parameters)

Diagrama de sequência: disponibilização de dados úteis por meio de DiagnosticSovdContentData em uma execução síncrona de operação. Fontes: [SWS_DM_01396], [SWS_DM_02174], [SWS_DM_02176], [SWS_DM_02386].

Este guia baseia-se na especificação AUTOSAR R25-11 e apoia-se exclusivamente nos requisitos especificados e nas passagens dos documentos.

Diagrama de classes UML

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

G nara__diag__DiagnosticSovdContentData509 «struct» DiagnosticSovdContentData + elements

Constantes

elements variável

The diagnostic sovd content elements.

Documentação das constantes / variáveis

variável elements [SWS_DM_02386] Upstream: RS_Diag_04260

ara::core::Vector<DiagnosticSovdContentElementData> elements;

The diagnostic sovd content elements.

Header-Datei#include "ara/diag/diagnostic_sovd_content_data.h"
Scopestruct ara::diag::DiagnosticSovdContentData
Symbolelements
Typara::core::Vector< DiagnosticSovdContentElementData >

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02386
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02386@rel:R25-11#384c6ae0
Content hash
384c6ae0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02386
Status: valid/unmigrated Version: rel:R25-11#18fe6277 Versionshistorie & Revisions (1 transition)
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_02386@rel:R25-11#18fe6277
Point-in-Time History:
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