DEENESPTFRRUARHIKOZHNL

struct ara::diag::SovdContentConcurrencyType

[SWS_DM_02182] Upstream: RS_Diag_04166

struct SovdContentConcurrencyType {...};

Specifies the Concurrency type of a SOVD Content related port.

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

User GuideKI-GENERIERT

Definiert das Nebenläufigkeitsverhalten für Lese- und Schreibzugriffe auf SOVD-Inhalte im Diagnostic Management.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 21b2907a6642 Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Definiert das Nebenläufigkeitsverhalten für Lese- und Schreibzugriffe auf SOVD-Inhalte im Diagnostic Management.

Das Struct ara::diag::SovdContentConcurrencyType spezifiziert das Nebenläufigkeitsverhalten für portbezogene SOVD-Inhalte in AUTOSAR Adaptive [SWS_DM_02182]. Es steuert über drei Attribute, ob das Diagnostic Management Lese- und Schreiboperationen auf den Anwendungs-Port parallel ausführen darf oder serialisieren muss. Standardmäßig sind alle Felder defensiv auf kNotConcurrent initialisiert, sodass Entwickler Nebenläufigkeit wie bei readWrite explizit freigeben müssen [SWS_DM_02185]. Die Konfiguration sollte vor Beginn der Diagnosekommunikation abgeschlossen sein, um eine threadsichere Abarbeitung zu gewährleisten.

Kontext

Die Datenstruktur ara::diag::SovdContentConcurrencyType ist im Header ara/diag/concurrency.h deklariert und dient der Spezifikation des Nebenläufigkeitsverhaltens für Ports im Kontext von Service-Oriented Vehicle Diagnostics (SOVD) [SWS_DM_02182]. In Architekturen auf Basis der AUTOSAR Adaptive Platform fungiert das Diagnostic Management (DM) als zentrale Instanz für die Abwicklung eingehender Diagnoseanfragen SWS Diagnostics S. 79. Wenn externe Diagnose-Clients Lese- oder Schreibzugriffe auf Diagnoseinhalte über SOVD initiieren, muss das Diagnostic Management ermitteln können, ob die bereitstellende Adaptive Application beziehungsweise der zugehörige Port fähig ist, mehrere Anfragen nebenläufig und threadsicher zu verarbeiten.

Hierzu definiert SovdContentConcurrencyType drei Konfigurationsattribute für reine Lesezugriffe, reine Schreibzugriffe sowie kombinierte Lese- und Schreibzugriffe SWS Diagnostics §8.8.3 „Struct: SovdContentConcurrencyType“. Die Struktur fungiert somit als Konfigurationsschnittstelle zwischen der Implementierung des anwendungsseitigen Ports und der Ablaufsteuerung des Diagnostic Managements.

SovdConcurrencyKontext DM Diagnostic Management (DM) AppPort SOVD Content Port (Adaptive Application) DM->AppPort koordiniert Read/Write-Aufrufe PortConfig SovdContentConcurrencyType PortConfig->DM definiert Ausfuehrungsmodus AppPort->PortConfig konfiguriert

Kontextdiagramm: Zusammenspiel zwischen Diagnostic Management, SovdContentConcurrencyType und dem SOVD-Port der Adaptive Application. Quellen: [SWS_DM_02182], [SWS_DM_02185], SWS Diagnostics §8.8.3 „Struct: SovdContentConcurrencyType“

Lebenszyklus

Als reines Datenübertragungs- und Konfigurations-Struct besitzt SovdContentConcurrencyType einen einfachen Lebenszyklus ohne dynamische Ressourcenverwaltung oder komplexe interne Zustandskontrollen [SWS_DM_02182].

Die Instanziierung erfolgt typischerweise während der Konfigurations- und Initialisierungsphase der Adaptive Application, vermutlich auf dem Stack oder als Bestandteil einer übergeordneten Port-Verwaltungsklasse vor Beginn der Diagnosekommunikation. Frage Q-f78487eff58a4775 (offen) Alle Member-Variablen werden bei der Objekterzeugung standardmäßig defensiv initialisiert:

  • read wird standardmäßig mit ConcurrencyType::kNotConcurrent vorbelegt [SWS_DM_02183].
  • write wird standardmäßig mit ConcurrencyType::kNotConcurrent vorbelegt [SWS_DM_02184].
  • readWrite wird standardmäßig mit ConcurrencyType::kNotConcurrent vorbelegt [SWS_DM_02185].

Hinsichtlich Nebenläufigkeit und Threading gilt: Das Struct selbst ist ein passives Konfigurationsobjekt ohne eigene Synchronisationsmechanismen. Modifikationen an den Feldern sollten daher abgeschlossen sein, bevor die Struktur an das Diagnostic Management übergeben oder von mehreren Threads gelesen wird. Nach der Registrierung am Port verbleibt die Konfiguration über die gesamte Lebensdauer des betreffenden Diagnose-Ports unverändert (Interpretation: Eine dynamische Modifikation zur Laufzeit der Diagnosekommunikation ist von der Spezifikation nicht vorgesehen). Frage Q-71f96ed7cd3a6f61 (offen) Das Bereinigen der Strukturinstanz erfolgt nach dem Ende ihres Gültigkeitsbereichs gemäß regulärer C++-Semantik ohne zusätzlichen Bereinigungsbedarf.

Nutzungspfad

Der typische Nutzungspfad umfasst die Definition der Port-Fähigkeiten durch die Anwendung, die Bereitstellung zur Laufzeit und die Auswertung durch das Diagnostic Management:

  1. Konfiguration der Fähigkeiten: Die Adaptive Application instanziiert ein Objekt vom Typ SovdContentConcurrencyType. Falls die Implementierung der Port-Methoden threadsicher ausgelegt ist, werden die entsprechenden Attribute gezielt auf ConcurrencyType::kConcurrent gesetzt. Das Setzen von readWrite auf kConcurrent signalisiert dem Diagnostic Management explizit, dass Lese- und Schreib-APIs gleichzeitig aufgerufen werden dürfen [SWS_DM_02185].
  2. Standardverhalten wahren: Sofern eine Port-Implementierung nicht reentrant oder intern synchronisiert ist, belässt der Entwickler die Werte auf kNotConcurrent [SWS_DM_02183], [SWS_DM_02184]. Interpretation: Das Diagnostic Management stellt in diesem Fall sicher, dass anfallende Anfragen für diesen Port sequenziell ausgeführt werden, um Datenkonflikte zu verhindern. Frage (offen)
  3. Ablaufsteuerung durch das DM: Während des Betriebs empfängt das Diagnostic Management externe SOVD-Anfragen. Anhand der hinterlegten Konfiguration ermittelt das DM, ob parallele Methodenaufrufe für Read- und Write-Routinen an den Port weitergeleitet werden können oder ob eine Serialisierung zwingend erforderlich ist SWS Diagnostics §8.8.3.1.2 „readWrite“.

Dieser Leitfaden wurde durch eine KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__SovdContentConcurrencyType404 «struct» SovdContentConcurrencyType + 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_02183] Upstream: RS_Diag_04166

ConcurrencyType read {ConcurrencyType::kNotConcurrent};

Concurrency type for Reads.

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

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

Record
AUTOSAR/AP/record/SWS_DM_02183
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02183@rel:R25-11#db4180c6
Content hash
db4180c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02183
Status: valid/unmigrated Version: rel:R25-11#db4180c6 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_02183@rel:R25-11#db4180c6
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

variable readWrite [SWS_DM_02185] 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::SovdContentConcurrencyType
SymbolreadWrite
TypConcurrencyType

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

Record
AUTOSAR/AP/record/SWS_DM_02185
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02185@rel:R25-11#c04ffb49
Content hash
c04ffb49
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02185
Status: valid/unmigrated Version: rel:R25-11#c04ffb49 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_02185@rel:R25-11#c04ffb49
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

variable write [SWS_DM_02184] Upstream: RS_Diag_04166

ConcurrencyType write {ConcurrencyType::kNotConcurrent};

Concurrency type for Writes.

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

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

Record
AUTOSAR/AP/record/SWS_DM_02184
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02184@rel:R25-11#30544b76
Content hash
30544b76
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02184
Status: valid/unmigrated Version: rel:R25-11#30544b76 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_02184@rel:R25-11#30544b76
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