DEENESPTFRRUARHIKOZHNL

结构体 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

用户指南人工智能生成

为数据标识符端口配置读写访问所允许的并发性。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: ec523fe189be 来源 未决问题(3)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

为数据标识符端口配置读写访问所允许的并发性。

结构 ara::diag::DataIdentifierConcurrencyType 指定与数据标识符(Data Identifier)关联的诊断端口所允许的并发行为 [SWS_DM_00936]。应用程序通过成员变量 read、write 和 readWrite 定义 Diagnostic Management(DM)可以在何种程度上并行执行读取和写入调用。作为一项基本边界条件,所有字段默认以 ConcurrencyType::kNotConcurrent 进行防御性预初始化,从而只有在显式设置为 kConcurrent 时才会放行并发执行 [SWS_DM_00939]。

上下文

C++ 结构 ara::diag::DataIdentifierConcurrencyType 在 AUTOSAR Adaptive Platform 中用于指定与诊断数据标识符(Data Identifier,DID)关联的端口上的并发行为 [SWS_DM_00936]。它用作标准化的配置数据类型,应用软件通过该类型向诊断运行时系统声明其并行处理能力(AUTOSAR_AP_SWS_Diagnostics §8.8.2 “Struct: DataIdentifierConcurrencyType”)。该结构是模块 diag 接口定义的一部分(AUTOSAR_AP_SWS_Diagnostics 第79页)。

核心交互伙伴是 Diagnostic Management(DM)。传入的诊断请求由 DM 接收并转发给 DataIdentifier 端口的相应方法。根据 DataIdentifierConcurrencyType 中存放的值,DM 决定读取和写入操作是可以并发调用还是必须按顺序串行化 [SWS_DM_00939]。

生命周期

该结构通过头文件 ara/diag/concurrency.h 包含,并实例化为纯 C++ 数据对象(struct)[SWS_DM_00936]。在创建时,所有包含的成员变量均防御性地初始化为默认值 ConcurrencyType::kNotConcurrent [SWS_DM_00937]。这确保了在未经应用程序显式允许的情况下,DM 不会执行并行调用。

结构配置的生命周期通常绑定到关联 DataIdentifier 端口的初始化。应用程序创建对象,设置所需的并发度并将配置传递给端口。在随后的活动诊断运行期间,这些设置保持不变,以便 Diagnostic Management 可以确定性地调度方法调用(AUTOSAR_AP_SWS_Diagnostics §8.8.2.1 “Public Member Variables”)。

该结构将并发性划分为三个正交的配置字段:

  • read:定义仅读取访问(Reads)的并发类型 [SWS_DM_00937]。
  • write:定义写入访问(Writes)的并发类型 [SWS_DM_00938]。
  • readWrite:定义共同、并行调用读取和写入方法时的行为 [SWS_DM_00939]。

使用路径

常规使用路径始于自适应应用程序提供诊断服务。如果端口的内部实现是线程安全的,则应用程序可以放行读取和写入访问的并行执行。为此,将创建 DataIdentifierConcurrencyType 的实例并将字段 readWrite 设置为 ConcurrencyType::kConcurrent [SWS_DM_00939]。同样,可以根据需要配置 read 和 write [SWS_DM_00937]、[SWS_DM_00938]。

一旦 DataIdentifier 端口在 DM 中注册,DM 就会接收外部诊断命令并对其进行转发(AUTOSAR_AP_SWS_Diagnostics 第1115页)。在设置了 kConcurrent 的情况下,DM 可以同时执行传入的读取和写入调用,从而优化吞吐量和延迟 [SWS_DM_00939]。如果配置保持默认值 kNotConcurrent,则 DM 将串行化调用。

DataIdentifier 操作中的并发控制流程应用DataIdentifierPortDiagnosticManagement使用 DataIdentifierConcurrencyType 初始化端口(readWrite = kConcurrent)Use Case: 运行中的并发执行Parallel: Read-AnforderungParallel: Write-AnforderungDM 同时执行读取和写入操作返回诊断结果

时序图:Diagnostic Management(DM)进行配置和并发调用控制的典型流程。来源:[SWS_DM_00936]、[SWS_DM_00939]。

本指南总结了 AUTOSAR Adaptive R25-11 中 ara::diag::DataIdentifierConcurrencyType 的规范。

成员图

类图

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

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

详细视图

请在大纲中选择一个条目。

常量

read 变量

Concurrency type for Reads.

ConcurrencyType read {ConcurrencyType::kNotConcurrent};
readWrite 变量

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 变量

Concurrency type for Writes.

ConcurrencyType write {ConcurrencyType::kNotConcurrent};

常量 / 变量文档

变量 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#d596aded
Content hash
d596aded
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

变量 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#fc60730b
Content hash
fc60730b
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

变量 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#46f7ad17
Content hash
46f7ad17
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