DEENESPTFRRUARHIKOZHNL

класс ara::diag::DoIPEntityIdentification

[SWS_DM_01362] Upstream: RS_Diag_00026

class DoIPEntityIdentification {...};

DoIPEntityIdentification class to obtain the EID if required.

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

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

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

Позволяет адаптивным приложениям предоставлять идентификацию DoIP-сущности для управления диагностикой.

Класс ara::diag::DoIPEntityIdentification позволяет адаптивным приложениям динамически предоставлять идентификацию сущности (EID) для диагностического протокола DoIP [SWS_DM_01361]. После создания экземпляра приложение активирует пересылку с помощью Offer() и отвечает на запросы Diagnostic Management через чисто виртуальный метод GetEntityId() асинхронно с помощью Future [SWS_DM_01366], [SWS_DM_01367]. Если интерфейс при запросе еще не предоставлен, управление диагностикой отправляет в качестве замены стандартизированное значение 0xFF [SWS_DM_01528].

Контекст

Класс ara::diag::DoIPEntityIdentification служит для динамического предоставления идентификации сущности (EID) для протокола DoIP (Diagnostic over IP) [SWS_DM_01361]. В среде AUTOSAR Adaptive он образует функциональный мост между индивидуальным адаптивным приложением и Diagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics, с. 107. Если в конфигурации DoIpNetworkConfiguration.eidRetrieval установлен режим DoIpEidRetrievalEnum.eidUseApi, Diagnostic Management запрашивает EID через этот программный интерфейс [SWS_DM_01361]. Привязка к архитектуре программного обеспечения осуществляется через ara::core::InstanceSpecifier, который ссылается на PortPrototype компонента DiagnosticDoIPEntityIdentificationInterface [SWS_DM_01364].

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

Создание выполняется через явный конструктор, которому помимо InstanceSpecifier передается параметр ConcurrencyType (kConcurrent или kNotConcurrent) [SWS_DM_01364]. Последний определяет, должны ли последующие обращения к интерфейсу обрабатываться потокобезопасно [SWS_DM_01364], [SWS_DM_01366]. После конструирования объект изначально остается в неактивном состоянии. Путем вызова Offer() интерфейс активируется для Diagnostic Management и включается пересылка запросов обработчику [SWS_DM_01367]. Перед уничтожением объекта или при завершении работы StopOffer() снова блокирует пересылку [SWS_DM_01368]. Уничтожение в итоге осуществляется через виртуальный деструктор [SWS_DM_01365]. Ни Offer(), ни StopOffer(), ни деструктор не являются потокобезопасными и поэтому требуют скоординированной синхронизации в коде приложения [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].

DoIPEntityIdentificationStates NichtBereitgestellt NichtBereitgestellt Bereitgestellt Bereitgestellt NichtBereitgestellt->Bereitgestellt Offer() Bereitgestellt->NichtBereitgestellt StopOffer() Bereitgestellt->Bereitgestellt GetEntityId()

Диаграмма состояний: жизненный цикл и фазы регистрации идентификации DoIP-сущности. Источники: [SWS_DM_01364], [SWS_DM_01365], [SWS_DM_01367], [SWS_DM_01368].

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

В типичном сценарии использования адаптивное приложение наследует собственный класс реализации от ara::diag::DoIPEntityIdentification и переопределяет чисто виртуальный метод GetEntityId() [SWS_DM_01366]. После создания экземпляра с действительным идентификатором приложение регистрирует обработчик с помощью Offer() [SWS_DM_01367]. Как только Diagnostic Management требуется ID сущности для формирования DoIP-сообщений, оно вызывает GetEntityId() [SWS_DM_01361], [SWS_DM_01366]. Метод возвращает ara::core::Future<EntityId>, благодаря чему идентификационные данные могут определяться и предоставляться асинхронно [SWS_DM_01366]. По окончании функционирования приложение отзывает предложение через StopOffer() [SWS_DM_01368].

Последовательность предоставления DoIP Entity IDПриложениеDoIPEntityIdentificationDiagnostic ManagementDoIPEntityIdentification(specifier, concurrencyType)Offer()ara::core::Result<void>Use Case: Запрос EID в протоколе DoIPGetEntityId()GetEntityId()ara::core::Future<EntityId>Use Case: DienstbeendigungStopOffer()

Диаграмма последовательности: типичная последовательность вызовов для регистрации и запроса EID со стороны Diagnostic Management. Источники: [SWS_DM_01361], [SWS_DM_01364], [SWS_DM_01366], [SWS_DM_01367], [SWS_DM_01368].

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

Ошибочные конфигурации модели при конструировании приводят к специфическим нарушениям времени выполнения: если InstanceSpecifier не удается разрешить в модели или он не указывает на PortPrototype, возникает InstanceSpecifierMappingIntegrityViolation [SWS_DM_01364]. Если отображение портов не указывает на DiagnosticDoIPEntityIdentificationInterface, имеет место PortInterfaceMappingViolation, в то время как отсутствие сопоставления процессов вызывает ProcessMappingViolation [SWS_DM_01364]. При многократном использовании одного и того же идентификатора в процессе следует InstanceSpecifierAlreadyInUseViolation [SWS_DM_01364].

Если Offer() вызывается в момент, когда служба уже активно предлагается, метод возвращает ara::core::Result с кодом ошибки DiagOfferErrc::kAlreadyOffered [SWS_DM_01367]. Если Diagnostic Management не удается запросить EID — например, потому что интерфейс на момент запроса еще не был предложен, — вступает в действие определенный резервный механизм протокола: Diagnostic Management отправляет в DoIP-сообщениях в качестве замены 6-байтовое значение EID 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF [SWS_DM_01528].

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

Карта членов

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

2

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

1

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

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

G nara__diag__DoIPEntityIdentification87 DoIPEntityIdentification + ~DoIPEntityIdentification() + DoIPEntityIdentification() + GetEntityId() + Offer() + StopOffer()

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

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

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

Constructor of DoIPEntityIdentification.

explicit DoIPEntityIdentification (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Destructor of DoIPEntityIdentification.

virtual ~DoIPEntityIdentification () noexcept;

Методы

GetEntityId функция

Called to get the EID for the DoIP protocol.

virtual ara::core::Future< EntityId > GetEntityId () noexcept=0;
Offer функция

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

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

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

void StopOffer () noexcept;

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

EntityId класс

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

функция DoIPEntityIdentification [SWS_DM_01364] Upstream: RS_AP_00137, RS_Diag_00026, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit DoIPEntityIdentification (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Constructor of DoIPEntityIdentification.

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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 referenced by a pingViolation DiagnosticDoIpEntityIdentificationPortMapping needs to be typed by a DiagnosticDoIPEntityIdentificationInterface. 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 DiagnosticDoIPEntityIdentificationInterface.
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_01364
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01364@rel:R25-11#5d21bb69
Content hash
5d21bb69
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01364
Status: valid/unmigrated Version: rel:R25-11#01461b41 Versionshistorie & Revisions (1 transition, 5 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_01364@rel:R25-11#01461b41
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#8c31120d2026-09-30
  • R22-11rel:R22-11#97f4f9572026-10-14
  • R23-11rel:R23-11#6285024e2026-10-14
  • R24-11rel:R24-11#bff980792026-10-14
  • R25-11rel:R25-11#01461b412026-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

функция GetEntityId [SWS_DM_01366] Upstream: RS_AP_00138, RS_Diag_00026

virtual ara::core::Future< EntityId > GetEntityId () noexcept=0;

Called to get the EID for the DoIP protocol.

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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

Rückgabewert

TypBeschreibung
ara::core::Future< EntityId >Entity identification

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_01366
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01366@rel:R25-11#3b485833
Content hash
3b485833
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01366
Status: valid/unmigrated Version: rel:R25-11#b7599708 Versionshistorie & Revisions (1 transition, 5 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_01366@rel:R25-11#b7599708
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#0daba9352026-09-30
  • R22-11rel:R22-11#03ed90322026-10-14
  • R23-11rel:R23-11#dc0449c22026-10-14
  • R24-11rel:R24-11#35c811cd2026-10-14
  • R25-11rel:R25-11#b75997082026-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_01367] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_00026

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

Метод Offer класса ara::diag::DoIPEntityIdentification включает пересылку входящих запросов DoIP демоном Diagnostic Management Daemon (DM) зарегистрированному обработчику ([SWS_DM_01367]). Сообщения передаются обработчику только после успешного вызова. Интерпретация: вызов, как правило, выполняется на этапе инициализации Adaptive Application до того, как должны приниматься диагностические сообщения. Вопрос Q-4b78d4f80bda63a4 (открытый)

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

  • Контекст вызова: операция выполняется синхронно и объявлена как noexcept; она не генерирует исключений ([SWS_DM_01367]).
  • Возвращаемое значение: она возвращает ara::core::Result<void>, который в случае успеха не содержит значения ([SWS_DM_01367]).

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

  • Если интерфейс для данного экземпляра уже был предложен, вызов завершается сбоем и возвращает код ошибки DiagOfferErrc::kAlreadyOffered с семантикой отката ([SWS_DM_01367]).

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

  • Интерфейс специфицирован как not thread-safe ([SWS_DM_01367]). Одновременные вызовы на одном и том же экземпляре должны синхронизироваться вызывающим приложением.

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

Шаблон регистрации соответствует подходу других служб DoIP, таких как DoIPGroupIdentification ([SWS_DM_00725]) и DoIPPowerMode ([SWS_DM_00735]), а также универсальных обработчиков UDS ([SWS_DM_00619]). Именование следует шаблону, известному из ara::com, но представляет собой отдельную регистрацию в DM (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

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

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

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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_01367
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01367@rel:R25-11#804a3270
Content hash
804a3270
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01367
Status: valid/unmigrated Version: rel:R25-11#1e1b8396 Versionshistorie & Revisions (1 transition, 5 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_01367@rel:R25-11#1e1b8396
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#bac2d0d72026-09-30
  • R22-11rel:R22-11#78e265802026-10-14
  • R23-11rel:R23-11#4d70569b2026-10-14
  • R24-11rel:R24-11#2f07768f2026-10-14
  • R25-11rel:R25-11#1e1b83962026-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_01368] Upstream: RS_Diag_00026

void StopOffer () noexcept;

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

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

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

Метод ara::diag::DoIPEntityIdentification::StopOffer прекращает предоставление службы идентификации сущности DoIP и деактивирует пересылку сообщений-запросов из Diagnostic Management (DM) приложению [SWS_DM_01368]. Интерфейс предоставляется через заголовочный файл ara/diag/doip_entity_identification.h. Он не принимает параметров и не возвращает значения (void) [SWS_DM_01368]. Интерпретация: поскольку сигнатура не предусматривает ни объекта Future, ни уведомления через callback, вызов, вероятно, выполняется синхронно с блокировкой до тех пор, пока пересылка в DM не будет прекращена. Вопрос Q-75f67df3a003b08f (открытый)

Обработка ошибок и безопасность исключений

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

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

Что касается среды выполнения, метод классифицирован как не потокобезопасный (not thread-safe) [SWS_DM_01368]. Если выполняются параллельные вызовы или обращения к одному и тому же экземпляру ara::diag::DoIPEntityIdentification, они должны синхронизироваться на стороне приложения.

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

Поведение вписывается в единый шаблон жизненного цикла AUTOSAR Adaptive Diagnostic Management. Сравнимое отключение пересылки сообщений происходит, например, при идентификации групп через [SWS_DM_00726], а также у диагностических переключателей и мониторов через [SWS_DM_01089]. Как подчеркивается в AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors», наименование Offer и StopOffer ориентируется на шаблоны из ara::com, однако представляет собой самостоятельную реализацию для диагностических интерфейсов.

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

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

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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_01368
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01368@rel:R25-11#6e52e15a
Content hash
6e52e15a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01368
Status: valid/unmigrated Version: rel:R25-11#995f1e52 Versionshistorie & Revisions (1 transition, 5 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_01368@rel:R25-11#995f1e52
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#0a1040402026-09-30
  • R22-11rel:R22-11#9e1482542026-10-14
  • R23-11rel:R23-11#de1f2b922026-10-14
  • R24-11rel:R24-11#40423c4c2026-10-14
  • R25-11rel:R25-11#995f1e522026-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

функция ~DoIPEntityIdentification [SWS_DM_01365] Upstream: RS_AP_00134, RS_Diag_00026

virtual ~DoIPEntityIdentification () noexcept;

Destructor of DoIPEntityIdentification.

Header-Datei#include "ara/diag/doip_entity_identification.h"
Scopeclass ara::diag::DoIPEntityIdentification
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_01365
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01365@rel:R25-11#78657b12
Content hash
78657b12
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01365
Status: valid/unmigrated Version: rel:R25-11#dd9937e2 Versionshistorie & Revisions (1 transition, 5 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_01365@rel:R25-11#dd9937e2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#0ce405e32026-09-30
  • R22-11rel:R22-11#73c187462026-10-14
  • R23-11rel:R23-11#e45fbddd2026-10-14
  • R24-11rel:R24-11#d5ded6fa2026-10-14
  • R25-11rel:R25-11#dd9937e22026-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