DEENESPTFRRUARHIKOZHNL

пространство имён <DataElement-Namespace>

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

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

Определяет интерфейс для типобезопасного подключения диагностических элементов данных приложения к системе диагностики.

Пространство имен <DataElement-Namespace> объединяет в модуле AUTOSAR Adaptive diag для релиза R25-11 сгенерированные интерфейсы для структурированного подключения прикладных диагностических элементов данных к центральной системе диагностики. Через интерфейсный класс <DataElementInterface> адаптивное приложение реализует конкретные операции чтения и записи, выполняемые диагностическим стеком при входящих диагностических запросах. Что касается жизненного цикла, создание и регистрация экземпляра интерфейса возлагаются на приложение, при этом, интерпретация: экземпляр должен оставаться действительным на протяжении всего периода работы и обеспечивать потокобезопасность для параллельных вызовов.

Контекст

В рамках AUTOSAR Adaptive Platform для релиза R25-11 функциональный кластер diag (Diagnostic Management) предоставляет стандартизированные механизмы для предоставления служб диагностики автомобиля по протоколу UDS и их связывания с внутриавтомобильными функциями. Пространство имен <DataElement-Namespace> образует при этом логическую основу для интерфейсов сбора и модификации диагностических элементов данных. Идентификатор <DataElement-Namespace>, вероятно, выступает в качестве обобщенного плейсхолдера для моделезависимого пространства имен C++, инстанциируемого в процессе генерации кода из формальных описаний моделей ARXML для конкретного диагностического элемента данных. Вопрос Q-2a710983ba4634ab (открытый)

Центральным элементом внутри этого пространства имен является класс <DataElementInterface>, типизированный как DiagnosticDataElementInterface. Этот интерфейс формирует формальный контракт между адаптивным диагностическим стеком и компонентом программного обеспечения приложения. Объявленный интерфейсный класс <DataElementInterface> служит для подключения приложения, предположительно для типобезопасного делегирования адаптивному приложению операций чтения и записи диагностических элементов данных, таких как идентификаторы данных (DID). Вопрос Q-5fbb9db6b949d851 (открытый) Таким образом обеспечивается четкое разделение между общей обработкой протокола службы диагностики и внутренним предоставлением данных блоком управления (ECU).

Жизненный цикл

Жизненный цикл определенных в <DataElement-Namespace> компонентов связан с фазами выполнения адаптивного приложения и менеджера диагностики. Инстанцирование конкретной реализации <DataElementInterface> обычно происходит во время фазы инициализации и запуска соответствующего процесса приложения. Что касается отношений владения, создание и уничтожение конкретной реализации <DataElementInterface> возлагается на использующее приложение, причем, интерпретация: экземпляр должен поддерживаться действительным на протяжении всей фазы регистрации и работы в системе диагностики, прежде чем он сможет быть безопасно освобожден при деинициализации.

В ходе оперативной фазы зарегистрированный экземпляр интерфейса пребывает в состоянии готовности к приему входящих диагностических запросов. Поскольку внешние диагностические запросы поступают через диагностический стек асинхронно и могут обрабатываться рабочими потоками (worker threads) системы времени выполнения, реализация методов интерфейса должна быть потокобезопасной и реентерабельной. Перед завершением работы процесса приложения связь с менеджером диагностики должна быть разорвана во избежание недопустимого обращения по указателям к уже уничтоженным объектам интерфейса.

Путь использования

Типичное использование интерфейсов из <DataElement-Namespace> подразделяется на реализацию, регистрацию, обслуживание во время выполнения и очистку. Программное обеспечение приложения сначала наследует конкретный класс от <DataElementInterface> и переопределяет необходимые методы обратного вызова (callback) для доступа к диагностическим данным. При запуске приложение инстанциирует этот класс и регистрирует его в среде выполнения модуля diag в качестве поставщика данных.

Если после этого диагностический кластер получает запрос службы UDS (например, для опроса или программирования DID), он делегирует доступ к данным напрямую зарегистрированному экземпляру <DataElementInterface>. Приложение считывает или обновляет запрошенные данные и возвращает результат обратно диагностической системе, которая формирует на его основе диагностический ответ. При штатном завершении работы приложения экземпляр дерегистрируется, а память корректно освобождается.

Настоящее руководство основано на структурных требованиях AUTOSAR Adaptive Platform R25-11 для модуля diag и было создано автоматически для autodocs.

Классы

DiagnosticDataElementInterface class

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

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns <DataElement-Namespace> cluster_c0 <DataElement-Namespace>::<DataElementInterface> n_DataElement_Namespace____DataElementInterface_ <DataElementInterface> n_DataElement_Namespace____DataElementInterface____DataElement_ReadOutput «struct» <DataElement>ReadOutput