Konfiguriert die zulässige Nebenläufigkeit für Lese- und Schreibzugriffe an Ports für Datenidentifikatoren.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ec523fe189beHerkunftOffene 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.
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.
gemini-3.8-flash-medium· 2026-10-13