DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Sirve como interfaz para que las aplicaciones verifiquen y ejecuten reinicios de unidades de control UDS en Diagnostic Management.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5b921e2dd86f Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como interfaz para que las aplicaciones verifiquen y ejecuten reinicios de unidades de control UDS en Diagnostic Management.

La clase ara::diag::EcuResetRequest representa la interfaz de aplicación para el procesamiento de servicios de reinicio UDS (Service 0x11) en Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1. Tras la activación mediante Offer(), recibe solicitudes para la verificación y ejecución de reinicios, así como para el control de parada rápida ([SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014]). Las instancias no son copiables ni movibles, y todos los métodos están especificados como no seguros para hilos ([SWS_DM_01010], [SWS_DM_01621]).

Contexto

La clase de interfaz ara::diag::EcuResetRequest sirve para el procesamiento del servicio UDS ECUReset (Service 0x11) en AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 «Service 0x11 – ECUReset – RapidPowerShutdown sub function». Permite a una aplicación actuar como manejador de solicitudes de reinicio de Diagnostic Management (DM). Entre las tareas se encuentran la activación o desactivación de la parada rápida ([SWS_DM_01012]), la verificación de peticiones de reinicio entrantes ([SWS_DM_01013]) y la ejecución propiamente dicha del reinicio ([SWS_DM_01014]). Los interlocutores que intervienen son el comprobador de diagnóstico externo, la instancia de Diagnostic Management (DM o servidor de diagnóstico) y la implementación de EcuResetRequest en el lado de la aplicación.

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

Diagrama de contexto: interacción entre el comprobador de diagnóstico, Diagnostic Management (DM) y la aplicación manejadora. Fuentes: 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].

Ciclo de vida

Una instancia de EcuResetRequest se crea mediante su constructor explícito especificando un ara::core::InstanceSpecifier que referencia a un PortPrototype de un DiagnosticEcuResetInterface ([SWS_DM_01010]). Conforme a las directrices de diseño, la clase no es copiable ni movible; los constructores de copia y de movimiento ([SWS_DM_01621], [SWS_DM_01622]), así como los operadores de asignación correspondientes ([SWS_DM_01619], [SWS_DM_01620]) están explícitamente eliminados (=delete). Todos los métodos de interfaz, así como el destructor ([SWS_DM_01011]), están especificados como not thread-safe ([SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017]). Tras la inicialización, el manejador se encuentra inicialmente en el estado en el que no se produce reenvío de solicitudes, hasta que el registro se activa explícitamente mediante Offer() ([SWS_DM_01016]). Mediante la llamada a StopOffer() se vuelve a desactivar el reenvío de solicitudes ([SWS_DM_01017]), antes de que el objeto pueda ser destruido ([SWS_DM_01011]).

EcuResetLifecycle Init No inicializado Instantiated Instanciado (No ofrecido) Init->Instantiated EcuResetRequest(specifier) Offered Angeboten (Anfragen aktiv) Instantiated->Offered Offer() Destroyed Destruido Instantiated->Destroyed ~EcuResetRequest() Offered->Instantiated StopOffer()

Diagrama de estados: fases del ciclo de vida y estados de registro de una instancia de EcuResetRequest. Fuentes: [SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017], [SWS_DM_01011].

Ruta de uso

Una ruta de uso típica se divide en inicialización, habilitación y posterior procesamiento de solicitudes de diagnóstico:

  1. Instanciación y habilitación: la aplicación instancia la clase derivada con el InstanceSpecifier adecuado ([SWS_DM_01010]) e invoca Offer() para permitir al DM el reenvío de solicitudes ([SWS_DM_01016]).
  2. Control de parada rápida: si el DM recibe una solicitud UDS para EnableRapidPowerShutdown o DisableRapidPowerShutdown, invoca EnableRapidShutdown(enable, metaInfo, cancellationHandler) ([SWS_DM_01020], [SWS_DM_01021], [SWS_DM_01012]). En caso de confirmación positiva, el DM inserta en la respuesta el valor configurado para el tiempo de desconexión (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 [SWS_DM_01092]).
  3. Petición de reinicio: para todas las demás subfunciones de reinicio UDS, el DM invoca el método RequestReset(resetType, id, metaInfo, cancellationHandler) ([SWS_DM_01013]). El proceso que realiza la instanciación debe verificar cuidadosamente si se permite un reinicio de partes o de la totalidad de la máquina ([SWS_DM_01013]). A través del cancellationHandler se puede consultar el estado de cancelación o registrar un notificador ([SWS_DM_01013]).
  4. Ejecución del reinicio: si se acepta la solicitud y está configurado que la respuesta positiva se envíe antes del reinicio (respondBeforeReset o bien no está presente), el servidor de diagnóstico envía la respuesta UDS positiva e invoca a continuación ExecuteReset(metaInfo) (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023], [SWS_DM_01014]). Si en su lugar se configuró respondAfterReset, la respuesta positiva no se devuelve hasta después del rearranque, siempre que RequestReset() no haya notificado ningún error (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_00360]).
  5. Baja del servicio: para finalizar el reenvío del servicio, la aplicación invoca StopOffer() ([SWS_DM_01017]).
Procesamiento de una solicitud de reset (respondBeforeReset)TesterDMEcuResetRequestOffer()kSuccessUDS 0x11 ECUReset RequestRequestReset(resetType, id, metaInfo, handler)Comprobar admisibilidad del resetFuture<void> bereit (Erfolg)Positive UDS Response (0x51)ExecuteReset(metaInfo)Ejecutar reinicio

Diagrama de secuencia: flujo de una petición EcuReset con confirmación antes de la ejecución del reinicio (respondBeforeReset). Fuentes: [SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023].

Escenarios de error

En caso de error, deben tenerse en cuenta los siguientes aspectos en las distintas llamadas:

  • Violaciones del constructor: durante la creación pueden producirse violaciones del modelo, entre otras cosas si el InstanceSpecifier no se puede resolver en el modelo (InstanceSpecifierMappingIntegrityViolation), referencia a un elemento de modelo incorrecto, falta la asignación de puerto (PortInterfaceMappingViolation), no existe referencia a ningún proceso (ProcessMappingViolation) o el identificador ya está en uso en el proceso (InstanceSpecifierAlreadyInUseViolation) ([SWS_DM_01010]).
  • Error de registro: si se invoca Offer() a pesar de que el servicio ya se está ofreciendo, el método devuelve un ara::core::Result con el código de error DiagOfferErrc::kAlreadyOffered ([SWS_DM_01016]).
  • Códigos de error de diagnóstico (NRC): si EnableRapidShutdown, RequestReset o ExecuteReset no pueden completarse con éxito, sus futures de retorno devuelven un error con un Negative Response Code (NRC) de ISO 14229-1 adecuado a través de DiagUdsNrcErrc ([SWS_DM_01012], [SWS_DM_01013], [SWS_DM_01014]). Debe tenerse en cuenta: si respondToReset está establecido en respondBeforeReset o no está configurado, un error en ExecuteReset() ya no tiene efecto alguno sobre la respuesta de diagnóstico, ya que la confirmación positiva se envió previamente al comprobador ([SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023]).

Esta guía se basa exclusivamente en las especificaciones de AUTOSAR Adaptive Platform R25-11.

Mapa de miembros

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

EcuResetRequest función 3

Constructor of EcuResetRequest.

Sobrecargas 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;

Métodos

Interface for subFunction En-/DisableRapidShutdown.

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

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 función

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

ara::core::Result< void > Offer () noexcept;
RequestReset función

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 función

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

void StopOffer () noexcept;

Operadores

operator= función 2

EcuResetRequest shall be a single not assignable instance.

Sobrecargas = 2

Documentación de los métodos

función 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#9fd1385b
Content hash
9fd1385b
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

función 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#863da949
Content hash
863da949
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

función 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#88b8f660
Content hash
88b8f660
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 64d1feb19ece Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

El método puramente virtual EnableRapidShutdown de la clase ara::diag::EcuResetRequest sirve como interfaz para gestionar las subfunciones UDS para el apagado rápido ([SWS_DM_01012]). Ante peticiones de diagnóstico entrantes del servicio 0x11 (ECUReset), el Diagnostic Manager (DM) llama a esta función: para EnableRapidPowerShutdown con el argumento enable = true ([SWS_DM_01020]) y para DisableRapidPowerShutdown con enable = false ([SWS_DM_01021]). Esto distingue estas dos subfunciones de todos los demás servicios ECUReset, que en su lugar activan RequestReset ([SWS_DM_00235]).

El método recibe tres parámetros ([SWS_DM_01012]):

  • enable: activa el apagado rápido con true y lo desactiva con false.
  • metaInfo: transfiere metainformación sobre la petición de diagnóstico.
  • cancellationHandler: sirve para supervisar el estado de cancelación vía cancellationHandler.IsCanceled() o para registrar un notificador mediante cancellationHandler.SetNotifier() en caso de que se cancele la conversación de diagnóstico en curso.

Semántica, gestión de errores y concurrencia

La interfaz devuelve un ara::core::Future<void>; por tanto, el procesamiento propiamente dicho se realiza presumiblemente de forma asíncrona en segundo plano ([SWS_DM_01012]). Pregunta Q-ee781913ae88fabb (abierta) En caso de éxito, el future no entrega ningún valor. En caso de error, debe establecerse un Negative Response Code (NRC) adecuado conforme a ISO 14229-1 mediante DiagUdsNrcErrc (AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 «EnableRapidShutdown»). La función está especificada como noexcept y segura frente a excepciones (exception safe), pero se considera no segura para subprocesos (not thread-safe), por lo que las llamadas concurrentes en la misma instancia deben evitarse en el lado de la aplicación ([SWS_DM_01012]).

Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#c0a4f729
Content hash
c0a4f729
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5a6dac3995bc Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El Diagnostic Server (DM) llama al método ExecuteReset de la interfaz ara::diag::EcuResetRequest para desencadenar de forma efectiva en el proceso de implementación el reinicio de la ECU previamente aceptado mediante [SWS_DM_01013] [SWS_DM_01014]. Como parámetro se transfiere el metaInfo de la petición. La función está especificada como no segura para subprocesos (not thread-safe), pero segura frente a excepciones (exception safe) [SWS_DM_01014].

El momento de la llamada por parte del Diagnostic Server depende del parámetro de configuración DiagnosticEcuResetClass.respondToReset:

  • Si el parámetro no existe o está establecido en respondBeforeReset, el Diagnostic Server llama a ExecuteReset solo después de que se haya enviado la respuesta UDS positiva [SWS_DM_01023].
  • Si está configurado respondAfterReset, la llamada a ExecuteReset se efectúa directamente y sin enviar previamente la respuesta positiva [SWS_DM_01090].

La función devuelve un ara::core::Future<void> [SWS_DM_01014]. Si las peticiones UDS entrantes se bloquearon tras la aceptación del reinicio [SWS_DM_01022], el Diagnostic Server levanta de nuevo este bloqueo tan pronto como concluye el Future devuelto por ExecuteReset [SWS_DM_01309]. Los posibles errores se señalizan a través de NRC de ISO 14229-1 mediante DiagUdsNrcErrc en el Future; sin embargo, con la configuración respondBeforeReset, un error transferido no tiene efecto [SWS_DM_01014].

Este texto ha sido elaborado por una IA y se basa en AUTOSAR Release R25-11.

Guía del implementador pendiente (complejidad 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#56abae46
Content hash
56abae46
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c497a60736af Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Con el método ara::diag::EcuResetRequest::Offer ([SWS_DM_01016]), una Adaptive Application señaliza a Diagnostic Management (DM) que está lista para recibir peticiones de diagnóstico entrantes para un reinicio de la ECU. Mediante la llamada síncrona, se autoriza al DM a reenviar los correspondientes mensajes de petición a este manejador ([SWS_DM_01016]). La llamada debería tener lugar típicamente durante la fase de inicialización de la aplicación, antes de que el DM deba procesar peticiones de diagnóstico. Pregunta Q-93d794e6b1dba23e (abierta)

Llamada y gestión de errores

La función no posee parámetros de entrada, está declarada como noexcept y garantiza seguridad frente a excepciones ([SWS_DM_01016]). Como valor de retorno sirve un ara::core::Result<void>. Si la provisión falla porque el servicio ya se había ofrecido con anterioridad, el método devuelve el código de error DiagOfferErrc::kAlreadyOffered con semántica de reversión ([SWS_DM_01016]).

Concurrencia e interacción

Según la especificación, la función está catalogada como not thread-safe ([SWS_DM_01016]). Por lo tanto, las llamadas en la misma instancia de ara::diag::EcuResetRequest deben sincronizarse en el lado de la aplicación. El patrón de provisión corresponde al diseño uniforme de interfaces en Adaptive Diagnostic Management, tal como se define también de manera análoga para otros manejadores como ara::diag::GenericUDSService::Offer ([SWS_DM_00619]), ara::diag::GenericRoutine::Offer ([SWS_DM_00557]) o ara::diag::CommunicationControl::Offer ([SWS_DM_00809]). Aunque la denominación se basa en ara::com, se trata de una implementación independiente de Diagnostic Management (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

Esta nota de uso se ha creado de manera automatizada y se fundamenta en la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#f6324fa2
Content hash
f6324fa2
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4ec2f9bf44c2 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método ara::diag::EcuResetRequest::RequestReset (#include "ara/diag/ecu_reset_request.h") es llamado por el servidor de diagnóstico en cuanto se recibe una solicitud UDS para el servicio 0x11 (ECUReset) ([SWS_DM_00235], SWS Diagnostics §7.3.2.8.5.2 «Service 0x11 – ECUReset – all other sub functions»). Esto se aplica a todas las subfunciones de reinicio con excepción de EnableRapidPowerShutdown y DisableRapidPowerShutdown ([SWS_DM_01013]). La aplicación instanciadora debe comprobar minuciosamente antes de la aceptación si se permite realizar un reinicio de partes o de la totalidad de la máquina ([SWS_DM_01013]).

Parámetros e interfaz asíncrona

La llamada transfiere el tipo de reinicio resetType, un identificador opcional id (solo se evalúa si resetType está en custom), los metadatos metaInfo así como un cancellationHandler ([SWS_DM_01013]). A través del cancellationHandler, la aplicación puede determinar el estado de cancelación mediante IsCanceled o registrar una función de retrollamada para eventos de cancelación mediante SetNotifier ([SWS_DM_01013]). El resultado se proporciona de forma asíncrona a través de ara::core::Future<void> ([SWS_DM_01013]).

Tratamiento de errores, control de flujo y concurrencia

Si el reinicio no puede ser aceptado, debe devolverse en el Future un código de error NRC adecuado a través de DiagUdsNrcErrc conforme a ISO 14229-1 ([SWS_DM_01013]); además, se tiene en cuenta la notificación de un ApApplicationError ([SWS_DM_00360]). Si se acepta la solicitud, esta decisión es vinculante para el posterior disparador ExecuteReset ([SWS_DM_01013]), y el servidor de diagnóstico ignora las solicitudes UDS entrantes posteriores ([SWS_DM_01022]) hasta que se levante el bloqueo tras finalizar ExecuteReset ([SWS_DM_01309]). La ejecución real del reinicio se lleva a cabo en función de DiagnosticEcuResetClass.respondToReset, bien tras el envío de la respuesta UDS positiva ([SWS_DM_01023]) o directamente antes del reinicio ([SWS_DM_01090]). La función está especificada como exception safe, pero explícitamente como not thread-safe ([SWS_DM_01013]).

Esta nota de uso se basa en la especificación AUTOSAR Adaptive Platform Release R25-11.

Guía del implementador pendiente (complejidad 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#70386e60
Content hash
70386e60
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b9e940cd3ae2 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método ara::diag::EcuResetRequest::StopOffer finaliza la provisión del servicio de reinicio y desactiva el reenvío de mensajes de petición entrantes desde el Diagnostic Management (DM) a la aplicación ([SWS_DM_01017], AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.5 «StopOffer»). La función posee la signatura void StopOffer() noexcept, no espera parámetros y no devuelve ningún valor de retorno.

Tratamiento de errores y comportamiento ante excepciones

La operación está declarada como noexcept y clasificada según la especificación como segura frente a excepciones (exception safe) ([SWS_DM_01017]). Ni se lanzan excepciones ni se devuelven códigos de error específicos al llamador.

Concurrencia y restricciones

El método está clasificado explícitamente como no seguro para subprocesos (not thread-safe) ([SWS_DM_01017]). Los llamadores deben sincronizar del lado de la aplicación los accesos concurrentes a la misma instancia de ara::diag::EcuResetRequest. Desde el punto de vista técnico, es probable que la llamada esté prevista únicamente tras haber ofrecido previamente el manejador, a fin de detener de forma ordenada la recepción de más peticiones de reinicio. Pregunta Q-25f37b77dc8cf80f (abierta)

Interacción

La desactivación del reenvío mediante StopOffer sigue el patrón de interfaz uniforme de los manejadores de diagnóstico funcionales en Adaptive AUTOSAR, tal como está definido de forma análoga también para otros servicios como CommunicationControl ([SWS_DM_00810]) o DownloadService ([SWS_DM_00793]).

Esta nota de uso ha sido generada por una IA sobre la base de la especificación para AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#1677d906
Content hash
1677d906
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

función 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#ccadf2ad
Content hash
ccadf2ad
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

función 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#65678e37
Content hash
65678e37
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

función ~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#ef493949
Content hash
ef493949
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