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