DEENESPTFRRUARHIKOZHNL

structure 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

Guide utilisateurGÉNÉRÉ PAR IA

Configure la concurrence admissible pour les accès en lecture et en écriture sur les ports pour identifiants de données.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ec523fe189be Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Configure la concurrence admissible pour les accès en lecture et en écriture sur les ports pour identifiants de données.

La structure ara::diag::DataIdentifierConcurrencyType spécifie le comportement de concurrence admissible pour les ports de diagnostic associés à des identifiants de données (Data Identifier) [SWS_DM_00936]. Via les variables membres read, write et readWrite, l'application définit dans quelle mesure le Diagnostic Management (DM) est autorisé à exécuter en parallèle des appels de lecture et d'écriture. Comme contrainte essentielle, l'ensemble des champs est préinitialisé par défaut de manière défensive avec ConcurrencyType::kNotConcurrent, ce qui fait qu'une exécution concurrente n'est autorisée que par une définition explicite sur kConcurrent [SWS_DM_00939].

Contexte

La structure C++ ara::diag::DataIdentifierConcurrencyType sert, dans l'AUTOSAR Adaptive Platform, à spécifier le comportement de concurrence sur les ports associés à des identifiants de données de diagnostic (Data Identifier, DID) [SWS_DM_00936]. Elle fait office de type de données de configuration standardisé par lequel un logiciel applicatif déclare ses capacités de traitement parallèle auprès du système d'exécution de diagnostic (AUTOSAR_AP_SWS_Diagnostics §8.8.2 « Struct: DataIdentifierConcurrencyType »). La structure fait partie des définitions d'interfaces pour le module diag (AUTOSAR_AP_SWS_Diagnostics p. 79).

Le partenaire d'interaction essentiel est le Diagnostic Management (DM). Les requêtes de diagnostic entrantes sont réceptionnées par le DM et transmises aux méthodes correspondantes du port DataIdentifier. En se basant sur les valeurs enregistrées dans DataIdentifierConcurrencyType, le DM décide si les opérations de lecture et d'écriture peuvent être appelées de manière concurrente ou si elles doivent être sérialisées séquentiellement [SWS_DM_00939].

Cycle de vie

La structure est intégrée via le fichier d'en-tête ara/diag/concurrency.h et instanciée sous la forme d'un objet de données C++ pur (struct) [SWS_DM_00936]. Lors de la création, toutes les variables membres contenues sont initialisées de manière défensive avec la valeur par défaut ConcurrencyType::kNotConcurrent [SWS_DM_00937]. Cela garantit qu'aucun appel parallèle n'est effectué par le DM sans autorisation explicite de la part de l'application.

Le cycle de vie de la configuration de la structure est généralement lié à l'initialisation du port DataIdentifier correspondant. L'application crée l'objet, définit les degrés de concurrence souhaités et transmet la configuration au port. Pendant l'exploitation active ultérieure du diagnostic, les paramètres restent inchangés, de sorte que le Diagnostic Management peut ordonnancer les appels de méthodes de manière déterministe (AUTOSAR_AP_SWS_Diagnostics §8.8.2.1 « Public Member Variables »).

La structure divise la concurrence en trois champs de configuration orthogonaux :

  • read : définit le type de concurrence pour les accès en lecture seule (Reads) [SWS_DM_00937].
  • write : définit le type de concurrence pour les accès en écriture (Writes) [SWS_DM_00938].
  • readWrite : définit le comportement lors de l'appel conjoint et parallèle de méthodes de lecture et d'écriture [SWS_DM_00939].

Parcours d'utilisation

Un chemin d'utilisation nominal commence par la fourniture d'un service de diagnostic par une application adaptative. Si l'implémentation interne du port est thread-safe, l'application peut autoriser l'exécution parallèle des accès en lecture et en écriture. Pour cela, une instance de DataIdentifierConcurrencyType est créée et le champ readWrite est défini sur ConcurrencyType::kConcurrent [SWS_DM_00939]. De même, read et write peuvent être configurés selon les besoins [SWS_DM_00937], [SWS_DM_00938].

Dès que le port DataIdentifier est enregistré auprès du DM, le DM reçoit les commandes de diagnostic externes et les transmet (AUTOSAR_AP_SWS_Diagnostics p. 1115). Lorsque kConcurrent est défini, le DM est autorisé à exécuter simultanément les appels de lecture et d'écriture entrants, ce qui optimise le débit et la latence [SWS_DM_00939]. Si la configuration reste à la valeur par défaut kNotConcurrent, le DM sérialise les appels.

Déroulement du contrôle de concurrence lors d'opérations de DataIdentifierApplicationDataIdentifierPortDiagnosticManagementInitialiser le port avec DataIdentifierConcurrencyType(readWrite = kConcurrent)Use Case: Exécution concurrente en cours de fonctionnementParallel: Read-AnforderungParallel: Write-AnforderungLe DM exécute simultanément des opérations de lecture et d'écritureRenvoyer le résultat de diagnostic

Diagramme de séquence : déroulement typique de la configuration et du contrôle concurrent des appels par le Diagnostic Management (DM). Sources : [SWS_DM_00936], [SWS_DM_00939].

Ce guide résume la spécification d'ara::diag::DataIdentifierConcurrencyType dans AUTOSAR Adaptive R25-11.

Carte des membres

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constantes

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 des constantes / 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