DEENESPTFRRUARHIKOZHNL

struct ara::diag::DataIdentifierConcurrencyType

[SWS_DM_00936] Upstream: RS_Diag_04166

struct DataIdentifierConcurrencyType {...};

Specifies the Concurrency type of a DataIdentifier related port.

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

User GuideAI-GENERATED

Configures the permissible concurrency for read and write accesses at ports for data identifiers.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ec523fe189be Provenance Open questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Configures the permissible concurrency for read and write accesses at ports for data identifiers.

The structure ara::diag::DataIdentifierConcurrencyType specifies the permissible concurrency behavior for diagnostic ports linked to data identifiers (Data Identifier) [SWS_DM_00936]. Via the member variables read, write, and readWrite, the application defines the extent to which Diagnostic Management (DM) may execute read and write calls in parallel. As an essential boundary condition, all fields are defensively pre-initialized to ConcurrencyType::kNotConcurrent by default, meaning concurrent execution is only permitted by explicitly setting them to kConcurrent [SWS_DM_00939].

Context

The C++ structure ara::diag::DataIdentifierConcurrencyType is used in the AUTOSAR Adaptive Platform to specify the concurrency behavior at ports linked to diagnostic data identifiers (Data Identifier, DID) [SWS_DM_00936]. It acts as a standardized configuration data type via which application software declares its capabilities for parallel processing to the diagnostic runtime system (AUTOSAR_AP_SWS_Diagnostics §8.8.2 “Struct: DataIdentifierConcurrencyType”). The structure is part of the interface definitions for the module diag (AUTOSAR_AP_SWS_Diagnostics p. 79).

The primary interaction partner is Diagnostic Management (DM). Incoming diagnostic requests are received by the DM and forwarded to the corresponding methods of the DataIdentifier port. Based on the values stored in DataIdentifierConcurrencyType, the DM decides whether read and write operations may be called concurrently or must be serialized sequentially [SWS_DM_00939].

Lifecycle

The structure is included via the header file ara/diag/concurrency.h and instantiated as a pure C++ data object (struct) [SWS_DM_00936]. Upon creation, all contained member variables are defensively initialized with the default value ConcurrencyType::kNotConcurrent [SWS_DM_00937]. This ensures that no parallel calls by the DM take place without explicit release by the application.

The lifecycle of the structure configuration is typically bound to the initialization of the associated DataIdentifier port. The application creates the object, sets the desired degrees of concurrency, and hands the configuration over to the port. During subsequent active diagnostic operation, the settings remain unchanged, allowing Diagnostic Management to schedule method calls deterministically (AUTOSAR_AP_SWS_Diagnostics §8.8.2.1 “Public Member Variables”).

The structure divides concurrency into three orthogonal configuration fields:

  • read: Defines the concurrency type for read-only accesses (reads) [SWS_DM_00937].
  • write: Defines the concurrency type for write accesses (writes) [SWS_DM_00938].
  • readWrite: Defines the behavior during the joint, parallel invocation of read and write methods [SWS_DM_00939].

Usage Path

A regular usage path begins with the provision of a diagnostic service by an adaptive application. If the internal implementation of the port is thread-safe, the application can enable parallel execution of read and write accesses. For this purpose, an instance of DataIdentifierConcurrencyType is created and the field readWrite is set to ConcurrencyType::kConcurrent [SWS_DM_00939]. Likewise, read and write can be configured as needed [SWS_DM_00937], [SWS_DM_00938].

As soon as the DataIdentifier port is registered with the DM, the DM receives external diagnostic commands and forwards them (AUTOSAR_AP_SWS_Diagnostics p. 1115). When kConcurrent is set, the DM is allowed to execute incoming read and write calls simultaneously, optimizing throughput and latency [SWS_DM_00939]. If the configuration remains at the default value kNotConcurrent, the DM serializes the calls.

Sequence of concurrency control for DataIdentifier operationsApplicationDataIdentifierPortDiagnosticManagementInitialize port with DataIdentifierConcurrencyType(readWrite = kConcurrent)Use Case: Concurrent execution during ongoing operationParallel: Read-AnforderungParallel: Write-AnforderungDM executes read and write operations concurrentlyReturn diagnostic result

Sequence diagram: Typical flow of configuration and concurrent call dispatching by Diagnostic Management (DM). Sources: [SWS_DM_00936], [SWS_DM_00939].

This guide summarizes the specification of ara::diag::DataIdentifierConcurrencyType in AUTOSAR Adaptive R25-11.

Member map

Class diagram

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

G nara__diag__DataIdentifierConcurrencyType801 «struct» DataIdentifierConcurrencyType + read + readWrite + write

Detail view

Select an entry in the outline.

Constants

read variable

Concurrency type for Reads.

ConcurrencyType read {ConcurrencyType::kNotConcurrent};
readWrite variable

Concurrency type for calling Read and Write methods in a concurrent way. If set to kConcurrent the DM can call Read and Write APIs concurrently.

ConcurrencyType readWrite {ConcurrencyType::kNotConcurrent};
write variable

Concurrency type for Writes.

ConcurrencyType write {ConcurrencyType::kNotConcurrent};

Documentation of constants / variables

variable read [SWS_DM_00937] Upstream: RS_Diag_04166

ConcurrencyType read {ConcurrencyType::kNotConcurrent};

Concurrency type for Reads.

Header-Datei#include "ara/diag/concurrency.h"
Scopestruct ara::diag::DataIdentifierConcurrencyType
Symbolread
TypConcurrencyType

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

Record
AUTOSAR/AP/record/SWS_DM_00937
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00937@rel:R25-11#3c1c4dec
Content hash
3c1c4dec
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00937
Status: valid/unmigrated Version: rel:R25-11#6141acdc 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_00937@rel:R25-11#6141acdc
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3c1c4dec2026-09-30
  • R20-11rel:R20-11#9009bca82026-10-14
  • R21-11rel:R21-11#ec706c302026-10-14
  • R22-11rel:R22-11#0ca959552026-10-14
  • R23-11rel:R23-11#118b9bf82026-10-14
  • R24-11rel:R24-11#f88189a32026-10-14
  • R25-11rel:R25-11#6141acdc2026-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

variable readWrite [SWS_DM_00939] Upstream: RS_Diag_04166

ConcurrencyType readWrite {ConcurrencyType::kNotConcurrent};

Concurrency type for calling Read and Write methods in a concurrent way. If set to kConcurrent the DM can call Read and Write APIs concurrently.

Header-Datei#include "ara/diag/concurrency.h"
Scopestruct ara::diag::DataIdentifierConcurrencyType
SymbolreadWrite
TypConcurrencyType

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

Record
AUTOSAR/AP/record/SWS_DM_00939
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00939@rel:R25-11#43af5290
Content hash
43af5290
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00939
Status: valid/unmigrated Version: rel:R25-11#80d4f512 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_00939@rel:R25-11#80d4f512
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#43af52902026-09-30
  • R20-11rel:R20-11#69af7aee2026-10-14
  • R21-11rel:R21-11#69af7aee2026-10-14
  • R22-11rel:R22-11#fd1bb1452026-10-14
  • R23-11rel:R23-11#a12ac9ea2026-10-14
  • R24-11rel:R24-11#a3dd99472026-10-14
  • R25-11rel:R25-11#80d4f5122026-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

variable write [SWS_DM_00938] Upstream: RS_Diag_04166

ConcurrencyType write {ConcurrencyType::kNotConcurrent};

Concurrency type for Writes.

Header-Datei#include "ara/diag/concurrency.h"
Scopestruct ara::diag::DataIdentifierConcurrencyType
Symbolwrite
TypConcurrencyType

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

Record
AUTOSAR/AP/record/SWS_DM_00938
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00938@rel:R25-11#ea030770
Content hash
ea030770
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00938
Status: valid/unmigrated Version: rel:R25-11#86878457 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_00938@rel:R25-11#86878457
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ea0307702026-09-30
  • R20-11rel:R20-11#8ad3ad6d2026-10-14
  • R21-11rel:R21-11#b2fe6f282026-10-14
  • R22-11rel:R22-11#9c2e39fa2026-10-14
  • R23-11rel:R23-11#57d6f6de2026-10-14
  • R24-11rel:R24-11#345bb9642026-10-14
  • R25-11rel:R25-11#868784572026-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