DEENESPTFRRUARHIKOZHNL

класс ara::diag::EcuResetRequest

[SWS_DM_01009] Upstream: RS_Diag_04169, RS_Diag_04279

class EcuResetRequest {...};

Service EcuReset Request interface.

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

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

Служит интерфейсом для приложений для проверки и выполнения сбросов ЭБУ по UDS в Diagnostic Management.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5b921e2dd86f Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит интерфейсом для приложений для проверки и выполнения сбросов ЭБУ по UDS в Diagnostic Management.

Класс ara::diag::EcuResetRequest представляет интерфейс приложения для обработки служб сброса UDS (Service 0x11) в Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1. После активации с помощью Offer() он принимает запросы на проверку и выполнение перезапусков, а также на управление Rapid Shutdown ([SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014]). Экземпляры не поддерживают ни копирование, ни перемещение, и все методы специфицированы как непотокобезопасные ([SWS_DM_01010], [SWS_DM_01621]).

Контекст

Интерфейсный класс ara::diag::EcuResetRequest служит для обработки службы UDS ECUReset (Service 0x11) в AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 «Service 0x11 – ECUReset – RapidPowerShutdown sub function». Он позволяет приложению выступать в качестве обработчика запросов на сброс от Diagnostic Management (DM). К задачам относятся активация или деактивация быстрого завершения работы ([SWS_DM_01012]), проверка входящих запросов на сброс ([SWS_DM_01013]), а также фактическое выполнение перезапуска ([SWS_DM_01014]). Участвующими сторонами взаимодействия являются внешний диагностический тестер, экземпляр Diagnostic Management (DM или Diagnostic Server) и реализация EcuResetRequest на стороне приложения.

EcuResetContext Tester Diagnosetester DM Diagnostic Management (DM) Tester->DM UDS Service 0x11 (ECUReset) Handler ara::diag::EcuResetRequest (Anwendungshandler) DM->Handler Offer / StopOffer EnableRapidShutdown RequestReset ExecuteReset

Контекстная диаграмма: взаимодействие между диагностическим тестером, Diagnostic Management (DM) и приложением-обработчиком. Источники: AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1, AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2, [SWS_DM_01010], [SWS_DM_01016].

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

Экземпляр EcuResetRequest создается с помощью явного конструктора с указанием ara::core::InstanceSpecifier, ссылающегося на PortPrototype элемента DiagnosticEcuResetInterface ([SWS_DM_01010]). Согласно проектным требованиям, класс не поддерживает ни копирование, ни перемещение; конструкторы копирования и перемещения ([SWS_DM_01621], [SWS_DM_01622]), а также соответствующие операторы присваивания ([SWS_DM_01619], [SWS_DM_01620]) явно удалены (=delete). Все методы интерфейса, а также деструктор ([SWS_DM_01011]) специфицированы как not thread-safe ([SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017]). После инициализации обработчик сначала находится в состоянии, в котором пересылка запросов не происходит, пока регистрация не будет явно активирована с помощью Offer() ([SWS_DM_01016]). Вызовом StopOffer() пересылка запросов снова деактивируется ([SWS_DM_01017]), прежде чем объект может быть уничтожен ([SWS_DM_01011]).

EcuResetLifecycle Init Не инициализирован Instantiated Инстанцирован (не предложен) Init->Instantiated EcuResetRequest(specifier) Offered Angeboten (Anfragen aktiv) Instantiated->Offered Offer() Destroyed Уничтожен Instantiated->Destroyed ~EcuResetRequest() Offered->Instantiated StopOffer()

Диаграмма состояний: фазы жизненного цикла и состояния регистрации экземпляра EcuResetRequest. Источники: [SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017], [SWS_DM_01011].

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

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

  1. Инстанцирование и включение: приложение инстанцирует производный класс с подходящим InstanceSpecifier ([SWS_DM_01010]) и вызывает Offer(), чтобы позволить DM пересылать запросы ([SWS_DM_01016]).
  2. Управление Rapid Shutdown: если DM получает запрос UDS для EnableRapidPowerShutdown или DisableRapidPowerShutdown, он вызывает EnableRapidShutdown(enable, metaInfo, cancellationHandler) ([SWS_DM_01020], [SWS_DM_01021], [SWS_DM_01012]). При положительном подтверждении DM подставляет сконфигурированное значение времени отключения в ответ (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 [SWS_DM_01092]).
  3. Запрос на сброс: для всех остальных подфункций сброса UDS DM вызывает метод RequestReset(resetType, id, metaInfo, cancellationHandler) ([SWS_DM_01013]). Инстанцирующий процесс должен тщательно проверить, допустим ли перезапуск частей машины или всей машины в целом ([SWS_DM_01013]). Через cancellationHandler можно запросить статус отмены или зарегистрировать нотификатор ([SWS_DM_01013]).
  4. Выполнение сброса: если запрос принят и сконфигурирована отправка положительного ответа до сброса (respondBeforeReset или отсутствует), Diagnostic Server отправляет положительный ответ UDS и затем вызывает ExecuteReset(metaInfo) (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023], [SWS_DM_01014]). Если вместо этого было сконфигурировано respondAfterReset, положительный ответ отправляется обратно только после перезапуска, при условии, что RequestReset() не сообщил об ошибке (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_00360]).
  5. Отмена регистрации службы: для прекращения пересылки службы приложение вызывает StopOffer() ([SWS_DM_01017]).
Обработка запроса на сброс (respondBeforeReset)TesterDMEcuResetRequestOffer()kSuccessUDS 0x11 ECUReset RequestRequestReset(resetType, id, metaInfo, handler)Проверить допустимость сбросаFuture<void> bereit (Erfolg)Positive UDS Response (0x51)ExecuteReset(metaInfo)Выполнить перезапуск

Диаграмма последовательности: выполнение запроса EcuReset с подтверждением перед выполнением сброса (respondBeforeReset). Источники: [SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023].

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

В случае ошибки при различных вызовах необходимо учитывать следующие аспекты:

  • Нарушения в конструкторе: при создании могут возникать нарушения модели, в частности, если InstanceSpecifier не может быть разрешен в модели (InstanceSpecifierMappingIntegrityViolation), ссылается на неверный элемент модели, отсутствует привязка к порту (PortInterfaceMappingViolation), отсутствует связь с процессом (ProcessMappingViolation) или идентификатор уже используется в процессе (InstanceSpecifierAlreadyInUseViolation) ([SWS_DM_01010]).
  • Ошибки регистрации: если Offer() вызывается, когда служба уже предлагается, метод возвращает ara::core::Result с кодом ошибки DiagOfferErrc::kAlreadyOffered ([SWS_DM_01016]).
  • Диагностические коды ошибок (NRC): если EnableRapidShutdown, RequestReset или ExecuteReset не могут быть успешно завершены, возвращаемые ими Future возвращают ошибку с соответствующим кодом отрицательного ответа ISO 14229-1 (NRC) через DiagUdsNrcErrc ([SWS_DM_01012], [SWS_DM_01013], [SWS_DM_01014]). Следует учитывать: если respondToReset установлено в respondBeforeReset или не сконфигурировано, ошибка в ExecuteReset() больше не влияет на диагностический ответ, поскольку положительное подтверждение уже было отправлено тестеру ранее ([SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023]).

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

Карта членов

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

2

Операторы

1

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

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

G nara__diag__EcuResetRequest662 EcuResetRequest + EcuResetRequest() + operator=() + ~EcuResetRequest() + EnableRapidShutdown() + ExecuteReset() + Offer() + RequestReset() + StopOffer()

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

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

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

EcuResetRequest функция 3

Constructor of EcuResetRequest.

Перегрузки EcuResetRequest 3
explicit EcuResetRequest (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_01010
EcuResetRequest (EcuResetRequest &)=delete; SWS_DM_01621
EcuResetRequest (EcuResetRequest &&) noexcept=delete; SWS_DM_01622
~EcuResetRequest функция

Destructor of EcuResetRequest.

virtual ~EcuResetRequest () noexcept;

Методы

EnableRapidShutdown функция

Interface for subFunction En-/DisableRapidShutdown.

virtual ara::core::Future< void > EnableRapidShutdown (bool enable, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
ExecuteReset функция

process which is instantiating this interface, has to execute the requested reset.

virtual ara::core::Future< void > ExecuteReset (const MetaInfo &meta Info) noexcept=0;
Offer функция

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

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

Called for any EcuReset subFunction, except En-/DisableRapidShutdown. The process, which is instantiating this interface, needs to evaluate carefully if the request to restart parts or the whole machine. Once the request to reset is accepted, the process, which is instantiating this interface, has to rely on this decision for the ExecuteReset() trigger.

virtual ara::core::Future< void > RequestReset (ResetRequestType reset Type, ara::core::Optional< std::uint8_t > id, const MetaInfo &meta Info, CancellationHandler cancellationHandler) noexcept=0;
StopOffer функция

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

void StopOffer () noexcept;

Операторы

operator= функция 2

EcuResetRequest shall be a single not assignable instance.

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

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

функция EcuResetRequest [SWS_DM_01010] Upstream: RS_Diag_04169, RS_Diag_04279, RS_AP_00170, RS_AP_00171, RS_ AP_00172, RS_AP_00173

explicit EcuResetRequest (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-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 DiagnosticEcuResetInterface needs to be referenced by a DiagnosticServiceGenericMapping. 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 DiagnosticEcuResetInterface.

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

Record
AUTOSAR/AP/record/SWS_DM_01010
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01010@rel:R25-11#85dbba38
Content hash
85dbba38
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01010
Status: valid/unmigrated Version: rel:R25-11#d5265513 Versionshistorie & Revisions (1 transition, 7 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_01010@rel:R25-11#d5265513
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#eedc6deb2026-09-30
  • R20-11rel:R20-11#246a248c2026-10-14
  • R21-11rel:R21-11#385ccb202026-10-14
  • R22-11rel:R22-11#b88eff8f2026-10-14
  • R23-11rel:R23-11#ae737ede2026-10-14
  • R24-11rel:R24-11#f98779722026-10-14
  • R25-11rel:R25-11#d52655132026-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

функция EcuResetRequest [SWS_DM_01621] Upstream: RS_AP_00147

EcuResetRequest (EcuResetRequest &)=delete;

EcuResetRequest shall be a single not copy-able instance.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01621
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01621@rel:R25-11#7ebc4ba5
Content hash
7ebc4ba5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01621
Status: valid/unmigrated Version: rel:R25-11#063cef9f 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_01621@rel:R25-11#063cef9f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#68e53b3b2026-09-30
  • R23-11rel:R23-11#43d917e62026-10-14
  • R24-11rel:R24-11#063cef9f2026-10-14
  • R25-11rel:R25-11#063cef9f2026-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

функция EcuResetRequest [SWS_DM_01622] Upstream: RS_AP_00147

EcuResetRequest (EcuResetRequest &&) noexcept=delete;

Move constructor of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01622
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01622@rel:R25-11#06f5da89
Content hash
06f5da89
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01622
Status: valid/unmigrated Version: rel:R25-11#6ad7777d 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_01622@rel:R25-11#6ad7777d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#d6eb29c62026-09-30
  • R23-11rel:R23-11#1ddab05e2026-10-14
  • R24-11rel:R24-11#6ad7777d2026-10-14
  • R25-11rel:R25-11#6ad7777d2026-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

функция EnableRapidShutdown [SWS_DM_01012] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ara::core::Future< void > EnableRapidShutdown (bool enable, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Interface for subFunction En-/DisableRapidShutdown.

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

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

Чисто виртуальный метод EnableRapidShutdown класса ara::diag::EcuResetRequest служит интерфейсом для обработки субфункций UDS для быстрого завершения работы ([SWS_DM_01012]). При входящих диагностических запросах службы 0x11 (ECUReset) Diagnostic Manager (DM) вызывает эту функцию: для EnableRapidPowerShutdown с аргументом enable = true ([SWS_DM_01020]), а для DisableRapidPowerShutdown — с enable = false ([SWS_DM_01021]). Это отличает обе эти субфункции от всех остальных служб ECUReset, которые вместо этого инициируют RequestReset ([SWS_DM_00235]).

Метод принимает три параметра ([SWS_DM_01012]):

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

Семантика, обработка ошибок и параллелизм

Интерфейс возвращает ara::core::Future<void>; таким образом, фактическая обработка, предположительно, выполняется асинхронно в фоновом режиме ([SWS_DM_01012]). Вопрос Q-ee781913ae88fabb (открытый) В случае успеха future не возвращает значения. В случае ошибки необходимо установить подходящий Negative Response Code (NRC) согласно ISO 14229-1 с помощью DiagUdsNrcErrc (AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 «EnableRapidShutdown»). Функция специфицирована как noexcept и безопасная относительно исключений (exception safe), однако считается непотокобезопасной (not thread-safe), из-за чего параллельных вызовов на одном и том же экземпляре необходимо избегать на стороне приложения ([SWS_DM_01012]).

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

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

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

Parameter (in)

ParameterBeschreibung
enableWhen enable is set to true the rapid shutdown will be enabled, setting enable to false will disable rapid shutdown.
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 >Returns nothing or an error.

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_01012
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01012@rel:R25-11#6dfd39c7
Content hash
6dfd39c7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01012
Status: valid/unmigrated Version: rel:R25-11#bcd20ad3 Versionshistorie & Revisions (1 transition, 7 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_01012@rel:R25-11#bcd20ad3
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#56b7972b2026-09-30
  • R20-11rel:R20-11#5894545d2026-10-14
  • R21-11rel:R21-11#f28899972026-10-14
  • R22-11rel:R22-11#2342434c2026-10-14
  • R23-11rel:R23-11#9ee9b9ec2026-10-14
  • R24-11rel:R24-11#f504b4a02026-10-14
  • R25-11rel:R25-11#bcd20ad32026-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

функция ExecuteReset [SWS_DM_01014] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ara::core::Future< void > ExecuteReset (const MetaInfo &meta Info) noexcept=0;

process which is instantiating this interface, has to execute the requested reset.

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

Метод ExecuteReset интерфейса ara::diag::EcuResetRequest вызывается Diagnostic Server (DM), чтобы фактически инициировать в реализующем процессе сброс ECU, ранее принятый через [SWS_DM_01013] [SWS_DM_01014]. В качестве параметра передается metaInfo запроса. Функция специфицирована как непотокобезопасная (not thread-safe), однако безопасная относительно исключений (exception safe) [SWS_DM_01014].

Момент вызова сервером Diagnostic Server зависит от конфигурационного параметра DiagnosticEcuResetClass.respondToReset:

  • Если параметр отсутствует или установлен в respondBeforeReset, Diagnostic Server вызывает ExecuteReset только после отправки положительного ответа UDS [SWS_DM_01023].
  • Если сконфигурирован respondAfterReset, вызов ExecuteReset выполняется напрямую и без предварительной отправки положительного ответа [SWS_DM_01090].

Функция возвращает ara::core::Future<void> [SWS_DM_01014]. Если входящие UDS-запросы были заблокированы после принятия сброса [SWS_DM_01022], Diagnostic Server снова снимает эту блокировку, как только возвращенный методом ExecuteReset Future завершится [SWS_DM_01309]. Возможные ошибки сигнализируются через NRC стандарта ISO 14229-1 с помощью DiagUdsNrcErrc в Future; однако при конфигурации respondBeforeReset переданная ошибка не имеет действия [SWS_DM_01014].

Этот текст создан ИИ и основан на AUTOSAR Release R25-11.

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

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

Parameter (in)

ParameterBeschreibung
metaInfoMetaInfo of the request.

Rückgabewert

TypBeschreibung
ara::core::Future< void >Return nothing or an error. In case the parameter DiagnosticEcu ResetClass.respondToReset is either not present or present and set to respondBeforeReset, a given error has no effect.

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_01014
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01014@rel:R25-11#0388ba86
Content hash
0388ba86
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01014
Status: valid/unmigrated Version: rel:R25-11#9b89344b Versionshistorie & Revisions (1 transition, 7 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_01014@rel:R25-11#9b89344b
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3c31c4c42026-09-30
  • R20-11rel:R20-11#f252061c2026-10-14
  • R21-11rel:R21-11#f252061c2026-10-14
  • R22-11rel:R22-11#bbbf4a092026-10-14
  • R23-11rel:R23-11#a9b548302026-10-14
  • R24-11rel:R24-11#b8e5157a2026-10-14
  • R25-11rel:R25-11#9b89344b2026-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_01016] Upstream: RS_AP_00139, RS_AP_00119

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

С помощью метода ara::diag::EcuResetRequest::Offer ([SWS_DM_01016]) Adaptive Application сигнализирует Diagnostic Management (DM) о готовности принимать входящие диагностические запросы на сброс ECU. Синхронным вызовом DM авторизуется на пересылку соответствующих сообщений запроса этому обработчику ([SWS_DM_01016]). Вызов, как правило, должен выполняться на этапе инициализации приложения до того, как диагностические запросы должны обрабатываться DM. Вопрос Q-93d794e6b1dba23e (открытый)

Вызов и обработка ошибок

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

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

Согласно спецификации функция классифицирована как not thread-safe ([SWS_DM_01016]). Поэтому вызовы на одном и том же экземпляре ara::diag::EcuResetRequest должны синхронизироваться на стороне приложения. Паттерн предоставления соответствует единообразному дизайну интерфейсов в Adaptive Diagnostic Management, аналогично тому, как это определено для других обработчиков, таких как ara::diag::GenericUDSService::Offer ([SWS_DM_00619]), ara::diag::GenericRoutine::Offer ([SWS_DM_00557]) или ara::diag::CommunicationControl::Offer ([SWS_DM_00809]). Хотя наименование ориентировано на ara::com, речь идет о независимой реализации Diagnostic Management (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

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

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

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
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_01016
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01016@rel:R25-11#0f34f0f3
Content hash
0f34f0f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01016
Status: valid/unmigrated Version: rel:R25-11#90db9ee6 Versionshistorie & Revisions (1 transition, 7 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_01016@rel:R25-11#90db9ee6
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ac6a418a2026-09-30
  • R20-11rel:R20-11#f25441de2026-10-14
  • R21-11rel:R21-11#f25441de2026-10-14
  • R22-11rel:R22-11#c744526e2026-10-14
  • R23-11rel:R23-11#51fa43912026-10-14
  • R24-11rel:R24-11#dc8480be2026-10-14
  • R25-11rel:R25-11#90db9ee62026-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

функция RequestReset [SWS_DM_01013] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ara::core::Future< void > RequestReset (ResetRequestType reset Type, ara::core::Optional< std::uint8_t > id, const MetaInfo &meta Info, CancellationHandler cancellationHandler) noexcept=0;

Called for any EcuReset subFunction, except En-/DisableRapidShutdown. The process, which is instantiating this interface, needs to evaluate carefully if the request to restart parts or the whole machine. Once the request to reset is accepted, the process, which is instantiating this interface, has to rely on this decision for the ExecuteReset() trigger.

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

Метод ara::diag::EcuResetRequest::RequestReset (#include "ara/diag/ecu_reset_request.h") вызывается диагностическим сервером, как только принимается UDS-запрос для службы 0x11 (ECUReset) ([SWS_DM_00235], SWS Diagnostics §7.3.2.8.5.2 «Service 0x11 – ECUReset – all other sub functions»). Это применимо ко всем подфункциям сброса, за исключением EnableRapidPowerShutdown и DisableRapidPowerShutdown ([SWS_DM_01013]). Инстанцирующее приложение перед подтверждением должно тщательно проверить, допускается ли выполнение перезапуска частей или всей машины ([SWS_DM_01013]).

Параметры и асинхронный интерфейс

Вызов передает тип сброса resetType, опциональный идентификатор id (обрабатывается только в том случае, если resetType установлено в custom), метаданные metaInfo, а также cancellationHandler ([SWS_DM_01013]). Через cancellationHandler приложение может с помощью IsCanceled определить статус отмены или посредством SetNotifier зарегистрировать функцию обратного вызова для событий отмены ([SWS_DM_01013]). Результат предоставляется асинхронно через ara::core::Future<void> ([SWS_DM_01013]).

Обработка ошибок, управление последовательностью операций и параллелизм

Если сброс не может быть принят, в Future необходимо вернуть подходящий код ошибки NRC через DiagUdsNrcErrc согласно ISO 14229-1 ([SWS_DM_01013]); кроме того, учитывается отправка ApApplicationError ([SWS_DM_00360]). Если запрос принят, это решение является обязательным для последующего триггера ExecuteReset ([SWS_DM_01013]), и диагностический сервер игнорирует последующие входящие UDS-запросы ([SWS_DM_01022]) до тех пор, пока блокировка не будет снята после завершения ExecuteReset ([SWS_DM_01309]). Фактическое выполнение сброса происходит в зависимости от DiagnosticEcuResetClass.respondToReset либо после отправки положительного UDS-ответа ([SWS_DM_01023]), либо непосредственно перед перезапуском ([SWS_DM_01090]). Функция специфицирована как exception safe, однако явно как not thread-safe ([SWS_DM_01013]).

Это указание по использованию основано на спецификации AUTOSAR Adaptive Platform Release R25-11.

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

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

Parameter (in)

ParameterBeschreibung
resetTypeType of the requested reset.
idid of the custom reset type. Will only be evaluated when resetType is "custom".
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 >Returns nothing or an error.

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_01013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01013@rel:R25-11#5f609ab3
Content hash
5f609ab3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01013
Status: valid/unmigrated Version: rel:R25-11#abbae6cb Versionshistorie & Revisions (1 transition, 7 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_01013@rel:R25-11#abbae6cb
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#2298781a2026-09-30
  • R20-11rel:R20-11#a2a16bce2026-10-14
  • R21-11rel:R21-11#db0fc51c2026-10-14
  • R22-11rel:R22-11#998c28012026-10-14
  • R23-11rel:R23-11#6254ffe82026-10-14
  • R24-11rel:R24-11#3fb22acc2026-10-14
  • R25-11rel:R25-11#abbae6cb2026-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_01017] Upstream: RS_Diag_04169, RS_Diag_04279

void StopOffer () noexcept;

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

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

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

Метод ara::diag::EcuResetRequest::StopOffer завершает предоставление сервиса сброса и деактивирует пересылку входящих сообщений-запросов от Diagnostic Management (DM) в приложение ([SWS_DM_01017], AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.5 «StopOffer»). Функция имеет сигнатуру void StopOffer() noexcept, не ожидает параметров и не возвращает значения.

Обработка ошибок и поведение при исключениях

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

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

Метод явно классифицирован как непотокобезопасный (not thread-safe) ([SWS_DM_01017]). Вызывающие стороны должны синхронизировать конкурирующие обращения к одному и тому же экземпляру ara::diag::EcuResetRequest на стороне приложения. С прикладной точки зрения вызов, вероятно, предусмотрен только после предварительного предложения обработчика, чтобы упорядоченно остановить приём дальнейших запросов на сброс. Вопрос Q-25f37b77dc8cf80f (открытый)

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

Деактивация пересылки через StopOffer следует единому интерфейсному паттерну функциональных диагностических обработчиков в Adaptive AUTOSAR, аналогично тому, как это определено и для других сервисов, таких как CommunicationControl ([SWS_DM_00810]) или DownloadService ([SWS_DM_00793]).

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

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

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
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_01017
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01017@rel:R25-11#000a7792
Content hash
000a7792
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01017
Status: valid/unmigrated Version: rel:R25-11#157260a3 Versionshistorie & Revisions (1 transition, 7 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_01017@rel:R25-11#157260a3
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#becd6c1d2026-09-30
  • R20-11rel:R20-11#d14003032026-10-14
  • R21-11rel:R21-11#12e02bbc2026-10-14
  • R22-11rel:R22-11#f8a228ae2026-10-14
  • R23-11rel:R23-11#a13668412026-10-14
  • R24-11rel:R24-11#599424bf2026-10-14
  • R25-11rel:R25-11#157260a32026-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_01619] Upstream: RS_AP_00147

EcuResetRequest & operator= (EcuResetRequest &)=delete;

EcuResetRequest shall be a single not assignable instance.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01619
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01619@rel:R25-11#d3cdcba0
Content hash
d3cdcba0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01619
Status: valid/unmigrated Version: rel:R25-11#eb3701bb 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_01619@rel:R25-11#eb3701bb
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#69df81e22026-09-30
  • R23-11rel:R23-11#9e10724e2026-10-14
  • R24-11rel:R24-11#d8917e8d2026-10-14
  • R25-11rel:R25-11#eb3701bb2026-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_01620] Upstream: RS_AP_00147

EcuResetRequest & operator= (EcuResetRequest &&)=delete;

Move assignment operator of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest

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

Record
AUTOSAR/AP/record/SWS_DM_01620
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01620@rel:R25-11#273dc0ce
Content hash
273dc0ce
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01620
Status: valid/unmigrated Version: rel:R25-11#6a0a3bfb 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_01620@rel:R25-11#6a0a3bfb
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#bf9cee0f2026-09-30
  • R23-11rel:R23-11#d2fc822c2026-10-14
  • R24-11rel:R24-11#6a0a3bfb2026-10-14
  • R25-11rel:R25-11#6a0a3bfb2026-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

функция ~EcuResetRequest [SWS_DM_01011] Upstream: RS_Diag_04169, RS_Diag_04279

virtual ~EcuResetRequest () noexcept;

Destructor of EcuResetRequest.

Header-Datei#include "ara/diag/ecu_reset_request.h"
Scopeclass ara::diag::EcuResetRequest
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_01011
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01011@rel:R25-11#99e4e01e
Content hash
99e4e01e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01011
Status: valid/unmigrated Version: rel:R25-11#6f92477d Versionshistorie & Revisions (1 transition, 7 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_01011@rel:R25-11#6f92477d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#b72ad7912026-09-30
  • R20-11rel:R20-11#3ffa5d7d2026-10-14
  • R21-11rel:R21-11#3ffa5d7d2026-10-14
  • R22-11rel:R22-11#286b009e2026-10-14
  • R23-11rel:R23-11#ffb926aa2026-10-14
  • R24-11rel:R24-11#8a061c332026-10-14
  • R25-11rel:R25-11#6f92477d2026-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