Provides metadata and integrity information for diagnostic bulk data during SOVD communication.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 7c22095f2f08ProvenanceOpen questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Provides metadata and integrity information for diagnostic bulk data during SOVD communication.
The structure ara::diag::SovdBulkData::BulkDataMetaDataDescriptor serves as a data transfer object for describing bulk data for SOVD diagnostic communication in AUTOSAR Adaptive ([SWS_DM_01830]). It bundles identification, localization, and type information such as id, file_name, and mimetype as well as checksums and optional size specifications (SWS Diagnostics §8.53.2 “Struct: BulkDataMetaDataDescriptor”). The instance is populated with metadata by the providing diagnostic application and passed to the SOVD subsystem. As a passive C++ structure without internal synchronization, concurrent write accesses must be protected externally by the calling application.
Context
The data structure ara::diag::SovdBulkData::BulkDataMetaDataDescriptor is part of the module diag of the AUTOSAR Adaptive Platform and is provided via the header #include "ara/diag/sovd_bulk_data.h" ([SWS_DM_01830]). It defines the metadata descriptor for diagnostic bulk data transferred within the scope of SOVD (Service-Oriented Vehicle Diagnostics) (SWS Diagnostics §8.53.2 “Struct: BulkDataMetaDataDescriptor”). In diagnostic scenarios such as reading extensive log files, trace buffers, or update packages, diagnostic clients require structured accompanying information in addition to the binary data stream. The structure bundles this metadata for unique identification, interpretation, and integrity checking.
In the interaction between the diagnostic application, the runtime system ara::diag, and external diagnostic testers, the structure acts as a passive data transfer object (DTO). The field id specifies the unique identifier of the bulk data ([SWS_DM_01831]). For naming purposes, file_name is available for the file name ([SWS_DM_01836]), name for the logical designation ([SWS_DM_01833]), and translation_id for localization purposes ([SWS_DM_01834]). The media type is declared by mimetype ([SWS_DM_01832]). Integrity assurance is provided by hash ([SWS_DM_01839]) and hash_algorithm ([SWS_DM_01840]), while creation_date ([SWS_DM_01837]) and last_modified ([SWS_DM_01838]) define the temporal categorization (SWS Diagnostics §8.53.2.1 “Public Member Variables”).
Lifecycle
As a C++ structure, BulkDataMetaDataDescriptor features purely public attributes without proprietary business logic constructors ([SWS_DM_01830]). Interpretation: The structure is likely to be instantiated and populated primarily by the data-providing diagnostic application as a value object on the stack or heap, in order to subsequently be passed to the SOVD subsystem. Question Q-4a0434afda63d047 (open) The lifetime follows the regular rules for C++ objects; contained members of type ara::core::String as well as the optional size field ara::core::Optional<std::uint64_t> are deterministically released upon destruction of the instance ([SWS_DM_01835]).
The structure itself has no internal states or state transitions. In multithreading environments, concurrent reading of an instance is non-critical; however, write accesses to the public variables must be synchronized externally by the calling application, since no integrated protection mechanisms exist.
Usage Path
The typical call sequence for using the metadata descriptor within an SOVD bulk transfer is divided into the following steps:
Instantiation: The diagnostic application creates an instance of BulkDataMetaDataDescriptor ([SWS_DM_01830]).
Record check values and byte size: After payload generation, the checksum is entered in hash ([SWS_DM_01839]) and the algorithm in hash_algorithm ([SWS_DM_01840]). If the byte count is known in advance, size is populated ([SWS_DM_01835]); if the optional field remains empty, this presumably signals a file size that is still variable at the time of provision. Question Q-03f717e53701c9c0 (open)
Handoff to the SOVD subsystem: The initialized descriptor is passed to ara::diag so that external SOVD clients can retrieve the metadata.
Since BulkDataMetaDataDescriptor is a passive data structure, no error codes are returned directly by the structure. Errors manifest during subsequent processing by ara::diag or the client:
Checksum discrepancy: If the hash specified in hash ([SWS_DM_01839]) does not match the actual content or if hash_algorithm ([SWS_DM_01840]) is unknown, verification at the client fails.
Deviating byte size: If the optional field size ([SWS_DM_01835]) is set and differs from the number of bytes actually received, the receiver reports a transmission error.
Invalid media type: An erroneous or empty mimetype ([SWS_DM_01832]) leads to interpretation errors in the client tool.
Missing mandatory identification: If id ([SWS_DM_01831]) or file_name ([SWS_DM_01836]) are not populated, the data record cannot be uniquely addressed within the SOVD framework.
This guide is based on the AUTOSAR Adaptive Platform Release R25-11 specification and was generated automatically.
gemini-3.8-flash-low· 2026-10-13 · German original