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

用户指南人工智能生成

用作应用程序在 Diagnostic Management 中检查和执行 UDS 控制单元复位的接口。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5b921e2dd86f 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用作应用程序在 Diagnostic Management 中检查和执行 UDS 控制单元复位的接口。

类 ara::diag::EcuResetRequest 表示在 Diagnostic Management 中处理 UDS 复位服务(Service 0x11)的应用程序接口 AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1。通过 Offer() 激活后,它接收用于检查和执行重启以及快速关断控制的请求([SWS_DM_01016]、[SWS_DM_01013]、[SWS_DM_01014])。实例既不可复制也不可移动,并且所有方法均指定为非线程安全([SWS_DM_01010]、[SWS_DM_01621])。

上下文

接口类 ara::diag::EcuResetRequest 用于在 AUTOSAR Adaptive Platform 中处理 UDS 服务 ECUReset(Service 0x11)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 的实例通过其显式构造函数并在指定引用 DiagnosticEcuResetInterface 的 PortPrototype 的 ara::core::InstanceSpecifier 的情况下创建([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])。初始化后,Handler 最初处于不进行请求转发的状态,直到通过 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. 快速关断控制:如果 DM 收到针对 EnableRapidPowerShutdown 或 DisableRapidPowerShutdown 的 UDS 请求,它将调用 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(),该方法将返回带有错误码 DiagOfferErrc::kAlreadyOffered 的 ara::core::Result([SWS_DM_01016])。
  • 诊断错误码(NRC):如果 EnableRapidShutdown、RequestReset 或 ExecuteReset 无法成功完成,其返回的 Future 会通过 DiagUdsNrcErrc 返回带有相应 ISO 14229-1 否定响应码(NRC)的错误([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 的规范。

成员图

类图

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

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

详细视图

请在大纲中选择一个条目。

构造函数和析构函数

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

Destructor of EcuResetRequest.

virtual ~EcuResetRequest () noexcept;

方法

Interface for subFunction En-/DisableRapidShutdown.

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

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;

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#3d6d027e
Content hash
3d6d027e
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#a1bcfc57
Content hash
a1bcfc57
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#a5ea6b09
Content hash
a5ea6b09
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 64d1feb19ece 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

类 ara::diag::EcuResetRequest 的纯虚方法 EnableRapidShutdown 用作用于处理快速关机 UDS 子功能的接口([SWS_DM_01012])。当收到服务 0x11(ECUReset)的传入诊断请求时,Diagnostic Manager(DM)会调用此函数:对于 EnableRapidPowerShutdown 传入参数 enable = true([SWS_DM_01020]),对于 DisableRapidPowerShutdown 传入 enable = false([SWS_DM_01021])。这使得这两个子功能与所有其他触发 RequestReset 的 ECUReset 服务区别开来([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 不返回任何值。在出错的情况下,必须使用 DiagUdsNrcErrc 设置符合 ISO 14229-1 的相应否定响应码(NRC)(AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 “EnableRapidShutdown”)。该函数被指定为 noexcept 且是异常安全的(exception safe),但被视为非线程安全(not thread-safe),因此应用端必须避免在同一实例上进行并发调用([SWS_DM_01012])。

本文由 AI 基于 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#a33a760d
Content hash
a33a760d
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5a6dac3995bc 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

接口 ara::diag::EcuResetRequest 的方法 ExecuteReset 由 Diagnostic Server(DM)调用,以便在实现进程中实际触发先前通过 [SWS_DM_01013] 接受的 ECU 复位 [SWS_DM_01014]。请求的 metaInfo 将作为参数传递。该函数被指定为非线程安全(not thread-safe),但为异常安全(exception safe)[SWS_DM_01014]。

Diagnostic Server 的调用时机取决于配置参数 DiagnosticEcuResetClass.respondToReset:

  • 如果该参数不存在或设置为 respondBeforeReset,则 Diagnostic Server 仅在发送肯定 UDS 响应之后才会调用 ExecuteReset [SWS_DM_01023]。
  • 如果配置了 respondAfterReset,则直接调用 ExecuteReset,而无需事先发送肯定响应 [SWS_DM_01090]。

该函数返回 ara::core::Future<void> [SWS_DM_01014]。如果在接受复位后阻止了传入的 UDS 请求 [SWS_DM_01022],则一旦 ExecuteReset 返回的 Future 完成,Diagnostic Server 就会再次解除此阻止 [SWS_DM_01309]。可能的错误通过 ISO 14229-1 NRC 在 Future 中使用 DiagUdsNrcErrc 进行指示;然而在配置为 respondBeforeReset 时,传递的错误将不起作用 [SWS_DM_01014]。

本文档由 AI 创建,基于 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#bb01265b
Content hash
bb01265b
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.

AI 生成 未审核 模型: 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#5faf0edb
Content hash
5faf0edb
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 4ec2f9bf44c2 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

一旦接收到针对服务 0x11 (ECUReset) 的 UDS 请求,诊断服务器就会调用方法 ara::diag::EcuResetRequest::RequestReset(#include "ara/diag/ecu_reset_request.h")([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])。

错误处理、执行控制与并发

如果无法接受复位,必须根据 ISO 14229-1 通过 DiagUdsNrcErrc 在 Future 中返回合适的 NRC 错误码([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#d0e9fd17
Content hash
d0e9fd17
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.

AI 生成 未审核 模型: 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])等其他服务进行了定义。

本使用说明由 AI 基于 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#46f0bde7
Content hash
46f0bde7
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#6704dd04
Content hash
6704dd04
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#8002d489
Content hash
8002d489
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#f884771e
Content hash
f884771e
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