DEENESPTFRRUARHIKOZHNL

класс ara::diag::GenericDataIdentifier

[SWS_DM_00607] Upstream: RS_Diag_04169

class GenericDataIdentifier {...};

Generic DataIdentifier interface.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

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

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

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

Класс ara::diag::GenericDataIdentifier служит обобщенным интерфейсом для асинхронной обработки запросов UDS на чтение и запись для диагностических идентификаторов в AUTOSAR Adaptive [SWS_DM_00636]. После привязки к порту и активации через Offer() Diagnostic Management перенаправляет запросы в реализованные методы [SWS_DM_00638]. Будучи сингулярным экземпляром, объект не может быть ни скопирован, ни перемещен, тогда как потокобезопасность обработки запросов управляется через конфигурацию параллелизма, выбранную при вызове конструктора.

Контекст

Класс ara::diag::GenericDataIdentifier представляет собой обобщенный сервисный интерфейс внутри функционального кластера Diagnostic Management (DM) платформы AUTOSAR Adaptive Platform SWS Diagnostics §8.2 «GenericDataIdentifier». В то время как типоспецифичные интерфейсы привязаны к жестко смоделированным типам данных, GenericDataIdentifier служит для гибкой обработки диагностических идентификаторов (Data Identifiers, DID), при которой 16-битный идентификатор передается динамически в качестве параметра.

В обработке диагностики участвуют преимущественно три роли:

  • Внешний диагностический тестер, направляющий автомобилю стандартизированные UDS-службы, такие как ReadDataByIdentifier (0x22) или WriteDataByIdentifier (0x2E).
  • Diagnostic Management (DM), которое принимает диагностические запросы, проверяет их и пересылает через определенные интерфейсы портов соответствующему экземпляру приложения, если он ранее был активирован через Offer [SWS_DM_00638].
  • Специфичная для приложения реализация GenericDataIdentifier, которая инкапсулирует фактическую логику обработки, предоставляя методы Read [SWS_DM_00636] и Write [SWS_DM_00637] и асинхронно возвращая данные.

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

Экземпляр ara::diag::GenericDataIdentifier создается явно с помощью своего конструктора [SWS_DM_00634]. При этом вызывающая сторона привязывает объект к ara::core::InstanceSpecifier, ссылающемуся на PortPrototype смоделированного DiagnosticDataIdentifierGenericInterface. С помощью аргумента concurrencyType (типа DataIdentifierConcurrencyType) определяется, будут ли запросы передаваться обработчику параллельно (kConcurrent) или последовательно (kNotConcurrent) [SWS_DM_00634].

С точки зрения владения и времени жизни GenericDataIdentifier смоделирован как сингулярный, некопируемый и неперемещаемый экземпляр:

  • Конструктор копирования [SWS_DM_01653], а также оператор присваивания [SWS_DM_01651] удалены (=delete).
  • Конструктор перемещения [SWS_DM_01654] и оператор перемещающего присваивания [SWS_DM_01652] также удалены.

После создания экземпляр находится в неактивном состоянии; Diagnostic Management еще не пересылает запросы. Пересылка активируется только вызовом Offer() [SWS_DM_00638]. Чтобы снова отключить пересылку диагностических запросов, приложение вызывает StopOffer() [SWS_DM_00639]. Уничтожение объекта осуществляется через виртуальный деструктор [SWS_DM_00635].

В отношении многопоточности конструктор является потокобезопасным (thread-safe) [SWS_DM_00634]. Напротив, административные методы Offer() [SWS_DM_00638] и StopOffer() [SWS_DM_00639], а также деструктор [SWS_DM_00635] специфицированы как непотокобезопасные. Потокобезопасность методов Read и Write условно зависит от выбранного concurrencyType [SWS_DM_00636], [SWS_DM_00637].

lifecycle NichtInitialisiert Не инициализирован Inaktiv Inaktiv (StopOffer) NichtInitialisiert->Inaktiv Konstruktor Aktiv Aktiv (Offer) Inaktiv->Aktiv Offer() Beendet Уничтожен Inaktiv->Beendet Destruktor Aktiv->Inaktiv StopOffer() Aktiv->Beendet Destruktor

Диаграмма состояний: жизненный цикл и переходы состояний экземпляра обработчика между неактивностью и готовностью к пересылке. Источники: [SWS_DM_00634], [SWS_DM_00638], [SWS_DM_00639], [SWS_DM_00635]

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

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

  1. Инициализация: приложение создает экземпляр своего производного класса обработчика с указанием InstanceSpecifier, а также конфигурации параллелизма [SWS_DM_00634]. Интерпретация: на практике это обычно должно происходить на этапе инициализации процесса приложения. Вопрос Q-32596fba68253958 (открытый)
  2. Предоставление службы: приложение вызывает Offer() [SWS_DM_00638]. Diagnostic Management активирует пересылку входящих DID-запросов.
  3. Обработка запроса:
    • При поступлении запроса на чтение DM вызывает метод Read(dataIdentifier, metaInfo, cancellationHandler) [SWS_DM_00636]. Приложение проверяет переданный 16-битный идентификатор и асинхронно возвращает ara::core::Future<OperationOutput>.
    • При поступлении запроса на запись DM вызывает Write(dataIdentifier, requestData, metaInfo, cancellationHandler) [SWS_DM_00637]. Полезные данные в requestData остаются действительными до тех пор, пока соответствующий Promise не будет выполнен или обработка не будет отменена.
  4. Проверка отмены: во время длительных операций обработчик может проверить через cancellationHandler.IsCanceled(), была ли прервана коммуникация, или зарегистрировать функцию уведомления через cancellationHandler.SetNotifier [SWS_DM_00636], [SWS_DM_00637].
  5. Отмена регистрации службы: перед завершением работы обработчика приложение вызывает StopOffer() [SWS_DM_00639], в результате чего DM прекращает пересылку.
Последовательность обобщенного запроса на чтениеDiagnosetesterDiagnostic ManagementGenericDataIdentifierUse Case: DienstregistrierungOffer()Result<void> (Erfolg)Use Case: Leseanforderung (UDS 0x22)ReadDataByIdentifierRead(dataIdentifier, metaInfo, cancellationHandler)altDaten erfolgreich ermitteltFuture с OperationOutputПоложительный ответ UDS с даннымиFehlerfall / NRCFuture с DiagUdsNrcErrcNegative UDS-Antwort (NRC)

Диаграмма последовательности: взаимодействие между внешним тестером, Diagnostic Management и GenericDataIdentifier при UDS-запросе на чтение. Источники: [SWS_DM_00638], [SWS_DM_00636]

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

Ошибки могут возникать на различных этапах взаимодействия:

  • Нарушения конфигурации и сопоставления: если InstanceSpecifier не удается разрешить в модели или если он не указывает на PortPrototype, имеет место InstanceSpecifierMappingIntegrityViolation [SWS_DM_00634]. При отсутствии привязки к DiagnosticDataPortMapping возникает PortInterfaceMappingViolation [SWS_DM_00634]. Отсутствующее сопоставление процессов порождает ProcessMappingViolation, а уже используемый InstanceSpecifier приводит к InstanceSpecifierAlreadyInUseViolation [SWS_DM_00634].
  • Повторное предложение: если Offer() вызывается, когда служба уже активно предлагается, метод возвращает ara::core::Result с кодом ошибки DiagOfferErrc::kAlreadyOffered [SWS_DM_00638].
  • Функциональные диагностические ошибки: если запрос на чтение или запись не может быть обслужен функционально, приложение возвращает в Future не статус успеха, а стандартизированный UDS-NRC (Negative Response Code) через DiagUdsNrcErrc в соответствии с ISO 14229-1 [SWS_DM_00636], [SWS_DM_00637].

Настоящее руководство основано на спецификации AUTOSAR R25-11 и сформировано автоматически.

Карта членов

Конструкторы и деструктор

2

Операторы

1

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

1

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

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

G nara__diag__GenericDataIdentifier357 GenericDataIdentifier + GenericDataIdentifier() + operator=() + ~GenericDataIdentifier() + Offer() + Read() + StopOffer() + Write()

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

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

Конструкторы и деструктор

GenericDataIdentifier функция 3

Class for an GenericDataIdentifier.

Перегрузки GenericDataIdentifier 3
explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept; SWS_DM_00634
GenericDataIdentifier (GenericDataIdentifier &)=delete; SWS_DM_01653
GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete; SWS_DM_01654
~GenericDataIdentifier функция

Destructor of class GenericDataIdentifier .

virtual ~GenericDataIdentifier () noexcept;

Методы

Offer функция

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

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

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;
StopOffer функция

This StopOffer will disable the forwarding of request messages from DM.

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

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Операторы

operator= функция 2

GenericDataIdentifier shall be a single not assignable instance.

Перегрузки = 2

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

OperationOutput класс

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

функция GenericDataIdentifier [SWS_DM_00634] Upstream: RS_AP_00137, RS_Diag_04169, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept;

Class for an GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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 DiagnosticDataIdentifierGenericInterface 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
specifierInstanceSpecifier to a PortPrototype of a DiagnosticDataIdentifierGenericInterface.
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_00634
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00634@rel:R25-11#95bacb75
Content hash
95bacb75
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00634
Status: valid/unmigrated Version: rel:R25-11#71f09e07 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_00634@rel:R25-11#71f09e07
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9d754b4c2026-09-30
  • R19-11rel:R19-11#281ed5b12026-10-14
  • R20-11rel:R20-11#c8b741432026-10-14
  • R21-11rel:R21-11#161554792026-10-14
  • R22-11rel:R22-11#55a5b7df2026-10-14
  • R23-11rel:R23-11#571dfcd62026-10-14
  • R24-11rel:R24-11#4a63e6522026-10-14
  • R25-11rel:R25-11#71f09e072026-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

функция GenericDataIdentifier [SWS_DM_01653] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not copy-able instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01653
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01653@rel:R25-11#26c2f50d
Content hash
26c2f50d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01653
Status: valid/unmigrated Version: rel:R25-11#3de9089c 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_01653@rel:R25-11#3de9089c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#f309daca2026-09-30
  • R23-11rel:R23-11#ad3cab8a2026-10-14
  • R24-11rel:R24-11#d3cdff682026-10-14
  • R25-11rel:R25-11#3de9089c2026-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

функция GenericDataIdentifier [SWS_DM_01654] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete;

Move constructor of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01654
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01654@rel:R25-11#4e86a732
Content hash
4e86a732
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01654
Status: valid/unmigrated Version: rel:R25-11#8f08b1d5 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_01654@rel:R25-11#8f08b1d5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#11d817c52026-09-30
  • R23-11rel:R23-11#5421592e2026-10-14
  • R24-11rel:R24-11#8f08b1d52026-10-14
  • R25-11rel:R25-11#8f08b1d52026-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_00638] Upstream: RS_AP_00139, RS_AP_00119, RS_Diag_04169

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 · Температура: не регулируется · Промпт: 860e6bd15d7f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование: Синхронный метод Offer класса ara::diag::GenericDataIdentifier ([SWS_DM_00638]) служит для регистрации обработчика обобщенного идентификатора данных в Diagnostic Management (DM). С помощью этого вызова DM авторизуется пересылать входящие диагностические запросы (Request Messages) для соответствующего идентификатора данных этому обработчику ([SWS_DM_00638]). Функция не принимает входных параметров и синхронно возвращает ara::core::Result<void> ([SWS_DM_00638]), который сообщает об успехе или ошибке.

Обработка ошибок: Метод объявлен с noexcept и гарантирует полную исключениебезопасность (exception safe) ([SWS_DM_00638]). Возможные ошибки передаются через ara::core::Result. Если обработчик уже был предоставлен ранее, функция возвращает код ошибки DiagOfferErrc::kAlreadyOffered с семантикой отката ([SWS_DM_00638]). Он соответствует общему перечислению ошибок DiagErrc::kAlreadyOffered ([SWS_DM_00514]).

Параллелизм и ограничения: Функция специфицирована как непотокобезопасная (not thread-safe) ([SWS_DM_00638]). Следовательно, вызовы на одном и том же экземпляре должны быть защищены от одновременного доступа. Поскольку для GenericDataIdentifier не специфицирован отдельный метод отмены регистрации, предложение службы, вероятно, привязано к сроку жизни экземпляра обработчика (интерпретация). Вопрос Q-7c64a5bd308464a8 (открытый)

Взаимодействие: Процедура следует сквозному шаблону предоставления Diagnostic Management. Аналогичные интерфейсы имеются для типоспецифических идентификаторов данных ([SWS_DM_00599]), обобщенных процедур ([SWS_DM_00557]), а также обобщенных служб UDS ([SWS_DM_00619]).

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

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

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

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_00638
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00638@rel:R25-11#b1a971bc
Content hash
b1a971bc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00638
Status: valid/unmigrated Version: rel:R25-11#1ea7c5d4 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_00638@rel:R25-11#1ea7c5d4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d9e8c1292026-09-30
  • R19-11rel:R19-11#34f18c6b2026-10-14
  • R20-11rel:R20-11#f2c3beea2026-10-14
  • R21-11rel:R21-11#a7b6c9862026-10-14
  • R22-11rel:R22-11#533034aa2026-10-14
  • R23-11rel:R23-11#b980ade42026-10-14
  • R24-11rel:R24-11#198e42702026-10-14
  • R25-11rel:R25-11#1ea7c5d42026-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_00636] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04172

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

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

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

Метод Read класса ara::diag::GenericDataIdentifier вызывается, как только поступает диагностический запрос для ReadDataByIdentifier (UDS 0x22) для соответствующего идентификатора данных [SWS_DM_00636]. В качестве параметров функция принимает числовой идентификатор dataIdentifier, контекст metaInfo, а также cancellationHandler. Через cancellationHandler приложение может с помощью IsCanceled запрашивать статус отмены или через SetNotifier регистрировать функцию оповещения для отмененных диалогов [SWS_DM_00636]. Результат предоставляется асинхронно через ara::core::Future<OperationOutput>, который в случае успеха возвращает полезные данные (OperationOutput) [SWS_DM_00636].

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

В случае ошибки Future возвращает отрицательное возвращаемое значение UDS (NRC) согласно ISO 14229-1 через DiagUdsNrcErrc [SWS_DM_00636]. Если интерфейс еще не предлагается или больше не предлагается через offer(), Diagnostic Management (DM) самостоятельно отвечает с NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257]. Если достигнут настроенный лимит сообщений Response Pending, сервер прерывает обработку и отвечает с NRC 0x10 (generalReject) [SWS_DM_00369].

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

Метод объявлен как noexcept и является исключениебезопасным [SWS_DM_00636]. Его потокобезопасность является условной: должна ли реализация быть потокобезопасной, управляется через переданный в конструкторе ConcurrencyType [SWS_DM_00636]. Если readWrite установлено в kConcurrent, DM может запускать операции чтения и записи параллельно, в противном случае (kNotConcurrent) вызов выполняется последовательно [SWS_DM_00939]. В отличие от специфических интерфейсов, таких как [SWS_DM_00640], GenericDataIdentifier гибко охватывает обобщенные диапазоны DID через переданный ID [SWS_DM_00636].

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

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

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
dataIdentifierthe corresponding DataIdentifier
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<OperationOutput >A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message).

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_00636
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00636@rel:R25-11#3c1728b7
Content hash
3c1728b7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00636
Status: valid/unmigrated Version: rel:R25-11#cfd80198 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_00636@rel:R25-11#cfd80198
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#339b63522026-09-30
  • R19-11rel:R19-11#f8a15c312026-10-14
  • R20-11rel:R20-11#5e9a44792026-10-14
  • R21-11rel:R21-11#34887de02026-10-14
  • R22-11rel:R22-11#91d437d52026-10-14
  • R23-11rel:R23-11#6625968e2026-10-14
  • R24-11rel:R24-11#430ea0f32026-10-14
  • R25-11rel:R25-11#cfd801982026-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_00639] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

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

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

Функция-член StopOffer класса ara::diag::GenericDataIdentifier служит для деактивации пересылки входящих сообщений запросов из Diagnostic Management (DM) соответствующему экземпляру [SWS_DM_00639]. Вызов выполняется синхронно через интерфейс из заголовочного файла #include "ara/diag/generic_data_identifier.h" [SWS_DM_00639]. Функция имеет сигнатуру void StopOffer() noexcept;, не принимает входных параметров и не возвращает значения [SWS_DM_00639].

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

Спецификация определяет StopOffer как безопасную относительно исключений (exception safe) и гарантирует отсутствие исключений с помощью идентификатора noexcept [SWS_DM_00639]. Специфические коды ошибок, реакции на ошибки или сообщения в DET либо DEM для этой операции не предусмотрены. В отношении параллелизма метод классифицирован как непотокобезопасный (not thread-safe) [SWS_DM_00639]. Поэтому параллельные вызовы на одном и том же экземпляре должны синхронизироваться вызывающей стороной. Интерпретация: уже начатые запросы в Diagnostic Management до окончательной остановки пересылки, вероятно, ещё будут обработаны в штатном режиме. Вопрос Q-94a464dc832c055c (открытый)

Взаимодействие в диагностическом модуле

Шаблон отзыва предоставления сервиса стандартизирован и согласованно применяется в диагностическом модуле. Аналогичные методы StopOffer существуют, среди прочего, для:

  • типоспецифических идентификаторов данных через DataIdentifierInterface::StopOffer [SWS_DM_00600], а также элементов данных [SWS_DM_00617],
  • обобщённых рутин через GenericRoutine::StopOffer [SWS_DM_00558] и типоспецифических интерфейсов рутин [SWS_DM_00595],
  • других диагностических сервисов, таких как сервисы UDS [SWS_DM_00620] или мониторы [SWS_DM_01089].

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

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

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00639
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00639@rel:R25-11#129c418f
Content hash
129c418f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00639
Status: valid/unmigrated Version: rel:R25-11#9225c34d 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_00639@rel:R25-11#9225c34d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0466e7b52026-09-30
  • R19-11rel:R19-11#e360cf692026-10-14
  • R20-11rel:R20-11#1bc0f5cd2026-10-14
  • R21-11rel:R21-11#3b09d7582026-10-14
  • R22-11rel:R22-11#77376b4a2026-10-14
  • R23-11rel:R23-11#6009f72f2026-10-14
  • R24-11rel:R24-11#d3d4a13c2026-10-14
  • R25-11rel:R25-11#9225c34d2026-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_00637] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

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

Метод Write класса ara::diag::GenericDataIdentifier вызывается Diagnostic Management, как только принимается UDS-запрос службы WriteDataByIdentifier (0x2E) [SWS_DM_00637]. Необходимым условием для вызова является то, что запрошенный идентификатор данных поддерживается, а соответствующий диагностический сеанс и уровень безопасности разрешают выполнение [SWS_DM_00186], [SWS_DM_00415], [SWS_DM_00416].

Вызов выполняется со следующими параметрами [SWS_DM_00637]:

  • dataIdentifier: 16-битный идентификатор записываемого идентификатора данных.
  • requestData: ara::core::Span с необработанными данными запроса без префикса DID. Буфер остается действительным до тех пор, пока не будет выполнено соответствующее Promise или пока обработка не будет отменена.
  • metaInfo: дополнительные метаданные к диагностическому запросу.
  • cancellationHandler: служит для контроля преждевременной отмены диалога через IsCanceled, а также для регистрации оповещения об отмене через SetNotifier.

Выполнение происходит асинхронно и возвращает ara::core::Future<void> [SWS_DM_00637]. При успешной обработке Promise выполняется с void для положительного ответного сообщения. При возникновении ошибки Future должен быть завершен с подходящим отрицательным возвращаемым значением UDS (NRC) согласно ISO 14229-1 через DiagUdsNrcErrc [SWS_DM_00637]. Метод объявлен как noexcept и должен быть реализован исключениебезопасным [SWS_DM_00637].

Что касается параллелизма, потокобезопасность является условной: должна ли Write реализовываться потокобезопасной, зависит от ConcurrencyType, переданного в конструкторе при инстанцировании [SWS_DM_00637]. Параллельное выполнение операций чтения и записи управляется флагом readWrite [SWS_DM_00939].

Этот текст был создан ИИ. Все сведения основаны исключительно на спецификациях релиза R25-11.

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

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
dataIdentifierthe corresponding DataIdentifier
requestDataContent of request message (without DataIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
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 >A Future with either void (for a positive response message) or an UDS NRC value (for a negative response message).

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_00637
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00637@rel:R25-11#636d6035
Content hash
636d6035
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00637
Status: valid/unmigrated Version: rel:R25-11#b7a94afa 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_00637@rel:R25-11#b7a94afa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#889963442026-09-30
  • R19-11rel:R19-11#8d85d1592026-10-14
  • R20-11rel:R20-11#701ab1d02026-10-14
  • R21-11rel:R21-11#10093f0c2026-10-14
  • R22-11rel:R22-11#9b15c55f2026-10-14
  • R23-11rel:R23-11#a7e012442026-10-14
  • R24-11rel:R24-11#9c761e5e2026-10-14
  • R25-11rel:R25-11#b7a94afa2026-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_01651] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not assignable instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01651
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01651@rel:R25-11#25e3341e
Content hash
25e3341e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01651
Status: valid/unmigrated Version: rel:R25-11#9b814f4a 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_01651@rel:R25-11#9b814f4a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#0a92f77c2026-09-30
  • R23-11rel:R23-11#1cfb26532026-10-14
  • R24-11rel:R24-11#211cc0882026-10-14
  • R25-11rel:R25-11#9b814f4a2026-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_01652] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &&)=delete;

Move assignment operator of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01652
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01652@rel:R25-11#1ac28357
Content hash
1ac28357
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01652
Status: valid/unmigrated Version: rel:R25-11#7c21b544 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_01652@rel:R25-11#7c21b544
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5c58a4142026-09-30
  • R23-11rel:R23-11#1428a6912026-10-14
  • R24-11rel:R24-11#7c21b5442026-10-14
  • R25-11rel:R25-11#7c21b5442026-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

функция ~GenericDataIdentifier [SWS_DM_00635] Upstream: RS_AP_00134, RS_Diag_04169

virtual ~GenericDataIdentifier () noexcept;

Destructor of class GenericDataIdentifier .

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
Exception-Sicherheitexception 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_00635
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00635@rel:R25-11#6738a9bf
Content hash
6738a9bf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00635
Status: valid/unmigrated Version: rel:R25-11#fc24e0db 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_00635@rel:R25-11#fc24e0db
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#882197f52026-09-30
  • R19-11rel:R19-11#ae023e7c2026-10-14
  • R20-11rel:R20-11#6892d8702026-10-14
  • R21-11rel:R21-11#cf811fb72026-10-14
  • R22-11rel:R22-11#0ec9aa792026-10-14
  • R23-11rel:R23-11#924c98d82026-10-14
  • R24-11rel:R24-11#fc24e0db2026-10-14
  • R25-11rel:R25-11#fc24e0db2026-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