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

Guide utilisateurGÉNÉRÉ PAR IA

Sert d'interface pour les applications pour la vérification et l'exécution de réinitialisations de calculateurs UDS dans le Diagnostic Management.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5b921e2dd86f Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert d'interface pour les applications pour la vérification et l'exécution de réinitialisations de calculateurs UDS dans le Diagnostic Management.

La classe ara::diag::EcuResetRequest représente l'interface applicative pour le traitement des services de réinitialisation UDS (Service 0x11) dans le Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1. Après son activation au moyen de Offer(), elle reçoit les requêtes de vérification et d'exécution de redémarrages ainsi que de commande d'arrêt rapide (rapid shutdown) ([SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014]). Les instances ne sont ni copiables ni déplaçables et toutes les méthodes sont spécifiées comme non thread-safe ([SWS_DM_01010], [SWS_DM_01621]).

Contexte

La classe d'interface ara::diag::EcuResetRequest sert au traitement du service UDS ECUReset (Service 0x11) dans l'AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 « Service 0x11 – ECUReset – RapidPowerShutdown sub function ». Elle permet à une application d'agir en tant que gestionnaire (handler) pour les requêtes de réinitialisation du Diagnostic Management (DM). Les tâches incluent l'activation ou la désactivation de l'arrêt rapide ([SWS_DM_01012]), la vérification des demandes de réinitialisation entrantes ([SWS_DM_01013]) ainsi que l'exécution effective du redémarrage ([SWS_DM_01014]). Les partenaires d'interaction impliqués sont le testeur de diagnostic externe, l'instance du Diagnostic Management (DM ou Diagnostic Server) et l'implémentation applicative de 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

Diagramme de contexte : interaction entre le testeur de diagnostic, le Diagnostic Management (DM) et l'application gestionnaire. Sources : 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].

Cycle de vie

Une instance de EcuResetRequest est créée via son constructeur explicite en spécifiant un ara::core::InstanceSpecifier qui référence un PortPrototype d'un DiagnosticEcuResetInterface ([SWS_DM_01010]). Conformément aux règles de conception, la classe n'est ni copiable ni déplaçable ; les constructeurs de copie et de déplacement ([SWS_DM_01621], [SWS_DM_01622]) ainsi que les opérateurs d'assignation correspondants ([SWS_DM_01619], [SWS_DM_01620]) sont explicitement supprimés (=delete). Toutes les méthodes d'interface ainsi que le destructeur ([SWS_DM_01011]) sont spécifiés comme not thread-safe ([SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017]). Après l'initialisation, le gestionnaire se trouve d'abord dans l'état où aucun transfert de requêtes n'a lieu, jusqu'à ce que l'enregistrement soit explicitement activé via Offer() ([SWS_DM_01016]). L'appel de StopOffer() désactive à nouveau le transfert des requêtes ([SWS_DM_01017]) avant que l'objet ne puisse être détruit ([SWS_DM_01011]).

EcuResetLifecycle Init Non initialisé Instantiated Instancié (Non offert) Init->Instantiated EcuResetRequest(specifier) Offered Angeboten (Anfragen aktiv) Instantiated->Offered Offer() Destroyed Détruit Instantiated->Destroyed ~EcuResetRequest() Offered->Instantiated StopOffer()

Diagramme d'états : phases de vie et états d'enregistrement d'une instance EcuResetRequest. Sources : [SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017], [SWS_DM_01011].

Parcours d'utilisation

Un chemin d'utilisation typique s'articule en initialisation, libération et traitement ultérieur des requêtes de diagnostic :

  1. Instanciation et libération : l'application instancie la classe dérivée avec le InstanceSpecifier approprié ([SWS_DM_01010]) et appelle Offer() pour permettre au DM de transférer les requêtes ([SWS_DM_01016]).
  2. Commande d'arrêt rapide : si le DM reçoit une requête UDS pour EnableRapidPowerShutdown ou DisableRapidPowerShutdown, il appelle EnableRapidShutdown(enable, metaInfo, cancellationHandler) ([SWS_DM_01020], [SWS_DM_01021], [SWS_DM_01012]). En cas d'acquittement positif, le DM insère la valeur configurée pour le temps d'arrêt dans la réponse (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 [SWS_DM_01092]).
  3. Demande de réinitialisation : pour toutes les autres sous-fonctions de réinitialisation UDS, le DM appelle la méthode RequestReset(resetType, id, metaInfo, cancellationHandler) ([SWS_DM_01013]). Le processus instanciateur doit vérifier soigneusement si un redémarrage de certaines parties ou de l'ensemble de la machine est autorisé ([SWS_DM_01013]). Via le cancellationHandler, l'état d'annulation peut être interrogé ou un notificateur peut être enregistré ([SWS_DM_01013]).
  4. Exécution de la réinitialisation : si la requête est acceptée et qu'il est configuré que la réponse positive soit envoyée avant la réinitialisation (respondBeforeReset ou non présente), le Diagnostic Server envoie la réponse UDS positive et appelle ensuite ExecuteReset(metaInfo) (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023], [SWS_DM_01014]). Si respondAfterReset a été configuré à la place, la réponse positive n'est renvoyée qu'après le redémarrage, pour autant que RequestReset() n'ait signalé aucune erreur (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_00360]).
  5. Désenregistrement du service : pour mettre fin au transfert de service, l'application appelle StopOffer() ([SWS_DM_01017]).
Traitement d’une demande de réinitialisation (respondBeforeReset)TesterDMEcuResetRequestOffer()kSuccessUDS 0x11 ECUReset RequestRequestReset(resetType, id, metaInfo, handler)Vérifier l’admissibilité de la réinitialisationFuture<void> bereit (Erfolg)Positive UDS Response (0x51)ExecuteReset(metaInfo)Exécuter le redémarrage

Diagramme de séquence : déroulement d'une demande EcuReset avec confirmation avant l'exécution du reset (respondBeforeReset). Sources : [SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023].

Scénarios d'erreur

En cas d'erreur, les aspects suivants doivent être pris en compte lors des différents appels :

  • Violations de constructeur : lors de la création, des violations de modèle peuvent survenir, notamment si le InstanceSpecifier ne peut pas être résolu dans le modèle (InstanceSpecifierMappingIntegrityViolation), référence un mauvais élément de modèle, si l'association de port est manquante (PortInterfaceMappingViolation), en l'absence de référence de processus (ProcessMappingViolation) ou si l'identifiant est déjà utilisé dans le processus (InstanceSpecifierAlreadyInUseViolation) ([SWS_DM_01010]).
  • Erreurs d'enregistrement : si Offer() est appelé alors que le service est déjà proposé, la méthode renvoie un ara::core::Result avec le code d'erreur DiagOfferErrc::kAlreadyOffered ([SWS_DM_01016]).
  • Codes d'erreur de diagnostic (NRC) : si EnableRapidShutdown, RequestReset ou ExecuteReset ne peuvent pas se terminer avec succès, leurs futures de retour renvoient une erreur avec un Negative Response Code (NRC) ISO 14229-1 approprié via DiagUdsNrcErrc ([SWS_DM_01012], [SWS_DM_01013], [SWS_DM_01014]). Il convient de noter : si respondToReset est défini sur respondBeforeReset ou n'est pas configuré, une erreur dans ExecuteReset() n'a plus d'effet sur la réponse de diagnostic, car la confirmation positive a déjà été envoyée préalablement au testeur ([SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023]).

Ce guide se base exclusivement sur les spécifications de l'AUTOSAR Adaptive Platform R25-11.

Carte des membres

Diagramme 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()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

EcuResetRequest fonction 3

Constructor of EcuResetRequest.

Surcharges 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éthodes

Interface for subFunction En-/DisableRapidShutdown.

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

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 fonction

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

ara::core::Result< void > Offer () noexcept;
RequestReset fonction

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 fonction

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

void StopOffer () noexcept;

Opérateurs

operator= fonction 2

EcuResetRequest shall be a single not assignable instance.

Surcharges = 2

Documentation des méthodes

fonction 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#f571afd5
Content hash
f571afd5
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

fonction 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#118fee54
Content hash
118fee54
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

fonction 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#895bb62f
Content hash
895bb62f
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 64d1feb19ece Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La méthode purement virtuelle EnableRapidShutdown de la classe ara::diag::EcuResetRequest sert d'interface pour le traitement des sous-fonctions UDS pour l'arrêt rapide ([SWS_DM_01012]). Lors de requêtes de diagnostic entrantes du service 0x11 (ECUReset), le Diagnostic Manager (DM) appelle cette fonction : pour EnableRapidPowerShutdown avec l'argument enable = true ([SWS_DM_01020]) et pour DisableRapidPowerShutdown avec enable = false ([SWS_DM_01021]). Cela distingue ces deux sous-fonctions de tous les autres services ECUReset, qui déclenchent à la place RequestReset ([SWS_DM_00235]).

La méthode accepte trois paramètres ([SWS_DM_01012]) :

  • enable : active l'arrêt rapide avec true et le désactive avec false.
  • metaInfo : transmet des métadonnées relatives à la requête de diagnostic.
  • cancellationHandler : sert à surveiller l'état d'interruption via cancellationHandler.IsCanceled() ou à enregistrer un notificateur via cancellationHandler.SetNotifier() au cas où la conversation de diagnostic en cours serait interrompue.

Sémantique, traitement des erreurs et concurrence

L'interface renvoie un ara::core::Future<void> ; le traitement effectif s'effectue ainsi vraisemblablement de manière asynchrone en arrière-plan ([SWS_DM_01012]). Question Q-ee781913ae88fabb (ouverte) En cas de succès, le future ne fournit aucune valeur. En cas d'erreur, un Negative Response Code (NRC) approprié selon l'ISO 14229-1 doit être défini au moyen de DiagUdsNrcErrc (AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 « EnableRapidShutdown »). La fonction est spécifiée comme noexcept et sûre vis-à-vis des exceptions (exception safe), mais est considérée comme non thread-safe (not thread-safe), raison pour laquelle les appels concurrents sur la même instance doivent être évités côté application ([SWS_DM_01012]).

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#dccb7c59
Content hash
dccb7c59
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5a6dac3995bc Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode ExecuteReset de l'interface ara::diag::EcuResetRequest est appelée par le Diagnostic Server (DM) afin de déclencher effectivement dans le processus implémentant le reset d'ECU préalablement accepté via [SWS_DM_01013] [SWS_DM_01014]. La metaInfo de la requête est transmise en tant que paramètre. La fonction est spécifiée comme non thread-safe (not thread-safe), mais sûre vis-à-vis des exceptions (exception safe) [SWS_DM_01014].

Le moment de l'appel par le Diagnostic Server dépend du paramètre de configuration DiagnosticEcuResetClass.respondToReset :

  • Si le paramètre est absent ou défini sur respondBeforeReset, le Diagnostic Server n'appelle ExecuteReset qu'après l'envoi de la réponse UDS positive [SWS_DM_01023].
  • Si respondAfterReset est configuré, l'appel de ExecuteReset s'effectue directement et sans envoi préalable de la réponse positive [SWS_DM_01090].

La fonction renvoie un ara::core::Future<void> [SWS_DM_01014]. Si les requêtes UDS entrantes ont été bloquées après l'acceptation du reset [SWS_DM_01022], le Diagnostic Server lève à nouveau ce blocage dès que le Future renvoyé par ExecuteReset est terminé [SWS_DM_01309]. Les erreurs éventuelles sont signalées par des NRC ISO 14229-1 au moyen de DiagUdsNrcErrc dans le Future ; avec la configuration respondBeforeReset, une erreur transmise reste toutefois sans effet [SWS_DM_01014].

Ce texte a été généré par une IA et se base sur la release AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#b61484e9
Content hash
b61484e9
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c497a60736af Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

À l'aide de la méthode ara::diag::EcuResetRequest::Offer ([SWS_DM_01016]), une Adaptive Application signale au Diagnostic Management (DM) qu'elle est prête à recevoir les requêtes de diagnostic entrantes pour un reset d'ECU. L'appel synchrone autorise le DM à transférer les messages de requête correspondants à ce gestionnaire ([SWS_DM_01016]). L'appel devrait typiquement avoir lieu durant la phase d'initialisation de l'application, avant que les requêtes de diagnostic ne doivent être traitées par le DM. Question Q-93d794e6b1dba23e (ouverte)

Appel et traitement des erreurs

La fonction ne comporte aucun paramètre d'entrée, est déclarée comme noexcept et garantit la sécurité vis-à-vis des exceptions ([SWS_DM_01016]). Un ara::core::Result<void> sert de valeur de retour. Si la mise à disposition échoue parce que le service a déjà été proposé auparavant, la méthode renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered avec une sémantique de rollback ([SWS_DM_01016]).

Concurrence et interaction

Conformément à la spécification, la fonction est classée comme not thread-safe ([SWS_DM_01016]). Les appels sur la même instance de ara::diag::EcuResetRequest doivent donc être synchronisés côté application. Le modèle de mise à disposition correspond à la conception d'interface uniforme dans l'Adaptive Diagnostic Management, telle qu'elle est également définie de manière analogue pour d'autres gestionnaires comme ara::diag::GenericUDSService::Offer ([SWS_DM_00619]), ara::diag::GenericRoutine::Offer ([SWS_DM_00557]) ou ara::diag::CommunicationControl::Offer ([SWS_DM_00809]). Bien que la dénomination soit inspirée de ara::com, il s'agit d'une implémentation autonome du Diagnostic Management (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors »).

Cette note d'utilisation a été générée automatiquement et s'appuie sur la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité 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#1027142b
Content hash
1027142b
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4ec2f9bf44c2 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode ara::diag::EcuResetRequest::RequestReset (#include "ara/diag/ecu_reset_request.h") est appelée par le serveur de diagnostic dès qu'une requête UDS pour le service 0x11 (ECUReset) est reçue ([SWS_DM_00235], SWS Diagnostics §7.3.2.8.5.2 « Service 0x11 – ECUReset – all other sub functions »). Cela s'applique à toutes les sous-fonctions de réinitialisation, à l'exception de EnableRapidPowerShutdown et DisableRapidPowerShutdown ([SWS_DM_01013]). L'application instanciatrice doit vérifier soigneusement avant l'acceptation si un redémarrage de certaines parties ou de l'ensemble de la machine peut être exécuté ([SWS_DM_01013]).

Paramètres et interface asynchrone

L'appel transmet le type de réinitialisation resetType, un identifiant optionnel id (évalué uniquement lorsque resetType est positionné à custom), les métadonnées metaInfo ainsi qu'un cancellationHandler ([SWS_DM_01013]). Via le cancellationHandler, l'application peut déterminer l'état d'annulation par IsCanceled ou enregistrer une fonction de rappel pour les événements d'annulation au moyen de SetNotifier ([SWS_DM_01013]). Le résultat est mis à disposition de manière asynchrone via ara::core::Future<void> ([SWS_DM_01013]).

Gestion des erreurs, contrôle du flux et concurrence

Si la réinitialisation ne peut pas être acceptée, un code d'erreur NRC approprié doit être renvoyé dans le future via DiagUdsNrcErrc selon l'ISO 14229-1 ([SWS_DM_01013]) ; de plus, le signalement d'un ApApplicationError est pris en compte ([SWS_DM_00360]). Si la requête est acceptée, cette décision est contraignante pour le déclencheur ExecuteReset ultérieur ([SWS_DM_01013]), et le serveur de diagnostic ignore les requêtes UDS entrantes suivantes ([SWS_DM_01022]) jusqu'à ce que le blocage soit levé après l'achèvement de ExecuteReset ([SWS_DM_01309]). L'exécution effective de la réinitialisation s'effectue en fonction de DiagnosticEcuResetClass.respondToReset soit après l'envoi de la réponse positive UDS ([SWS_DM_01023]), soit directement avant le redémarrage ([SWS_DM_01090]). La fonction est spécifiée comme exception safe, mais explicitement comme not thread-safe ([SWS_DM_01013]).

Cette note d'utilisation est basée sur la spécification AUTOSAR Adaptive Platform Release R25-11.

Guide de l'implémenteur à venir (complexité 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#d441574a
Content hash
d441574a
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b9e940cd3ae2 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode ara::diag::EcuResetRequest::StopOffer met fin à la fourniture du service de réinitialisation et désactive le transfert des messages de requête entrants du Diagnostic Management (DM) vers l'application ([SWS_DM_01017], AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.5 « StopOffer »). La fonction a pour signature void StopOffer() noexcept, n'attend aucun paramètre et ne renvoie aucune valeur de retour.

Traitement des erreurs et comportement face aux exceptions

L'opération est déclarée comme noexcept et classée sur le plan des spécifications comme sûre vis-à-vis des exceptions (exception safe) ([SWS_DM_01017]). Aucune exception n'est levée et aucun code d'erreur spécifique n'est renvoyé à l'appelant.

Concurrence et restrictions

La méthode est explicitement classée comme non sûre pour les threads (not thread-safe) ([SWS_DM_01017]). Les appelants doivent synchroniser côté application les accès concurrents à la même instance de ara::diag::EcuResetRequest. Sur le plan fonctionnel, l'appel ne devrait être prévu qu'après une proposition préalable du gestionnaire, afin d'arrêter de manière ordonnée la réception d'autres requêtes de réinitialisation. Question Q-25f37b77dc8cf80f (ouverte)

Interaction

La désactivation du transfert via StopOffer suit le modèle d'interface uniforme des gestionnaires de diagnostic fonctionnels dans Adaptive AUTOSAR, tel qu'il est défini de manière analogue pour d'autres services comme CommunicationControl ([SWS_DM_00810]) ou DownloadService ([SWS_DM_00793]).

Cette note d'utilisation a été générée par une IA sur la base de la spécification pour AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité 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#24422313
Content hash
24422313
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

fonction 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#1e386458
Content hash
1e386458
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

fonction 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#461a67dd
Content hash
461a67dd
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

fonction ~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#6006c844
Content hash
6006c844
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