DEENESPTFRRUARHIKOZHNL

struct 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

User GuideAI-GENERATED

Encapsulates content elements and result parameters for standardized SOVD diagnostic services and operation executions.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 5ebd4d309016 Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Encapsulates content elements and result parameters for standardized SOVD diagnostic services and operation executions.

The struct ara::diag::DiagnosticSovdContentData serves as a standardized data container for encapsulating diagnostic content for SOVD services in AUTOSAR Adaptive ([SWS_DM_02385]). It holds the payload in a public vector of content elements ([SWS_DM_02386]), from which Diagnostic Management generates the SOVD attribute parameters during operation and status responses. As a pure value transfer object, the struct offers no internal thread synchronization, which is why concurrent modifications must be safeguarded within the application.

Context

The data structure ara::diag::DiagnosticSovdContentData is part of the diagnostic module (diag) of the AUTOSAR Adaptive Platform and is declared in the header ara/diag/diagnostic_sovd_content_data.h (AUTOSAR_AP_SWS_Diagnostics §8.59 “Header: ara/diag/diagnostic_sovd_content_data.h”, [SWS_DM_02385]). It acts as a standardized data carrier for encapsulating diagnostic content in service-oriented vehicle diagnostics according to ASAM SOVD.

Within the platform, the struct mediates between the diagnostic server (Diagnostic Management, DM) and the service providers of an Adaptive Application ([SWS_DM_01396], [SWS_DM_02174]). If an operation or a status query is triggered by an external SOVD client, the DM delegates the call to the implementing software component. The generated output data is placed by the application into an instance of DiagnosticSovdContentData ([SWS_DM_02386]). Subsequently, the DM transfers this content into the SOVD response body, specifically into the standardized attribute 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 creates / populates data->dm provides parameters

Context diagram: Embedding of DiagnosticSovdContentData in the data exchange between SOVD client, Diagnostic Management, and diagnostic service provider. Sources: [SWS_DM_01396], [SWS_DM_02174], [SWS_DM_02176], [SWS_DM_02385], [SWS_DM_02386].

Lifecycle

The definition as a C++ struct (AUTOSAR_AP_SWS_Diagnostics §8.59.1.1 “Public Member Variables”, [SWS_DM_02385]) assigns DiagnosticSovdContentData the role of a data container. The struct has the public member variable elements of type ara::core::Vector<DiagnosticSovdContentElementData> ([SWS_DM_02386]), in which the individual content elements are managed dynamically.

Creation of the instance typically occurs locally within the service provider methods as soon as diagnostic data is assembled for a response. For asynchronous interfaces such as Read (AUTOSAR_AP_SWS_Diagnostics §8.x “Read”), the object is encapsulated in a ara::core::Future<DiagnosticSovdContentData>. Interpretation: Here, the struct is likely to pass into the ownership of the caller via pass-by-value or move semantics, so that its lifetime is tied to the processing Future object. Question Q-564c59896de41f85 (open)

With regard to concurrency, the struct contains no internal synchronization primitives. Interpretation: Because this is a pure value transfer object (Value Object), no internal thread protection is likely to exist; concurrent accesses to the same instance must therefore be synchronized by the calling application logic. Question (open) Destruction of the instance occurs automatically upon leaving the scope of the managing context.

Usage Path

The primary usage path of DiagnosticSovdContentData lies in providing payload data during synchronous operation executions as well as during status queries in the SOVD framework:

  1. An external SOVD client sends a request to start an operation according to ASAM SOVD to the vehicle ([SWS_DM_01396]).
  2. After validating the constraints, Diagnostic Management delegates the execution to the responsible operation via ara::diag::GenericDiagnosticSovdOperation::StartExecution ([SWS_DM_02174]).
  3. The service application executes the diagnostic operation, instantiates DiagnosticSovdContentData, and populates the member elements with the generated element data ([SWS_DM_02386]).
  4. The object is passed to Diagnostic Management as part of the return value for synchronous executions ([SWS_DM_02176]).
  5. Diagnostic Management reads the values from DiagnosticSovdContentData, transfers them into the attribute parameters of the SOVD response body, and sends the response to the client ([SWS_DM_02176]).

An analogous path applies to the status query via SovdOperationExecution::GetStatus ([SWS_DM_02180]), where the attribute parameters is likewise derived from the passed DiagnosticSovdContentData ([SWS_DM_02181]). Content providers also use the same struct as a return type via Read (AUTOSAR_AP_SWS_Diagnostics §8.x “Read”).

Usage sequence for DiagnosticSovdContentData during operation executionSOVD-ClientDiagnostic ManagementGenericDiagnosticSovdOperationSOVD-Aufruf: Start ExecutionStartExecution()Instanziiert DiagnosticSovdContentDataPopulates elementsReturn with DiagnosticSovdContentDataMaps elements to SOVD parametersSOVD-Response (parameters)

Sequence diagram: Provision of payload data using DiagnosticSovdContentData during a synchronous operation execution. Sources: [SWS_DM_01396], [SWS_DM_02174], [SWS_DM_02176], [SWS_DM_02386].

This guide is based on AUTOSAR specification R25-11 and relies exclusively on the specified requirements and document locations.

UML class diagram

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

G nara__diag__DiagnosticSovdContentData509 «struct» DiagnosticSovdContentData + elements

Constants

elements variable

The diagnostic sovd content elements.

Documentation of constants / variables

variable 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#18fe6277
Content hash
18fe6277
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