DEENESPTFRRUARHIKOZHNL

класс <DataIdentifier-Namespace>::<DataIdentifierInterface>

[SWS_DM_00601] Upstream: RS_Diag_04169

class <DataIdentifierInterface> {...};

DiagnosticDataIdentifierInterface class

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Forwarding-Header#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>/<DataIdentifierShortname>_ fwd.h"
Scopenamespace <DataIdentifier-Namespace>

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

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

Позволяет приложению отвечать на диагностические запросы чтения и записи для конкретных идентификаторов данных.

Интерфейс <DataIdentifier-Namespace>::<DataIdentifierInterface> позволяет адаптивным приложениям предоставлять специфичные для модели диагностические идентификаторы данных для Diagnostic Management [SWS_DM_00585]. После создания Offer() активирует пересылку запросов, которые асинхронно обрабатываются через Read() или Write() и при необходимости получают ответ с кодами ошибок UDS [SWS_DM_00599] [SWS_DM_00640]. Поскольку экземпляр не подлежит ни копированию, ни перемещению, служба перед уничтожением явно завершается через StopOffer() [SWS_DM_01665] [SWS_DM_00600].

Контекст

C++-класс <DataIdentifier-Namespace>::<DataIdentifierInterface> функционирует как функциональный интерфейс для диагностических идентификаторов данных (Data Identifiers, DID) в модуле diag Adaptive Platform SWS Diagnostics с. 68. Он связывает уровень адаптивных приложений с центральным Diagnostic Management (DM). Diagnostic Management принимает внешние диагностические запросы и перенаправляет их зарегистрированному экземпляру [SWS_DM_00599]. Прикладное программное обеспечение через производные классы предоставляет конкретную реализацию для запроса или обновления содержимого данных посредством операций чтения или записи [SWS_DM_00640] [SWS_DM_00598].

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

Создание осуществляется через параметризованный конструктор с передачей ara::core::InstanceSpecifier и режима параллелизма ara::diag::ConcurrencyType [SWS_DM_00585]. Последний определяет, разрешено ли обрабатывать вызовы экземпляра параллельно (kConcurrent) или не параллельно (kNotConcurrent) [SWS_DM_00585]. Поскольку экземпляр жёстко привязан к конфигурации своей модели, как конструктор копирования, так и конструктор перемещения явно удалены [SWS_DM_01665] [SWS_DM_01666]; то же самое относится к операторам присваивания копированием и перемещением [SWS_DM_01663] [SWS_DM_01664].

После инстанцирования интерфейс находится в неактивном состоянии. Только после вызова Offer() активируется пересылка диагностических запросов со стороны Diagnostic Management [SWS_DM_00599]. Метод StopOffer() снова прекращает эту пересылку [SWS_DM_00600]. Освобождение ресурсов выполняется через виртуальный деструктор [SWS_DM_00586]. Интерпретация: перед уничтожением объекта обычно должен вызываться StopOffer(), чтобы упорядоченно предотвратить незавершённые или вновь поступающие пересылки от DM. Вопрос Q-3710c559625978c9 (открытый)

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

Штатная процедура включает в себя инстанцирование, регистрацию службы, асинхронную обработку запросов и последующую деактивацию:

  1. Инстанцирование: приложение создаёт экземпляр интерфейса с указанием InstanceSpecifier и требуемой настройки ConcurrencyType [SWS_DM_00585].
  2. Активация службы: приложение вызывает Offer(), благодаря чему Diagnostic Management может доставлять запросы этому обработчику [SWS_DM_00599].
  3. Обработка запроса: при операциях чтения DM вызывает чисто виртуальный метод Read() [SWS_DM_00640], при операциях записи — Write() [SWS_DM_00598]. Через переданный cancellationHandler приложение может отслеживать события отмены. Результаты предоставляются асинхронно в виде ara::core::Future, который в случае Read() содержит объект ReadOutput с выходными данными [SWS_DM_00579] [SWS_DM_00640] [SWS_DM_80013].
  4. Завершение службы: вызовом StopOffer() пересылка останавливается [SWS_DM_00600] перед тем, как объект будет уничтожен [SWS_DM_00586].
Последовательность предоставления и обработки запросов Data IdentifierПриложениеDataIdentifierInterfaceDiagnostic ManagementKonstruktor(instanceSpec, concurrencyType)Offer()Weiterleitung aktivierenResult<void> (Erfolg)Use Case: Diagnoseanfrage durch DMRead(metaInfo, cancellationHandler)Future<ReadOutput>Use Case: Прекращение предоставления сервиса и деинициализацияStopOffer()Weiterleitung deaktivieren~<DataIdentifierInterface>()

Диаграмма последовательности: типичный процесс предоставления DID от инициализации через асинхронный ответ на запросы до деактивации. Источники: [SWS_DM_00585], [SWS_DM_00599], [SWS_DM_00640], [SWS_DM_00600], [SWS_DM_00586].

Сценарии ошибок

Ошибки моделирования могут приводить к нарушениям уже при создании объекта: при отсутствии связей портов или процессов возникают InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation или ProcessMappingViolation [SWS_DM_00585]. Если один и тот же InstanceSpecifier повторно используется в том же процессе, фреймворк сообщает о InstanceSpecifierAlreadyInUseViolation [SWS_DM_00585].

Если Offer() вызывается, когда служба уже предлагается, вызов завершается неудачей и через ara::core::Result возвращает код ошибки DiagOfferErrc::kAlreadyOffered [SWS_DM_00599]. Если выполнение Read() или Write() завершается сбоем, реализация передаёт ошибки асинхронно в Future с помощью кодов ошибок UDS по ISO 14229-1 (DiagUdsNrcErrc) или специфичных для приложения ApApplicationError [SWS_DM_00640] [SWS_DM_00598]. Что касается безопасности исключений, конструктор и методы обработки специфицированы как exception safe [SWS_DM_00585] [SWS_DM_00599] [SWS_DM_00640] [SWS_DM_00598], тогда как деструктор не обозначен как exception safe [SWS_DM_00586].

Настоящее руководство опирается на спецификацию AUTOSAR для Adaptive Platform (релиз R25-11).

Карта членов

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

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

G n_DataIdentifier_Namespace____DataIdentifierInterface_960 <DataIdentifierInterface> + <DataIdentifierOutArg> + Offer() + Read() + StopOffer() + Write() + operator=() + <DataIdentifierInterface>() + ~<DataIdentifierInterface>()

Подробный вид

Выберите элемент в оглавлении.

Методы

<DataIdentifierInterface> функция 3

Construct a DataIdentifier from an ara::core::InstanceSpecifier

Перегрузки <DataIdentifierInterface> 3
<DataIdentifierInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_00585
<DataIdentifierInterface2> (const <DataIdentifierInterface2> &other)=delete; SWS_DM_01665
<DataIdentifierInterface4> ( <DataIdentifierInterface4> &&other)=delete; SWS_DM_01666
Offer функция

This Offer will enable the DM to forward request messages to this handler

ara::core::Result< void > Offer () noexcept;
Read функция

Provision of a reading DataIdentifier (DiagnosticDataIdentifierInterface in the role read).

virtual ara::core::Future< <DataIdentifier>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;
StopOffer функция

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;
Write функция

Provision of a writing DataIdentifier (DiagnosticDataIdentifierInterface in the role write).

virtual ara::core::Future< void > Write ( {<data-identifier-in-arg-derived-type-0toN>} {<data-identifier-in-arg-symbol-0toN>}, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Destruction of a DataIdentifier

virtual ~<DataIdentifierInterface6> ();

Операторы

operator= функция 2

Copy assignment constructor deletion

Перегрузки = 2
<DataIdentifierInterface3> & operator= (const <DataIdentifierInterface3> &other)=delete; SWS_DM_01663
<DataIdentifierInterface5> & operator= ( <DataIdentifierInterface5> &&other)=delete; SWS_DM_01664

Константы

<DataIdentifierOutArg> переменная

Member declaration representing an out argument in an Output.

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Вложенные типы

Документация методов

функция <DataIdentifierInterface> [SWS_DM_00585] Upstream: RS_AP_00137, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

<DataIdentifierInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept;

Construct a DataIdentifier from an ara::core::InstanceSpecifier

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

Использование

Функция-конструктор <DataIdentifierInterface> служит для создания экземпляра идентификатора данных из ara::core::InstanceSpecifier [SWS_DM_00585]. Объявление выполняется внутри пространства имен <DataIdentifier-Namespace> через заголовочный файл #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" [SWS_DM_00585]. Синхронный вызов специфицирован как noexcept и обладает свойствами «exception safe» и «thread-safe» [SWS_DM_00585].

Функция принимает следующие входные параметры [SWS_DM_00585]:

  • instanceSpec (ara::core::InstanceSpecifier): идентификатор конкретного экземпляра службы [SWS_DM_00585].
  • concurrencyType (ara::diag::ConcurrencyType): определяет, работает ли интерфейс потокобезопасно с kConcurrent или непотокобезопасно с kNotConcurrent [SWS_DM_00585].

Обработка ошибок и правила моделирования

Функция не возвращает значения и не генерирует исключений. Ошибки в конфигурации или моделировании приводят вместо этого к определенным нарушениям (violations) [SWS_DM_00585]:

  • InstanceSpecifierMappingIntegrityViolation: instanceSpec не может быть разрешен в контексте исполняемого файла или не указывает на PortPrototype [SWS_DM_00585].
  • PortInterfaceMappingViolation: PortPrototype, типизированный через DiagnosticDataIdentifierInterface, не ссылается на DiagnosticDataPortMapping [SWS_DM_00585].
  • ProcessMappingViolation: для ссылки на экземпляр отсутствует подходящий смоделированный процесс для текущего процесса времени выполнения [SWS_DM_00585].
  • InstanceSpecifierAlreadyInUseViolation: конструктор был вызван с instanceSpec, который уже используется в текущем процессе [SWS_DM_00585].

Интерпретация: поскольку функция объявлена как noexcept, обнаруженные нарушения, вероятно, обрабатываются внутри фреймворка как критические ошибки инициализации. Вопрос Q-8616025446bf33f2 (открытый)

Параллелизм

Сама функция-конструктор выполнена потокобезопасной [SWS_DM_00585]. Через аргумент concurrencyType регулируется, разрешены ли последующие параллельные вызовы интерфейса данного экземпляра [SWS_DM_00585].

Это указание по использованию было сгенерировано автоматически на основе спецификации.

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is typed by a pingViolation DiagnosticDataIdentifierInterface needs to be referenced by a DiagnosticDataPortMapping. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
instanceSpecThe specifier of a specific instance of a service.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent)..

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00585
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00585@rel:R25-11#539f9192
Content hash
539f9192
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00585
Status: valid/unmigrated Version: rel:R25-11#4e8f5fe5 Versionshistorie & Revisions (1 transition, 8 revision)
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_00585@rel:R25-11#4e8f5fe5
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#424df92c2026-09-30
  • R19-11rel:R19-11#420e87cb2026-10-14
  • R20-11rel:R20-11#6d8ab4df2026-10-14
  • R21-11rel:R21-11#c7e8234c2026-10-14
  • R22-11rel:R22-11#5168b3b22026-10-14
  • R23-11rel:R23-11#c7617fcf2026-10-14
  • R24-11rel:R24-11#9629e2942026-10-14
  • R25-11rel:R25-11#4e8f5fe52026-10-14 active
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

функция <DataIdentifierInterface> [SWS_DM_01665] Upstream: RS_AP_00147

<DataIdentifierInterface2> (const <DataIdentifierInterface2> &other)=delete;

Copy constructor deletion

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01665
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01665@rel:R25-11#b9051c39
Content hash
b9051c39
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01665
Status: valid/unmigrated Version: rel:R25-11#d2f9729a Versionshistorie & Revisions (1 transition, 4 revision)
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_01665@rel:R25-11#d2f9729a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ae00ab682026-09-30
  • R23-11rel:R23-11#c667bc4b2026-10-14
  • R24-11rel:R24-11#fa08505b2026-10-14
  • R25-11rel:R25-11#d2f9729a2026-10-14 active
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

функция <DataIdentifierInterface> [SWS_DM_01666] Upstream: RS_AP_00147

<DataIdentifierInterface4> ( <DataIdentifierInterface4> &&other)=delete;

Move constructor

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01666
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01666@rel:R25-11#9a3e8d84
Content hash
9a3e8d84
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01666
Status: valid/unmigrated Version: rel:R25-11#3ab93d5e Versionshistorie & Revisions (1 transition, 4 revision)
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_01666@rel:R25-11#3ab93d5e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#37eed7f82026-09-30
  • R23-11rel:R23-11#eaf209332026-10-14
  • R24-11rel:R24-11#8925cf032026-10-14
  • R25-11rel:R25-11#3ab93d5e2026-10-14 active
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

функция Offer [SWS_DM_00599] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169, RS_Diag_04224

ara::core::Result< void > Offer () noexcept;

This Offer will enable the DM to forward request messages to this handler

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

Использование и контекст вызова

Синхронный метод Offer() позволяет Diagnostic Management (DM) пересылать входящие диагностические запросы соответствующему экземпляру <DataIdentifierInterface> ([SWS_DM_00599]). Функция не принимает входных параметров и специфицирована как noexcept ([SWS_DM_00599]). Интерпретация: вызов, вероятно, обычно должен выполняться во время фазы инициализации приложения, поскольку DM не может доставлять запросы до предоставления. Вопрос Q-4ba81ff234a09f46 (открытый)

Обработка ошибок и возвращаемые значения

В качестве возвращаемого значения служит ara::core::Result<void> ([SWS_DM_00599]). Если регистрация прошла успешно, результат не содержит значения. Если обработчик уже был предоставлен ранее, вызов завершается с ошибкой и возвращает код ошибки DiagOfferErrc::kAlreadyOffered с семантикой отката ([SWS_DM_00599]; ср. [SWS_DM_00514]).

Параллелизм и ограничения

Функция обеспечивает безопасность к исключениям (exception safe), однако явно специфицирована как не являющаяся потокобезопасной (not thread-safe) ([SWS_DM_00599]). Параллельные вызовы на одном и том же экземпляре должны синхронизироваться приложением.

Взаимодействие

Паттерн предоставления соответствует единому подходу к активации в DM: аналогичные методы Offer() существуют для универсальных идентификаторов ([SWS_DM_00638]), элементов данных ([SWS_DM_00597]), подпрограмм ([SWS_DM_00557], [SWS_DM_00594]) и служб DoIP ([SWS_DM_00725], [SWS_DM_00735]). Пока Offer() не выполнен, DM не пересылает запросы обработчику и отвечает значениями по умолчанию для служб DoIP ([SWS_DM_01525], [SWS_DM_01527]).

Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR Adaptive Release R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: diag::DiagOfferErrc

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00599
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00599@rel:R25-11#275e4e5f
Content hash
275e4e5f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00599
Status: valid/unmigrated Version: rel:R25-11#b1695320 Versionshistorie & Revisions (1 transition, 8 revision)
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_00599@rel:R25-11#b1695320
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8a80b11d2026-09-30
  • R19-11rel:R19-11#ca894da82026-10-14
  • R20-11rel:R20-11#cb4154752026-10-14
  • R21-11rel:R21-11#1465258e2026-10-14
  • R22-11rel:R22-11#cb17bfe82026-10-14
  • R23-11rel:R23-11#209914022026-10-14
  • R24-11rel:R24-11#713a92052026-10-14
  • R25-11rel:R25-11#b16953202026-10-14 active
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

функция Read [SWS_DM_00640] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< <DataIdentifier>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a reading DataIdentifier (DiagnosticDataIdentifierInterface in the role read).

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 85f20519a648 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод Read служит для предоставления данных диагностического идентификатора данных (DataIdentifier) в роли чтения DiagnosticDataIdentifierInterface [SWS_DM_00640]. Вызов выполняется асинхронно компонентом Diagnostic Manager (DM) при внешних диагностических запросах AUTOSAR_AP_SWS_Diagnostics с. 143 §7.3.2.6.1 «NRCs created by application». В качестве параметров передаются metaInfo для анализа свойств запроса, а также cancellationHandler [SWS_DM_00640]. Обрабатывающее приложение может через cancellationHandler.IsCanceled() запрашивать статус отмены или с помощью cancellationHandler.SetNotifier() регистрировать обратный вызов на случай преждевременной отмены сеанса [SWS_DM_00640]. Результат возвращается асинхронно в виде ara::core::Future с объектом ReadOutput [SWS_DM_00640], [SWS_DM_00579].

Обработка ошибок

Функция специфицирована как exception safe и не должна распространять исключения наружу [SWS_DM_00640]. Если при получении данных возникает ошибка, приложение возвращает в ara::core::Future отрицательное возвращаемое значение в виде подходящего кода ошибки UDS (NRC согласно ISO 14229-1 через DiagUdsNrcErrc) или ApApplicationError [SWS_DM_00640], AUTOSAR_AP_SWS_Diagnostics с. 143 §7.3.2.6.1 «NRCs created by application».

Параллелизм и взаимодействие

Интерфейсная функция по умолчанию является not thread-safe [SWS_DM_00640]. Параллельное выполнение операций чтения и записи компонентом Diagnostic Manager регулируется типом ara::diag::DataIdentifierConcurrencyType::readWrite, который по умолчанию предварительно настроен на kNotConcurrent [SWS_DM_00939]. Родственные операции чтения существуют для отдельных элементов данных через DiagnosticDataElementInterface [SWS_DM_00596], а также для обобщенных идентификаторов [SWS_DM_00636].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< {<data-identifier-name>}ReadOutput >• If successful: an ara::core::Future containing a ReadOutput object as per [SWS_DM_00579] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00640
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00640@rel:R25-11#c1bf78b4
Content hash
c1bf78b4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00640
Status: valid/unmigrated Version: rel:R25-11#09d4ff6e Versionshistorie & Revisions (1 transition, 8 revision)
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_00640@rel:R25-11#09d4ff6e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2edc90672026-09-30
  • R19-11rel:R19-11#6713bf032026-10-14
  • R20-11rel:R20-11#8a573eb02026-10-14
  • R21-11rel:R21-11#5d209a572026-10-14
  • R22-11rel:R22-11#d59456d32026-10-14
  • R23-11rel:R23-11#d388add12026-10-14
  • R24-11rel:R24-11#05b336912026-10-14
  • R25-11rel:R25-11#09d4ff6e2026-10-14 active
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

функция StopOffer [SWS_DM_00600] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM

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

Метод StopOffer отменяет пересылку входящих диагностических запросов Diagnostic Management (DM) конкретному экземпляру интерфейса [SWS_DM_00600]. С помощью вызова адаптивное приложение сигнализирует о том, что оно временно или постоянно больше не готово обрабатывать запросы для этого DataIdentifier.

Использование и семантика

Вызов выполняется синхронно, не имеет параметров и не возвращает значения [SWS_DM_00600]. В качестве заголовка необходимо подключить сгенерированный файл интерфейса #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" [SWS_DM_00600]. Наименование следует шаблону, известному из ara::com, однако представляет собой самостоятельный интерфейс диагностического домена AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Обработка ошибок и параллелизм

  • Безопасность относительно исключений: функция объявлена с noexcept и гарантирует полную безопасность относительно исключений (exception safe) [SWS_DM_00600]. Исключения не выбрасываются.
  • Потокобезопасность: операция специфицирована как not thread-safe [SWS_DM_00600]. Вызов должен выполняться синхронизированно, чтобы исключить параллельный доступ к одному и тому же экземпляру интерфейса.

Взаимодействие

Поведение соответствует единому паттерну деактивации Diagnostic Management, как это аналогично определено и для родственных интерфейсов, таких как рутины [SWS_DM_00558], обобщённые элементы данных [SWS_DM_00639] или службы загрузки [SWS_DM_00793]. Входящие запросы от DM к этому DataIdentifier после успешной деактивации больше не пересылаются обработчику приложения [SWS_DM_00600]; после этого DM, вероятно, генерирует соответствующие отрицательные коды ответов. Вопрос Q-d301740d097f9946 (открытый)

Это указание по использованию основано на положениях спецификации AUTOSAR AP R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00600
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00600@rel:R25-11#31b9016b
Content hash
31b9016b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00600
Status: valid/unmigrated Version: rel:R25-11#06007200 Versionshistorie & Revisions (1 transition, 8 revision)
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_00600@rel:R25-11#06007200
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#22b516472026-09-30
  • R19-11rel:R19-11#086a57212026-10-14
  • R20-11rel:R20-11#b9a8e5302026-10-14
  • R21-11rel:R21-11#c2bf51c22026-10-14
  • R22-11rel:R22-11#008226012026-10-14
  • R23-11rel:R23-11#4ba8fcde2026-10-14
  • R24-11rel:R24-11#095120152026-10-14
  • R25-11rel:R25-11#060072002026-10-14 active
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_00598] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< void > Write ( {<data-identifier-in-arg-derived-type-0toN>} {<data-identifier-in-arg-symbol-0toN>}, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a writing DataIdentifier (DiagnosticDataIdentifierInterface in the role write).

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 301e55bffd12 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция интерфейса служит для типобезопасного предоставления DataIdentifier (DID) для записи в роли Write [SWS_DM_00598]. Она вызывается экземпляром Diagnostic Server при входящих диагностических запросах UDS-сервиса 0x2E (WriteDataByIdentifier) [SWS_DM_00186], если DID поддерживается в системе и проверки активной диагностической сессии, а также уровня безопасности успешно пройдены [SWS_DM_00415] [SWS_DM_00416] [SWS_DM_00417]. В отличие от универсального варианта с необработанным диапазоном байтов [SWS_DM_00637], данный метод связывает входные параметры, типизированные согласно модели, с [SWS_DM_00598].

  • Параметры: помимо сгенерированных входных аргументов метод принимает метаинформацию о запросе через metaInfo, а также cancellationHandler [SWS_DM_00598]. Через обработчик отмены (Cancellation-Handler) приложение может посредством IsCanceled проверять, была ли сессия отменена, или зарегистрировать уведомление на случай отмены с помощью SetNotifier [SWS_DM_00598].
  • Возвращаемое значение и обработка ошибок: выполнение происходит асинхронно через ara::core::Future<void> [SWS_DM_00598]. В случае успеха фьючер возвращает тип void. В случае ошибки должен возвращаться соответствующий UDS-NRC согласно ISO 14229-1 посредством ara::diag::DiagUdsNrcErrc или соответствующий ApplicationError [SWS_DM_00598]. Функция объявлена как бессбойная (exception safe) [SWS_DM_00598].
  • Параллелизм: метод классифицирован как непотокобезопасный (not thread-safe) [SWS_DM_00598]. Разрешено ли параллельно вызывать операции чтения и записи через Diagnostic Management, управляется с помощью конфигурационного элемента readWrite в DataIdentifierConcurrencyType [SWS_DM_00939].

Это указание по использованию было создано автоматически на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
{<data-identifier-in-arg-symbol-0toN>}The symbol name of method argument[0..N] in the ordered list of method arguments, with ClientServerOperation. direction == in given by ClientServerOperation. ArgumentDataPrototype[0..N]. shortName
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< void >• If successful: an ara::core::Future containing a void. • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or Ap ApplicationError.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00598
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00598@rel:R25-11#30cbf0ab
Content hash
30cbf0ab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00598
Status: valid/unmigrated Version: rel:R25-11#bdb87168 Versionshistorie & Revisions (1 transition, 8 revision)
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_00598@rel:R25-11#bdb87168
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#72cee5e42026-09-30
  • R19-11rel:R19-11#0d590eb92026-10-14
  • R20-11rel:R20-11#8b24b94a2026-10-14
  • R21-11rel:R21-11#6fc896c62026-10-14
  • R22-11rel:R22-11#e1f8fedf2026-10-14
  • R23-11rel:R23-11#f147daab2026-10-14
  • R24-11rel:R24-11#911d64682026-10-14
  • R25-11rel:R25-11#bdb871682026-10-14 active
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

функция operator= [SWS_DM_01663] Upstream: RS_AP_00147

<DataIdentifierInterface3> & operator= (const <DataIdentifierInterface3> &other)=delete;

Copy assignment constructor deletion

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01663
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01663@rel:R25-11#45f85609
Content hash
45f85609
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01663
Status: valid/unmigrated Version: rel:R25-11#84430c7f Versionshistorie & Revisions (1 transition, 4 revision)
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_01663@rel:R25-11#84430c7f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e8fc0e1d2026-09-30
  • R23-11rel:R23-11#32ce8d7c2026-10-14
  • R24-11rel:R24-11#d7cea82e2026-10-14
  • R25-11rel:R25-11#84430c7f2026-10-14 active
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

функция operator= [SWS_DM_01664] Upstream: RS_AP_00147

<DataIdentifierInterface5> & operator= ( <DataIdentifierInterface5> &&other)=delete;

Move assignment constructor

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01664
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01664@rel:R25-11#be036569
Content hash
be036569
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01664
Status: valid/unmigrated Version: rel:R25-11#22a1078d Versionshistorie & Revisions (1 transition, 4 revision)
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_01664@rel:R25-11#22a1078d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#38d959842026-09-30
  • R23-11rel:R23-11#e483c5232026-10-14
  • R24-11rel:R24-11#8aad364b2026-10-14
  • R25-11rel:R25-11#22a1078d2026-10-14 active
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

функция ~<DataIdentifierInterface> [SWS_DM_00586] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<DataIdentifierInterface6> ();

Destruction of a DataIdentifier

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitnot exception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00586
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00586@rel:R25-11#4e0c6d51
Content hash
4e0c6d51
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00586
Status: valid/unmigrated Version: rel:R25-11#30bedd44 Versionshistorie & Revisions (1 transition, 8 revision)
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_00586@rel:R25-11#30bedd44
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#5bb9ad312026-09-30
  • R19-11rel:R19-11#e08946d32026-10-14
  • R20-11rel:R20-11#74e8f77a2026-10-14
  • R21-11rel:R21-11#42adefc82026-10-14
  • R22-11rel:R22-11#6fb7460b2026-10-14
  • R23-11rel:R23-11#b224e2552026-10-14
  • R24-11rel:R24-11#0c307cd32026-10-14
  • R25-11rel:R25-11#30bedd442026-10-14 active
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

Документация констант / переменных

переменная <DataIdentifierOutArg> [SWS_DM_80013] Upstream: RS_Diag_04224, RS_Diag_04169

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Symbol<DataIdentifierOutArg>
Typ<DataIdentifierOutArgType>

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_80013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_80013@rel:R25-11#a312c426
Content hash
a312c426
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_80013
Status: valid/unmigrated Version: rel:R25-11#a48f634f Versionshistorie & Revisions (1 transition, 3 revision)
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_80013@rel:R25-11#a48f634f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#563214cb2026-09-30
  • R24-11rel:R24-11#866631f72026-10-14
  • R25-11rel:R25-11#a48f634f2026-10-14 active
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