DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Configura a concorrência permitida para acessos de leitura e escrita em portas para identificadores de dados.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ec523fe189be Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Configura a concorrência permitida para acessos de leitura e escrita em portas para identificadores de dados.

A estrutura ara::diag::DataIdentifierConcurrencyType especifica o comportamento de concorrência permitido para portas de diagnóstico associadas a identificadores de dados (Data Identifier) [SWS_DM_00936]. Através das variáveis-membro read, write e readWrite, a aplicação define em que medida o Diagnostic Management (DM) pode executar chamadas de leitura e escrita em paralelo. Como condição de contorno essencial, todos os campos são pré-inicializados defensivamente por padrão com ConcurrencyType::kNotConcurrent, de modo que uma execução concorrente só é liberada mediante definição explícita para kConcurrent [SWS_DM_00939].

Contexto

A estrutura C++ ara::diag::DataIdentifierConcurrencyType serve, na AUTOSAR Adaptive Platform, para a especificação do comportamento de concorrência em portas vinculadas a identificadores de dados de diagnóstico (Data Identifier, DID) [SWS_DM_00936]. Ela atua como tipo de dados de configuração padronizado, através do qual um software de aplicação declara as suas capacidades para processamento paralelo perante o sistema de tempo de execução de diagnóstico (AUTOSAR_AP_SWS_Diagnostics §8.8.2 «Struct: DataIdentifierConcurrencyType»). A estrutura faz parte das definições de interface para o módulo diag (AUTOSAR_AP_SWS_Diagnostics p. 79).

O principal parceiro de interação é o Diagnostic Management (DM). As requisições de diagnóstico recebidas são acolhidas pelo DM e encaminhadas para os métodos correspondentes da porta DataIdentifier. Com base nos valores depositados em DataIdentifierConcurrencyType, o DM decide se as operações de leitura e escrita podem ser chamadas de forma concorrente ou se devem ser serializadas sequencialmente [SWS_DM_00939].

Ciclo de vida

A estrutura é incluída através do arquivo de cabeçalho ara/diag/concurrency.h e instanciada como um objeto de dados C++ puro (struct) [SWS_DM_00936]. Na criação, todas as variáveis-membro contidas são inicializadas defensivamente com o valor padrão ConcurrencyType::kNotConcurrent [SWS_DM_00937]. Isso assegura que, sem liberação explícita pela aplicação, não ocorram chamadas paralelas pelo DM.

O ciclo de vida da configuração da estrutura está tipicamente vinculado à inicialização da respectiva porta DataIdentifier. A aplicação cria o objeto, define os graus de concorrência desejados e passa a configuração para a porta. Durante a operação de diagnóstico ativa subsequente, as configurações permanecem inalteradas, permitindo que o Diagnostic Management escalone chamadas de método de forma determinística (AUTOSAR_AP_SWS_Diagnostics §8.8.2.1 «Public Member Variables»).

A estrutura subdivide a concorrência em três campos de configuração ortogonais:

  • read: define o tipo de concorrência para acessos puramente de leitura (Reads) [SWS_DM_00937].
  • write: define o tipo de concorrência para acessos de escrita (Writes) [SWS_DM_00938].
  • readWrite: define o comportamento na chamada conjunta e paralela de métodos de leitura e escrita [SWS_DM_00939].

Caminho de utilização

Um caminho de uso regular começa na disponibilização de um serviço de diagnóstico por uma aplicação adaptativa. Se a implementação interna da porta for thread-safe, a aplicação pode liberar a execução paralela de acessos de leitura e escrita. Para isso, cria-se uma instância de DataIdentifierConcurrencyType e define-se o campo readWrite como ConcurrencyType::kConcurrent [SWS_DM_00939]. Do mesmo modo, read e write podem ser configurados conforme a necessidade [SWS_DM_00937], [SWS_DM_00938].

Assim que a porta DataIdentifier estiver registada no DM, o DM recebe comandos de diagnóstico externos e encaminha-os (AUTOSAR_AP_SWS_Diagnostics p. 1115). Com kConcurrent definido, o DM pode executar chamadas de leitura e escrita recebidas em simultâneo, otimizando o débito e a latência [SWS_DM_00939]. Se a configuração permanecer no valor predefinido kNotConcurrent, o DM serializa as chamadas.

Sequência do controle de concorrência em operações de DataIdentifierAplicaçãoDataIdentifierPortDiagnosticManagementInicializar porta com DataIdentifierConcurrencyType(readWrite = kConcurrent)Use Case: Execução concorrente em operação normalParallel: Read-AnforderungParallel: Write-AnforderungDM executa operações de leitura e escrita simultaneamenteRetornar resultado de diagnóstico

Diagrama de sequência: fluxo típico de configuração e controlo de chamadas simultâneas pelo Diagnostic Management (DM). Fontes: [SWS_DM_00936], [SWS_DM_00939].

Este guia resume a especificação de ara::diag::DataIdentifierConcurrencyType no AUTOSAR Adaptive R25-11.

Mapa de membros

Diagrama de classes

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

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

Vista de detalhes

Selecione uma entrada no índice.

Constantes

read variável

Concurrency type for Reads.

ConcurrencyType read {ConcurrencyType::kNotConcurrent};
readWrite variável

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 variável

Concurrency type for Writes.

ConcurrencyType write {ConcurrencyType::kNotConcurrent};

Documentação das constantes / variáveis

variável 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#c82080da
Content hash
c82080da
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

variável 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#ac855bab
Content hash
ac855bab
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

variável 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#20d37424
Content hash
20d37424
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