Определяет поведение параллелизма для операций чтения и записи диагностического контента 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.
Являясь чистой структурой передачи данных и конфигурации, 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 явно сигнализирует Diagnostic Management о том, что API-методы чтения и записи могут вызываться одновременно [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».
Данное руководство было сгенерировано ИИ на основе спецификации AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал