DEENESPTFRRUARHIKOZHNL

classe 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

Guia do utilizadorGERADO POR IA

Serve como interface para aplicações para verificação e execução de resets de ECUs UDS no Diagnostic Management.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5b921e2dd86f Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como interface para aplicações para verificação e execução de resets de ECUs UDS no Diagnostic Management.

A classe ara::diag::EcuResetRequest representa a interface de aplicação para o processamento de serviços de reset UDS (Service 0x11) no Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1. Após a ativação por meio de Offer(), ela recebe requisições para a verificação e execução de reinicializações, bem como para o controle de rapid shutdown ([SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014]). As instâncias não são copiáveis nem móveis e todos os métodos são especificados como não thread-safe ([SWS_DM_01010], [SWS_DM_01621]).

Contexto

A classe de interface ara::diag::EcuResetRequest serve para o processamento do serviço UDS ECUReset (Service 0x11) na AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 «Service 0x11 – ECUReset – RapidPowerShutdown sub function». Ela permite que uma aplicação atue como handler para requisições de reset do Diagnostic Management (DM). Entre as tarefas estão a ativação ou desativação do desligamento rápido ([SWS_DM_01012]), a verificação de requisições de reset recebidas ([SWS_DM_01013]) e a execução propriamente dita da reinicialização ([SWS_DM_01014]). Os parceiros de interação envolvidos são o testador de diagnóstico externo, a instância do Diagnostic Management (DM ou Diagnostic Server) e a implementação de EcuResetRequest no lado da aplicação.

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: interação entre o testador de diagnóstico, o Diagnostic Management (DM) e a aplicação handler. Fontes: 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

Uma instância de EcuResetRequest é criada por meio de seu construtor explícito indicando um ara::core::InstanceSpecifier que referencia um PortPrototype de um DiagnosticEcuResetInterface ([SWS_DM_01010]). De acordo com as diretrizes de design, a classe não é copiável nem móvel; os construtores de cópia e de movimentação ([SWS_DM_01621], [SWS_DM_01622]), bem como os respectivos operadores de atribuição ([SWS_DM_01619], [SWS_DM_01620]), são explicitamente excluídos (=delete). Todos os métodos de interface e o destrutor ([SWS_DM_01011]) são especificados como not thread-safe ([SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017]). Após a inicialização, o handler permanece inicialmente no estado em que não ocorre o encaminhamento de requisições, até que o registro seja explicitamente ativado via Offer() ([SWS_DM_01016]). Ao chamar StopOffer(), o encaminhamento de requisições é desativado novamente ([SWS_DM_01017]), antes que o objeto possa ser destruído ([SWS_DM_01011]).

EcuResetLifecycle Init Não inicializado Instantiated Instanciado (Não oferecido) Init->Instantiated EcuResetRequest(specifier) Offered Angeboten (Anfragen aktiv) Instantiated->Offered Offer() Destroyed Destruído Instantiated->Destroyed ~EcuResetRequest() Offered->Instantiated StopOffer()

Diagrama de estados: fases de vida e estados de registro de uma instância de EcuResetRequest. Fontes: [SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017], [SWS_DM_01011].

Caminho de utilização

Um caminho típico de uso divide-se em inicialização, habilitação e processamento subsequente de requisições de diagnóstico:

  1. Instanciação e liberação: a aplicação instancia a classe derivada com o InstanceSpecifier adequado ([SWS_DM_01010]) e chama Offer() para permitir que o DM encaminhe requisições ([SWS_DM_01016]).
  2. Controle de rapid shutdown: se o DM receber uma requisição UDS para EnableRapidPowerShutdown ou DisableRapidPowerShutdown, ele chama EnableRapidShutdown(enable, metaInfo, cancellationHandler) ([SWS_DM_01020], [SWS_DM_01021], [SWS_DM_01012]). Em caso de confirmação positiva, o DM insere o valor configurado para o tempo de desligamento na resposta (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 [SWS_DM_01092]).
  3. Requisição de reset: para todas as outras subfunções de reset UDS, o DM chama o método RequestReset(resetType, id, metaInfo, cancellationHandler) ([SWS_DM_01013]). O processo instanciador deve verificar cuidadosamente se a reinicialização de partes ou de toda a máquina é permitida ([SWS_DM_01013]). Por meio do cancellationHandler, o status de cancelamento pode ser consultado ou um notificador pode ser registrado ([SWS_DM_01013]).
  4. Execução do reset: se a requisição for aceita e estiver configurado que a resposta positiva deve ser enviada antes do reset (respondBeforeReset ou não presente), o Diagnostic Server envia a resposta UDS positiva e, em seguida, chama ExecuteReset(metaInfo) (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023], [SWS_DM_01014]). Se, em vez disso, respondAfterReset foi configurado, a resposta positiva só é enviada de volta após a reinicialização, desde que RequestReset() não tenha relatado nenhum erro (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_00360]).
  5. Cancelamento do registro do serviço: para encerrar o encaminhamento do serviço, a aplicação chama StopOffer() ([SWS_DM_01017]).
Processamento de uma solicitação de reset (respondBeforeReset)TesterDMEcuResetRequestOffer()kSuccessUDS 0x11 ECUReset RequestRequestReset(resetType, id, metaInfo, handler)Verificar admissibilidade do resetFuture<void> bereit (Erfolg)Positive UDS Response (0x51)ExecuteReset(metaInfo)Executar reinicialização

Diagrama de sequência: fluxo de uma requisição EcuReset com confirmação antes da execução do reset (respondBeforeReset). Fontes: [SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023].

Cenários de erro

Em caso de erro, os seguintes aspectos devem ser observados nas diversas chamadas:

  • Violações do construtor: durante a criação, podem ocorrer violações de modelo, entre outras coisas se o InstanceSpecifier não puder ser resolvido no modelo (InstanceSpecifierMappingIntegrityViolation), apontar para um elemento de modelo incorreto, a associação de porta estiver ausente (PortInterfaceMappingViolation), não houver referência a um processo (ProcessMappingViolation) ou o identificador já estiver em uso no processo (InstanceSpecifierAlreadyInUseViolation) ([SWS_DM_01010]).
  • Erros de registro: se Offer() for chamado enquanto o serviço já estiver sendo oferecido, o método retorna um ara::core::Result com o código de erro DiagOfferErrc::kAlreadyOffered ([SWS_DM_01016]).
  • Códigos de erro de diagnóstico (NRCs): se EnableRapidShutdown, RequestReset ou ExecuteReset não puderem ser concluídos com sucesso, seus futures de retorno devolvem um erro com um Negative Response Code (NRC) da ISO 14229-1 correspondente via DiagUdsNrcErrc ([SWS_DM_01012], [SWS_DM_01013], [SWS_DM_01014]). Deve-se observar: se respondToReset estiver definido como respondBeforeReset ou não estiver configurado, um erro em ExecuteReset() não terá mais impacto na resposta de diagnóstico, pois a confirmação positiva já foi enviada previamente ao testador ([SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023]).

Este guia baseia-se exclusivamente nas especificações da AUTOSAR Adaptive Platform R25-11.

Mapa de membros

Diagrama de classes

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 detalhes

Selecione uma entrada no índice.

Construtores e destrutor

EcuResetRequest função 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 função

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 função

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

ara::core::Result< void > Offer () noexcept;
RequestReset função

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 função

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

void StopOffer () noexcept;

Operadores

operator= função 2

EcuResetRequest shall be a single not assignable instance.

Sobrecargas = 2

Documentação dos métodos

função 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#0c52a99f
Content hash
0c52a99f
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

função 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#4c028eda
Content hash
4c028eda
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

função 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#780a9ff5
Content hash
780a9ff5
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 64d1feb19ece Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e contexto de chamada

O método puramente virtual EnableRapidShutdown da classe ara::diag::EcuResetRequest serve de interface para o tratamento das subfunções UDS para o encerramento rápido ([SWS_DM_01012]). Ao receber pedidos de diagnóstico do serviço 0x11 (ECUReset), o Diagnostic Manager (DM) chama esta função: para EnableRapidPowerShutdown com o argumento enable = true ([SWS_DM_01020]) e para DisableRapidPowerShutdown com enable = false ([SWS_DM_01021]). Isto distingue estas duas subfunções de todos os restantes serviços ECUReset, que, em vez disso, acionam RequestReset ([SWS_DM_00235]).

O método recebe três parâmetros ([SWS_DM_01012]):

  • enable: Ativa o encerramento rápido em true e desativa-o em false.
  • metaInfo: Passa metainformações sobre o pedido de diagnóstico.
  • cancellationHandler: Serve para a monitorização do estado de cancelamento via cancellationHandler.IsCanceled() ou para o registo de um notificador através de cancellationHandler.SetNotifier(), caso a conversação de diagnóstico em curso seja cancelada.

Semântica, tratamento de erros e concorrência

A interface devolve um ara::core::Future<void>; o processamento propriamente dito ocorre, portanto, presumivelmente de forma assíncrona em segundo plano ([SWS_DM_01012]). Pergunta Q-ee781913ae88fabb (aberta) Em caso de sucesso, a future não fornece qualquer valor. Em caso de erro, deve ser definido um Negative Response Code (NRC) adequado conforme a ISO 14229-1 por meio de DiagUdsNrcErrc (AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 «EnableRapidShutdown»). A função está especificada como noexcept e segura contra exceções (exception safe), mas é considerada não segura para threads (not thread-safe), razão pela qual chamadas concorrentes na mesma instância devem ser evitadas pelo lado da aplicação ([SWS_DM_01012]).

Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#c222f5bf
Content hash
c222f5bf
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5a6dac3995bc Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método ExecuteReset da interface ara::diag::EcuResetRequest é chamado pelo Diagnostic Server (DM) para acionar efetivamente no processo de implementação o reset da ECU aceite previamente por meio de [SWS_DM_01013] [SWS_DM_01014]. Como parâmetro, é passado o metaInfo do pedido. A função está especificada como não segura para threads (not thread-safe), mas segura contra exceções (exception safe) [SWS_DM_01014].

O momento da chamada pelo Diagnostic Server depende do parâmetro de configuração DiagnosticEcuResetClass.respondToReset:

  • Se o parâmetro não estiver presente ou estiver definido como respondBeforeReset, o Diagnostic Server só chama ExecuteReset após a resposta UDS positiva ter sido enviada [SWS_DM_01023].
  • Se respondAfterReset estiver configurado, a chamada de ExecuteReset ocorre diretamente e sem o envio prévio da resposta positiva [SWS_DM_01090].

A função devolve um ara::core::Future<void> [SWS_DM_01014]. Se os pedidos UDS recebidos tiverem sido bloqueados após a aceitação do reset [SWS_DM_01022], o Diagnostic Server remove esse bloqueio assim que a Future devolvida por ExecuteReset estiver concluída [SWS_DM_01309]. Possíveis erros são sinalizados através de NRCs da ISO 14229-1 por meio de DiagUdsNrcErrc no Future; no entanto, com a configuração respondBeforeReset, um erro passado não produz efeito [SWS_DM_01014].

Este texto foi criado por uma IA e baseia-se no AUTOSAR Release R25-11.

Guia do implementador em breve (complexidade 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#98f10d9b
Content hash
98f10d9b
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: c497a60736af Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Com o método ara::diag::EcuResetRequest::Offer ([SWS_DM_01016]), uma Adaptive Application sinaliza ao Diagnostic Management (DM) que está pronta para receber pedidos de diagnóstico de entrada para um reset da ECU. Através da chamada síncrona, o DM é autorizado a encaminhar mensagens de pedido (request) correspondentes para este handler ([SWS_DM_01016]). Presume-se que a chamada ocorra tipicamente durante a fase de inicialização da aplicação, antes de os pedidos de diagnóstico serem processados pelo DM. Pergunta Q-93d794e6b1dba23e (aberta)

Chamada e tratamento de erros

A função não possui parâmetros de entrada, está declarada como noexcept e garante segurança contra exceções ([SWS_DM_01016]). Como valor de retorno é utilizado um ara::core::Result<void>. Se a disponibilização falhar porque o serviço já foi oferecido anteriormente, o método devolve o código de erro DiagOfferErrc::kAlreadyOffered com semântica de rollback ([SWS_DM_01016]).

Concorrência e interação

De acordo com a especificação, a função está classificada como not thread-safe ([SWS_DM_01016]). Chamadas na mesma instância de ara::diag::EcuResetRequest têm, por conseguinte, de ser sincronizadas do lado da aplicação. O padrão de disponibilização corresponde ao design uniforme de interfaces no Adaptive Diagnostic Management, tal como se encontra definido analogamente para outros handlers como ara::diag::GenericUDSService::Offer ([SWS_DM_00619]), ara::diag::GenericRoutine::Offer ([SWS_DM_00557]) ou ara::diag::CommunicationControl::Offer ([SWS_DM_00809]). Embora a nomenclatura seja inspirada em ara::com, trata-se de uma implementação autónoma do Diagnostic Management (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

Esta nota de utilização foi gerada automaticamente e baseia-se na especificação AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#e8c0005c
Content hash
e8c0005c
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4ec2f9bf44c2 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método ara::diag::EcuResetRequest::RequestReset (#include "ara/diag/ecu_reset_request.h") é chamado pelo servidor de diagnóstico assim que uma solicitação UDS para o serviço 0x11 (ECUReset) é recebida ([SWS_DM_00235], SWS Diagnostics §7.3.2.8.5.2 «Service 0x11 – ECUReset – all other sub functions»). Isso se aplica a todas as subfunções de reset com exceção de EnableRapidPowerShutdown e DisableRapidPowerShutdown ([SWS_DM_01013]). A aplicação instanciadora deve verificar cuidadosamente antes da aceitação se um reinício de partes ou de toda a máquina pode ser executado ([SWS_DM_01013]).

Parâmetros e interface assíncrona

A chamada passa o tipo de reset resetType, um identificador opcional id (avaliado apenas se resetType estiver em custom), os metadados metaInfo, bem como um cancellationHandler ([SWS_DM_01013]). Através do cancellationHandler, a aplicação pode determinar o estado de cancelamento via IsCanceled ou registrar uma função de callback para eventos de cancelamento por meio de SetNotifier ([SWS_DM_01013]). O resultado é disponibilizado de forma assíncrona através de ara::core::Future<void> ([SWS_DM_01013]).

Tratamento de erros, controle de fluxo e simultaneidade

Se o reset não puder ser aceito, um código de erro NRC apropriado em conformidade com a ISO 14229-1 deve ser retornado no Future através de DiagUdsNrcErrc ([SWS_DM_01013]); além disso, o reporte de um ApApplicationError é considerado ([SWS_DM_00360]). Se a solicitação for aceita, essa decisão será vinculativa para o acionador subsequente de ExecuteReset ([SWS_DM_01013]), e o servidor de diagnóstico ignorará solicitações UDS de entrada posteriores ([SWS_DM_01022]), até que o bloqueio seja removido após a conclusão de ExecuteReset ([SWS_DM_01309]). A execução real do reset ocorre, dependendo de DiagnosticEcuResetClass.respondToReset, após o envio da resposta UDS positiva ([SWS_DM_01023]) ou diretamente antes do reinício ([SWS_DM_01090]). A função é especificada como exception safe, mas explicitamente como not thread-safe ([SWS_DM_01013]).

Esta nota de uso baseia-se na especificação AUTOSAR Adaptive Platform Release R25-11.

Guia do implementador em breve (complexidade 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#8bff7663
Content hash
8bff7663
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b9e940cd3ae2 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método ara::diag::EcuResetRequest::StopOffer encerra a disponibilização do serviço de reset e desativa o encaminhamento de mensagens de requisição recebidas do Diagnostic Management (DM) para a aplicação ([SWS_DM_01017], AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.5 «StopOffer»). A função possui a assinatura void StopOffer() noexcept, não espera parâmetros e não retorna nenhum valor.

Tratamento de erros e comportamento com exceções

A operação é declarada como noexcept e classificada em termos de especificação como segura contra exceções (exception safe) ([SWS_DM_01017]). Não são lançadas exceções nem são reportados códigos de erro específicos ao chamador.

Simultaneidade e restrições

O método é explicitamente classificado como não seguro para threads (not thread-safe) ([SWS_DM_01017]). Os chamadores devem sincronizar acessos concorrentes à mesma instância de ara::diag::EcuResetRequest pelo lado da aplicação. Do ponto de vista técnico, a chamada provavelmente só deve ser prevista após um prévio oferecimento do manipulador, a fim de interromper de forma ordenada a recepção de novas requisições de reset. Pergunta Q-25f37b77dc8cf80f (aberta)

Interação

A desativação do encaminhamento através de StopOffer segue o padrão de interface uniforme dos manipuladores funcionais de diagnóstico no Adaptive AUTOSAR, conforme definido analogamente para outros serviços como CommunicationControl ([SWS_DM_00810]) ou DownloadService ([SWS_DM_00793]).

Esta nota de uso foi gerada por uma IA com base na especificação para o AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#79966946
Content hash
79966946
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

função 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#e0f80171
Content hash
e0f80171
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

função 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#c422a1d3
Content hash
c422a1d3
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

função ~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#63f0ee0e
Content hash
63f0ee0e
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