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

Руководство пользователяСОЗДАНО ИИ

Определяет поведение параллелизма для операций чтения и записи диагностического контента SOVD в Diagnostic Management.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 21b2907a6642 Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Определяет поведение параллелизма для операций чтения и записи диагностического контента SOVD в Diagnostic Management.

Структура ara::diag::SovdContentConcurrencyType определяет поведение параллелизма для связанного с портом содержимого SOVD в AUTOSAR Adaptive [SWS_DM_02182]. С помощью трех атрибутов она управляет тем, разрешено ли Diagnostic Management параллельно выполнять операции чтения и записи на прикладном порту или же их необходимо сериализовать. По умолчанию все поля безопасно инициализированы значением 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 и SOVD-портом Adaptive Application. Источники: [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 явно сигнализирует Diagnostic Management о том, что API-методы чтения и записи могут вызываться одновременно [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.

Карта членов

Константы

3

Диаграмма классов

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#ee15708f
Content hash
ee15708f
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#ed9d9188
Content hash
ed9d9188
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#e8ea9979
Content hash
e8ea9979
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