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 GuideKI-GENERIERT

Konfiguriert die zulässige Nebenläufigkeit für Lese- und Schreibzugriffe an Ports für Datenidentifikatoren.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ec523fe189be Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Konfiguriert die zulässige Nebenläufigkeit für Lese- und Schreibzugriffe an Ports für Datenidentifikatoren.

Die Struktur ara::diag::DataIdentifierConcurrencyType spezifiziert das zulässige Nebenläufigkeitsverhalten für Diagnose-Ports, die mit Datenidentifikatoren (Data Identifier) verknüpft sind [SWS_DM_00936]. Über die Member-Variablen read, write und readWrite definiert die Anwendung, inwieweit das Diagnostic Management (DM) Lese- und Schreibaufrufe parallel ausführen darf. Als wesentliche Randbedingung sind sämtliche Felder standardmäßig defensiv mit ConcurrencyType::kNotConcurrent vorinitialisiert, wodurch eine nebenläufige Ausführung erst durch explizites Setzen auf kConcurrent freigegeben wird [SWS_DM_00939].

Kontext

Die C++-Struktur ara::diag::DataIdentifierConcurrencyType dient in der AUTOSAR Adaptive Platform zur Spezifikation des Nebenläufigkeitsverhaltens an Ports, die mit Diagnose-Datenidentifikatoren (Data Identifier, DID) verknüpft sind [SWS_DM_00936]. Sie fungiert als standardisierter Konfigurationsdatentyp, über den eine Anwendungssoftware ihre Fähigkeiten zur parallelen Verarbeitung gegenüber dem diagnostischen Laufzeitsystem deklariert (AUTOSAR_AP_SWS_Diagnostics §8.8.2 „Struct: DataIdentifierConcurrencyType“). Die Struktur ist Teil der Schnittstellendefinitionen für das Modul diag (AUTOSAR_AP_SWS_Diagnostics S. 79).

Der wesentliche Interaktionspartner ist das Diagnostic Management (DM). Eintreffende Diagnoseanfragen werden vom DM entgegengenommen und an die entsprechenden Methoden des DataIdentifier-Ports weitergeleitet. Anhand der in DataIdentifierConcurrencyType hinterlegten Werte entscheidet das DM, ob Lese- und Schreiboperationen nebenläufig aufgerufen werden dürfen oder sequenziell serialisiert werden müssen [SWS_DM_00939].

Lebenszyklus

Die Struktur wird über die Header-Datei ara/diag/concurrency.h eingebunden und als reines C++-Datenobjekt (struct) instanziiert [SWS_DM_00936]. Bei der Erzeugung werden alle enthaltenen Member-Variablen defensiv mit dem Standardwert ConcurrencyType::kNotConcurrent initialisiert [SWS_DM_00937]. Dies stellt sicher, dass ohne explizite Freigabe durch die Anwendung keine parallelen Aufrufe durch das DM stattfinden.

Der Lebenszyklus der Strukturkonfiguration ist typischerweise an die Initialisierung des zugehörigen DataIdentifier-Ports gebunden. Die Anwendung erzeugt das Objekt, setzt die gewünschten Nebenläufigkeitsgrade und übergibt die Konfiguration dem Port. Während des anschließenden aktiven Diagnosebetriebs bleiben die Einstellungen unverändert, sodass das Diagnostic Management Methodenaufrufe deterministisch disponieren kann (AUTOSAR_AP_SWS_Diagnostics §8.8.2.1 „Public Member Variables“).

Die Struktur unterteilt die Nebenläufigkeit in drei orthogonale Konfigurationsfelder:

  • read: Definiert den Nebenläufigkeitstyp für reine Lesezugriffe (Reads) [SWS_DM_00937].
  • write: Definiert den Nebenläufigkeitstyp für Schreibzugriffe (Writes) [SWS_DM_00938].
  • readWrite: Definiert das Verhalten beim gemeinsamen, parallelen Aufruf von Lese- und Schreibmethoden [SWS_DM_00939].

Nutzungspfad

Ein regulärer Nutzungspfad beginnt bei der Bereitstellung eines Diagnose-Dienstes durch eine adaptive Anwendung. Wenn die interne Implementierung des Ports threadsicher ist, kann die Anwendung die parallele Ausführung von Lese- und Schreibzugriffen freigeben. Hierzu wird eine Instanz von DataIdentifierConcurrencyType erzeugt und das Feld readWrite auf ConcurrencyType::kConcurrent gesetzt [SWS_DM_00939]. Ebenso können read und write bedarfsgerecht konfiguriert werden [SWS_DM_00937], [SWS_DM_00938].

Sobald der DataIdentifier-Port beim DM registriert ist, empfängt das DM externe Diagnosebefehle und leitet diese weiter (AUTOSAR_AP_SWS_Diagnostics S. 1115). Bei gesetztem kConcurrent darf das DM eingehende Lese- und Schreibaufrufe gleichzeitig ausführen, wodurch Durchsatz und Latenz optimiert werden [SWS_DM_00939]. Verbleibt die Konfiguration beim Vorgabewert kNotConcurrent, serialisiert das DM die Aufrufe.

Ablauf der Nebenläufigkeitssteuerung bei DataIdentifier-OperationenAnwendungDataIdentifierPortDiagnosticManagementPort initialisieren mit DataIdentifierConcurrencyType(readWrite = kConcurrent)Use Case: Nebenläufige Ausführung im laufenden BetriebParallel: Read-AnforderungParallel: Write-AnforderungDM führt Lese- und Schreiboperationen gleichzeitig ausDiagnoseergebnis zurückliefern

Sequenzdiagramm: Typischer Ablauf der Konfiguration und nebenläufigen Aufrufsteuerung durch das Diagnostic Management (DM). Quellen: [SWS_DM_00936], [SWS_DM_00939].

Dieser Leitfaden fasst die Spezifikation von ara::diag::DataIdentifierConcurrencyType in AUTOSAR Adaptive R25-11 zusammen.

Mitgliederkarte

Klassendiagramm

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

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstanten

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};

Dokumentation der Konstanten / Variablen

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