DEENESPTFRRUARHIKOZHNL

класс <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

[SWS_DM_02146] Upstream: RS_Diag_04169

class <ExtendedDataRecordElementInterface> {...};

DiagnosticExtendedDataRecordInterface class

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Forwarding-Header#include "<ExtendedDataRecordElementShortname>/_fwd.h"
Scopenamespace <ExtendedDataRecord-Namespace>

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

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

Служит для предоставления расширенных диагностических данных со стороны приложения для адаптивного Diagnostic Management.

Класс <ExtendedDataRecordElementInterface> служит адаптивным приложениям в качестве интерфейса для предоставления расширенных диагностических данных в Diagnostic Management ([SWS_DM_02152]). После инстанцирования и активации через Offer() обработчик реализует асинхронное предоставление данных через чисто виртуальный метод Read() ([SWS_DM_02156]). Поскольку Diagnostic Manager сохраняет наборы данных в энергонезависимой памяти на постоянной основе, недоступные значения обязательно должны дополняться шаблоном заполнения. Интерфейс не поддерживает копирование и перемещение, а его деструктор не является потокобезопасным.

Контекст

Интерфейс <ExtendedDataRecordElementInterface> служит в диагностической подсистеме AUTOSAR Adaptive Platform для предоставления специфичных для приложения расширенных диагностических данных (Extended Data Records) для Diagnostic Management (DM) (AUTOSAR AP SWS Diagnostics §7.2 «DiagnosticExtendedDataRecordInterface»). Запись Extended Data Record содержит дополнительные диагностические данные, такие как показания счетчиков или информация об окружении, привязанные к событию ошибки. Класс выступает в качестве абстрактного базового интерфейса для компонентов-обработчиков со стороны приложения. К партнерам по взаимодействию относятся Diagnostic Manager (DM), который запрашивает и координирует операции чтения, конкретная реализация обработчика внутри приложения, а также энергонезависимая память (Non-Volatile Memory, NVM), в которой DM сохраняет полученные данные на постоянной основе ([SWS_DM_02156]). Интерпретация: вызов Read(), вероятно, инициируется внутренней диагностической обработкой в DM, например, при наступлении события ошибки или при изменениях статуса диагностического кода неисправности (Diagnostic Trouble Code). Вопрос Q-f80be8c2bd5697fc (открытый)

Context Handler ExtendedDataRecordElementInterface (Anwendungs-Handler) DM Diagnostic Management (DM) Handler->DM Offer() / StopOffer() DM->Handler Read(metaInfo, cancellationHandler) NVM Энергонезависимая память (NVM) DM->NVM Persistierung

Контекстная диаграмма: взаимодействие обработчика приложения, Diagnostic Management и энергонезависимой памяти. Источники: [SWS_DM_02152], [SWS_DM_02156], AUTOSAR AP SWS Diagnostics §7.2 «DiagnosticExtendedDataRecordInterface»

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

Создание осуществляется через параметризованный конструктор с указанием ara::core::InstanceSpecifier, а также режима параллелизма ara::diag::ConcurrencyType ([SWS_DM_02158], AUTOSAR AP SWS Diagnostics §7.2 «DiagnosticExtendedDataRecordInterface»). Конструирование является потокобезопасным и исключебнобезопасным (exception safe). С помощью параметра concurrencyType определяется, разрешено ли обрабатывать вызовы интерфейса параллельно (kConcurrent) или последовательно (kNotConcurrent) ([SWS_DM_02158]). Операции копирования и перемещения полностью запрещены: конструктор копирования ([SWS_DM_02147]), копирующее присваивание ([SWS_DM_02148]), конструктор перемещения ([SWS_DM_02149]) и перемещающее присваивание ([SWS_DM_02150]) удалены (=delete). Таким образом, экземпляр обладает фиксированной идентичностью и не может быть ни дублирован, ни перенесен.

После инстанцирования объект изначально находится в неактивном состоянии. Только после вызова Offer() ([SWS_DM_02152]) сервис переводится в активный режим и DM начинает перенаправлять запросы обработчику. С помощью StopOffer() ([SWS_DM_02153]) это перенаправление можно остановить в любой момент. Уничтожение происходит через виртуальный деструктор ~<ExtendedDataRecordElementInterface>() ([SWS_DM_02151]). Хотя он и является исключебнобезопасным, но явно не является потокобезопасным (not thread-safe) ([SWS_DM_02151]). Интерпретация: StopOffer(), по-видимому, должен вызываться перед уничтожением объекта обработчика, чтобы гарантировать, что новые запросы не поступят во время освобождения объекта. Вопрос Q-c77dda63f0e8798a (открытый)

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

Стандартный рабочий процесс включает предоставление, асинхронный ответ на запросы чтения и деактивацию сервиса:

  • Инициализация: приложение инстанцирует производный класс с соответствующим идентификатором порта и конфигурацией параллелизма ([SWS_DM_02158]).
  • Предложение сервиса: вызовом Offer() активируется перенаправление запросов в DM ([SWS_DM_02152]). Метод возвращает ara::core::Result<void>.
  • Запрос данных: при поступлении запроса на чтение DM вызывает чисто виртуальный метод Read() ([SWS_DM_02156]). При этом передаются метаданные запроса (metaInfo) и cancellationHandler.
  • Обработка отмены и возврат: обработчик может через cancellationHandler.IsCanceled() проверить, была ли отменена сессия взаимодействия (Conversation), или зарегистрировать уведомление с помощью cancellationHandler.SetNotifier() ([SWS_DM_02156]). Результат возвращается асинхронно через ara::core::Future с объектом ReadOutput ([SWS_DM_02156], [SWS_DM_02154]).
  • Сохранение: DM принимает извлеченные данные и сохраняет их на постоянной основе в энергонезависимой памяти ([SWS_DM_02156]).
  • Отмена регистрации сервиса: перед завершением работы приложение вызывает StopOffer() ([SWS_DM_02153]), чтобы остановить перенаправление со стороны DM до того, как экземпляр будет уничтожен ([SWS_DM_02151]).
Последовательность предоставления и чтения Extended Data RecordsПриложениеHandlerDMNVMUse Case: Инициализация и регистрация сервисаKonstruktion(instanceSpec, concurrencyType)Offer()Registrierung aktivierenResult<void>Use Case: DiagnoseabfrageRead(metaInfo, cancellationHandler)Определение данных / шаблон заполнения 0xFFFuture<ReadOutput>Сохранение данных записиUse Case: DienstabmeldungStopOffer()Weiterleitung deaktivieren

Диаграмма последовательности: типичный процесс предоставления и запроса данных. Источники: [SWS_DM_02152], [SWS_DM_02153], [SWS_DM_02156], [SWS_DM_02158]

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

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

  • Ошибки конструирования и нарушения модели: при вызове конструктора могут возникать ошибки моделирования ([SWS_DM_02158]). К ним относятся InstanceSpecifierMappingIntegrityViolation (идентификатор невозможно разрешить или он не ссылается на PortPrototype), PortInterfaceMappingViolation (отсутствие ссылки со стороны DiagnosticDataPortMapping), ProcessMappingViolation (в модели не найден подходящий процесс), а также InstanceSpecifierAlreadyInUseViolation (идентификатор уже используется в процессе) ([SWS_DM_02158]).
  • Многократное предложение: если Offer() вызывается, когда сервис уже активно предлагается, вызов завершается сбоем и возвращает код ошибки DiagOfferErrc::kAlreadyOffered ([SWS_DM_02152]).
  • Недоступные данные при запросах чтения: поскольку DM сохраняет данные в энергонезависимой памяти, при вызове Read() обязательно должно быть возвращено значение ([SWS_DM_02156]). Если данные на момент запроса недоступны, реализация обработчика обязана заполнить их определенным шаблоном заполнения, таким как 0xFF ([SWS_DM_02156]).
  • Ошибки приложения и диагностики: если предоставление данных полностью завершается сбоем, возвращаемый ara::core::Future может содержать соответствующий диагностический код ошибки NRC (DiagUdsNrcErrc) или ошибку, специфичную для приложения (ApApplicationError) ([SWS_DM_02156]).
  • Опасность при уничтожении: поскольку деструктор не является потокобезопасным ([SWS_DM_02151]), уничтожение объекта во время параллельно выполняемых вызовов или без предварительного StopOffer() ([SWS_DM_02153]) приводит к неопределенному поведению.

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

Карта членов

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

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

G n_ExtendedDataRecord_Namespace____ExtendedDataRecordElementInterface_765 <ExtendedDataRecordElementInterface> + <ExtendedDataRecordElementOutArg> + Offer() + Read() + StopOffer() + operator=() + <ExtendedDataRecordElementInterface>() + ~<ExtendedDataRecordElementInterface>()

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

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

Методы

Copy constructor deletion

Перегрузки <ExtendedDataRecordElementInterface> 3
<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete; SWS_DM_02147
<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete; SWS_DM_02149
<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_02158
Offer функция

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

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

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

virtual ara::core::Future< <ExtendedDataRecordElement>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;

Destruction of a DataElement

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

Операторы

operator= функция 2

Copy assignment constructor deletion

Перегрузки = 2
<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete; SWS_DM_02148
<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete; SWS_DM_02150

Константы

Member declaration representing an out argument in an Output.

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

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

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

функция <ExtendedDataRecordElementInterface> [SWS_DM_02147] Upstream: RS_AP_00147

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

Copy constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02147@rel:R25-11#9b6967f8
Content hash
9b6967f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02147
Status: valid/unmigrated Version: rel:R25-11#b778fd1a 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_02147@rel:R25-11#b778fd1a
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

функция <ExtendedDataRecordElementInterface> [SWS_DM_02149] Upstream: RS_AP_00147

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

Move constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02149
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02149@rel:R25-11#252f6177
Content hash
252f6177
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02149
Status: valid/unmigrated Version: rel:R25-11#922c09b0 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_02149@rel:R25-11#922c09b0
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

функция <ExtendedDataRecordElementInterface> [SWS_DM_02158] Upstream: RS_AP_00137

<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept;

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

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

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

Функция <ExtendedDataRecordElementInterface> служит конструктором для создания DataElement для интерфейса набора расширенных данных на основе ara::core::InstanceSpecifier [SWS_DM_02158]. Объявление находится в области видимости <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface> и требует подключения заголовочного файла #include "<ExtendedDataRecordElementShortname>.h" AUTOSAR_AP_SWS_Diagnostics §8.49.2.2.1.6.

Синхронный вызов требует двух входных параметров [SWS_DM_02158]:

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

Параллелизм и безопасность ошибок

Сама функция-конструктор объявлена как noexcept и специфицирована как thread-safe, а также exception safe [SWS_DM_02158]. Интерпретация: поскольку функция определена как noexcept, ошибки моделирования и инициализации, вероятно, сигнализируются не через исключения C++, а через нарушения (Violations), определенные в Adaptive Framework [SWS_DM_02158]. Вопрос Q-9ce91764c3e8364e (открытый)

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

При некорректной конфигурации модели или недопустимых идентификаторах возникают специфические нарушения [SWS_DM_02158]:

  • InstanceSpecifierMappingIntegrityViolation: идентификатор не может быть разрешен в контексте процесса или не указывает на PortPrototype.
  • PortInterfaceMappingViolation: PortPrototype, типизированный через DiagnosticExtendedDataRecordInterface, не ссылается через DiagnosticDataPortMapping.
  • ProcessMappingViolation: подходящий InstanceRef существует, но подходящий смоделированный процесс для процесса времени выполнения не найден.
  • InstanceSpecifierAlreadyInUseViolation: конструктор был вызван с InstanceSpecifier, который уже используется в процессе.

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

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
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 DiagnosticExtendedDataRecordInterface 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_02158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02158@rel:R25-11#e9059205
Content hash
e9059205
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02158
Status: valid/unmigrated Version: rel:R25-11#dc93a230 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_02158@rel:R25-11#dc93a230
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

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

Функция Offer активирует пересылку диагностических требований демоном Diagnostic Management (DM) в соответствующий экземпляр обработчика [SWS_DM_02152]. Она вызывается без параметров и синхронно возвращает ara::core::Result<void>, объявлена как noexcept и специфицирована как exception-safe [SWS_DM_02152].

Для надлежащего использования и обработки ошибок действуют следующие требования:

  • Возвращаемое значение и ошибки: в случае успеха результат содержит пустое значение. Если служба уже была ранее зарегистрирована для этого экземпляра обработчика, вызов завершается ошибкой и возвращает код ошибки DiagOfferErrc::kAlreadyOffered с семантикой отката [SWS_DM_02152]. Родственные домены ошибок также определяют для этого состояния код ошибки kAlreadyOffered [SWS_DM_00514] [SWS_DM_00560].
  • Параллелизм: в отличие от других обработчиков диагностики, которые часто объявляются непотокобезопасными (как, например, в [SWS_DM_00557]), этот метод явно определен как thread-safe [SWS_DM_02152].
  • Взаимодействие в системе: пока интерфейс еще не предоставлен приложением с помощью Offer, DM в зависимости от контекста реагирует заданными значениями по умолчанию или замещающими значениями, такими как, например, статус «Not ready» при запросах DoIP-PowerMode [SWS_DM_01525] или замещающие значения для идентификаторов групп [SWS_DM_01527]. Кроме того, спецификация подчеркивает, что функции предложения диагностики являются специфичными для ara::diag и их нельзя путать с ara::com::Offer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Интерпретация: синхронный характер обратной связи Offer, вероятно, обеспечивает полное завершение регистрации обработчика до приема последующих требований UDS. Вопрос Q-e6b2916cf4887164 (открытый)

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

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_02152
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02152@rel:R25-11#43fbeb10
Content hash
43fbeb10
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02152
Status: valid/unmigrated Version: rel:R25-11#98647892 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_02152@rel:R25-11#98647892
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

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

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

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

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

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

Чисто виртуальный метод Read вызывается модулем Diagnostic Management (DM) для извлечения данных ExtendedDataRecordElement из приложения ([SWS_DM_02156]). Поскольку DM постоянно сохраняет извлеченные данные в энергонезависимой памяти, метод всегда должен возвращать значение. Если данные недоступны на момент вызова, реализация должна заполнить их шаблоном заполнения, таким как 0xFF ([SWS_DM_02156]).

Выполнение происходит асинхронно и возвращает ara::core::Future, инкапсулирующий структуру ReadOutput в случае успеха ([SWS_DM_02154]). Вызов передает следующие параметры ([SWS_DM_02156]):

  • metaInfo: передает метаинформацию базового диагностического запроса.
  • cancellationHandler: позволяет опрашивать отмену с помощью cancellationHandler.IsCanceled(), а также регистрировать функцию уведомления через cancellationHandler.SetNotifier().

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

В случае ошибки Future предоставляет отрицательный код ответа UDS (DiagUdsNrcErrc) или специфическую для приложения ошибку (ApApplicationError) ([SWS_DM_02156], AUTOSAR_AP_SWS_Diagnostics §7.3.2.6.1 «NRCs created by application»). Если требуемый интерфейс службы еще не предоставляется или больше не предоставляется через offer(), DM отвечает с помощью NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). Кроме того, DiagOfferErrc::kAlreadyOffered сообщает, если служба уже предлагается ([SWS_DM_02156]).

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

Метод специфицирован как безопасный по исключениям (exception safe) ([SWS_DM_02156]). Потокобезопасность является условной и определяется реализацией (implementation defined) ([SWS_DM_02156]). Это отличает Read для записей расширенных данных от операций чтения регулярных элементов данных ([SWS_DM_00596]) или идентификаторов данных ([SWS_DM_00640]), которые явно не являются потокобезопасными.

Этот текст сгенерирован системой ИИ на основе спецификаций релиза R25-11.

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitconditional Thread safety is implementation defined

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< {<extended-data-record-element-name-upper-camel> }ReadOutput >• If successful: an ara::core::Future containing an ReadOutput object as per [SWS_DM_02154] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

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_02156
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02156@rel:R25-11#92f291f8
Content hash
92f291f8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02156
Status: valid/unmigrated Version: rel:R25-11#29b32782 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_02156@rel:R25-11#29b32782
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

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

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM

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

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

Функция StopOffer вызывается на экземпляре интерфейса Extended Data Record (<ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>), который подключается через заголовочный файл #include "<ExtendedDataRecordElementShortname>.h" [SWS_DM_02153]. Вызов выполняется синхронно, не принимает параметров и не имеет возвращаемого значения (void).

Назначение метода — деактивировать пересылку входящих сообщений запросов из Diagnostic Management (DM) в соответствующий элемент Extended Data Record [SWS_DM_02153]. После выполнения DM больше не пересылает новые диагностические запросы в связанный обработчик.

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

Функция объявлена с идентификатором noexcept и специфицирована как исключительной безопасности (exception safe) [SWS_DM_02153]. Специфические коды ошибок, возвращаемые значения или уведомления для средств мониторинга ошибок в полезной нагрузке не определены; в случае ошибки исключения не генерируются.

В отношении параллелизма метод явно классифицирован как потокобезопасный (thread-safe) [SWS_DM_02153]. Это представляет собой особенность, поскольку родственные интерфейсы StopOffer в ara::diag — как, например, для рутин [SWS_DM_00558], элементов данных [SWS_DM_00617] или мониторов [SWS_DM_01089] — специфицированы как непотокобезопасные. Запросы, уже находящиеся в обработке, вероятно, еще завершаются или отбрасываются до окончательной остановки. Вопрос Q-82e9d44f8ac1969d (открытый)

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

Именование следует единому шаблону служб в AUTOSAR Adaptive, при котором функциональные блоки управляют своей доступностью через Offer и StopOffer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». Таким образом, данный элемент входит в число сопоставимых интерфейсов DM, таких как для обобщенных служб UDS [SWS_DM_00620], идентификаторов данных [SWS_DM_00600], безопасного доступа [SWS_DM_00767] или требований сброса ECU [SWS_DM_01017].

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

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

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_02153
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02153@rel:R25-11#0e3f0004
Content hash
0e3f0004
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02153
Status: valid/unmigrated Version: rel:R25-11#0c3fd27f 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_02153@rel:R25-11#0c3fd27f
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

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

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

Copy assignment constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02148@rel:R25-11#7df975df
Content hash
7df975df
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02148
Status: valid/unmigrated Version: rel:R25-11#085b2936 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_02148@rel:R25-11#085b2936
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

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

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

Move assignment constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02150
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02150@rel:R25-11#c6639281
Content hash
c6639281
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02150
Status: valid/unmigrated Version: rel:R25-11#19edc7c0 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_02150@rel:R25-11#19edc7c0
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

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

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

Destruction of a DataElement

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
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_02151
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02151@rel:R25-11#d02f6239
Content hash
d02f6239
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02151
Status: valid/unmigrated Version: rel:R25-11#31ab9402 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_02151@rel:R25-11#31ab9402
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

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

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

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Symbol<ExtendedDataRecordElementOutArg>
Typ<ExtendedDataRecordElementOutArgType>

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

Record
AUTOSAR/AP/record/SWS_DM_02155
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02155@rel:R25-11#2c9e6f16
Content hash
2c9e6f16
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02155
Status: valid/unmigrated Version: rel:R25-11#db27b360 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_02155@rel:R25-11#db27b360
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