DEENESPTFRRUARHIKOZHNL

구조체 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

사용자 가이드AI 생성

Diagnostic Management에서 SOVD 콘텐츠에 대한 읽기 및 쓰기 접근의 동시성 동작을 정의합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 21b2907a6642 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

Diagnostic Management에서 SOVD 콘텐츠에 대한 읽기 및 쓰기 접근의 동시성 동작을 정의합니다.

구조체 ara::diag::SovdContentConcurrencyType은(는) AUTOSAR Adaptive의 포트 관련 SOVD 콘텐츠에 대한 동시성 동작을 지정합니다 [SWS_DM_02182]. 이 구조체는 Diagnostic Management가 애플리케이션 포트에 대한 읽기 및 쓰기 작업을 병렬로 실행할 수 있는지, 아니면 직렬화해야 하는지를 3개의 속성을 통해 제어합니다. 기본적으로 모든 필드는 방어적으로 kNotConcurrent(으)로 초기화되므로 개발자는 readWrite의 경우처럼 동시성을 명시적으로 활성화해야 합니다 [SWS_DM_02185]. 스레드 안전한 처리를 보장하기 위해 진단 통신이 시작되기 전에 구성을 완료해야 합니다.

컨텍스트

데이터 구조체 ara::diag::SovdContentConcurrencyType은(는) 헤더 ara/diag/concurrency.h에 선언되어 있으며, Service-Oriented Vehicle Diagnostics(SOVD) 컨텍스트에서 포트의 동시성 동작을 지정하는 역할을 합니다 [SWS_DM_02182]. AUTOSAR Adaptive Platform 기반 아키텍처에서 Diagnostic Management(DM)는 수신되는 진단 요청을 처리하기 위한 중앙 인스턴스로 작동합니다 SWS Diagnostics 79쪽. 외부 진단 클라이언트가 SOVD를 통해 진단 콘텐츠에 대한 읽기 또는 쓰기 접근을 시작할 때, Diagnostic Management는 이를 제공하는 Adaptive Application 또는 해당 포트가 여러 요청을 동시적이고 스레드 안전하게 처리할 수 있는지 여부를 확인할 수 있어야 합니다.

이를 위해 SovdContentConcurrencyType은(는) 순수 읽기 접근, 순수 쓰기 접근, 그리고 읽기 및 쓰기 결합 접근을 위한 세 가지 구성 속성을 정의합니다 SWS Diagnostics §8.8.3 “Struct: SovdContentConcurrencyType”. 따라서 이 구조체는 애플리케이션 측 포트의 구현과 Diagnostic Management의 흐름 제어 사이에서 구성 인터페이스 역할을 합니다.

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

컨텍스트 다이어그램: Diagnostic Management, SovdContentConcurrencyType 및 Adaptive Application의 SOVD 포트 간 상호작용. 출처: [SWS_DM_02182], [SWS_DM_02185], SWS Diagnostics §8.8.3 “Struct: SovdContentConcurrencyType”

수명 주기

순수 데이터 전송 및 구성 구조체로서 SovdContentConcurrencyType은(는) 동적 리소스 관리나 복잡한 내부 상태 제어 없이 단순한 수명 주기를 갖습니다 [SWS_DM_02182].

인스턴스화는 일반적으로 Adaptive Application의 구성 및 초기화 단계 동안, 아마도 진단 통신이 시작되기 전에 스택 위에서 또는 상위 포트 관리 클래스의 구성 요소로서 수행됩니다. 질문 Q-f78487eff58a4775 (열림) 모든 멤버 변수는 객체 생성 시 기본적으로 방어적으로 초기화됩니다:

  • read은(는) 기본적으로 ConcurrencyType::kNotConcurrent(으)로 미리 설정됩니다 [SWS_DM_02183].
  • write은(는) 기본적으로 ConcurrencyType::kNotConcurrent(으)로 미리 설정됩니다 [SWS_DM_02184].
  • readWrite은(는) 기본적으로 ConcurrencyType::kNotConcurrent(으)로 미리 설정됩니다 [SWS_DM_02185].

동시성 및 스레딩과 관련하여 다음이 적용됩니다: 구조체 자체는 자체 동기화 메커니즘이 없는 수동적 구성 객체입니다. 따라서 구조체가 Diagnostic Management로 전달되거나 여러 스레드에 의해 읽히기 전에 필드 수정이 완료되어야 합니다. 포트에 등록된 후 구성은 해당 진단 포트의 전체 수명 주기 동안 변경되지 않은 상태로 유지됩니다(해석: 진단 통신 런타임 중 동적 수정은 사양에서 규정되어 있지 않습니다). 질문 Q-71f96ed7cd3a6f61 (열림) 구조체 인스턴스의 정리는 유효 범위가 종료된 후 추가적인 정리 작업 없이 정규 C++ 시맨틱에 따라 수행됩니다.

사용 경로

일반적인 사용 경로는 애플리케이션에 의한 포트 기능 정의, 런타임 시 제공, 그리고 Diagnostic Management에 의한 평가로 구성됩니다:

  1. 기능 구성: Adaptive Application은 SovdContentConcurrencyType 유형의 객체를 인스턴스화합니다. 포트 메서드의 구현이 스레드 안전하게 설계된 경우 해당 속성이 대상에 맞게 ConcurrencyType::kConcurrent(으)로 설정됩니다. readWrite을(를) kConcurrent(으)로 설정하면 읽기 및 쓰기 API를 동시에 호출할 수 있음을 Diagnostic Management에 명시적으로 알립니다 [SWS_DM_02185].
  2. 기본 동작 유지: 포트 구현이 재진입 가능하지 않거나 내부적으로 동기화되지 않은 경우, 개발자는 값을 kNotConcurrent(으)로 유지합니다 [SWS_DM_02183], [SWS_DM_02184]. 해석: 이 경우 Diagnostic Management는 데이터 충돌을 방지하기 위해 해당 포트에 대해 발생하는 요청이 순차적으로 실행되도록 보장합니다. 질문 (열림)
  3. DM에 의한 흐름 제어: 운영 중에 Diagnostic Management는 외부 SOVD 요청을 수신합니다. 저장된 구성을 바탕으로 DM은 Read 및 Write 루틴에 대한 병렬 메서드 호출을 포트로 전달할 수 있는지, 아니면 직렬화가 반드시 필요한지 여부를 확인합니다 SWS Diagnostics §8.8.3.1.2 “readWrite”.

이 가이드는 AUTOSAR 사양 R25-11을 기반으로 AI에 의해 생성되었습니다.

멤버 맵

클래스 다이어그램

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

G nara__diag__SovdContentConcurrencyType404 «struct» SovdContentConcurrencyType + 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_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#de5db616
Content hash
de5db616
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

변수 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#a7931b02
Content hash
a7931b02
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

변수 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#e1a1112a
Content hash
e1a1112a
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