DEENESPTFRRUARHIKOZHNL

class 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

User GuideKI-GENERIERT

Dient als Schnittstelle für Anwendungen zur Prüfung und Ausführung von UDS-Steuergeräte-Resets im Diagnostic Management.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5b921e2dd86f Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als Schnittstelle für Anwendungen zur Prüfung und Ausführung von UDS-Steuergeräte-Resets im Diagnostic Management.

Die Klasse ara::diag::EcuResetRequest stellt die Anwendungsschnittstelle zur Abwicklung von UDS-Reset-Diensten (Service 0x11) im Diagnostic Management dar AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1. Nach der Aktivierung mittels Offer() nimmt sie Anfragen zur Prüfung und Ausführung von Neustarts sowie zur Rapid-Shutdown-Steuerung entgegen ([SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014]). Instanzen sind weder kopierbar noch verschiebbar und sämtliche Methoden sind als nicht threadsicher spezifiziert ([SWS_DM_01010], [SWS_DM_01621]).

Kontext

Die Schnittstellenklasse ara::diag::EcuResetRequest dient der Abwicklung des UDS-Dienstes ECUReset (Service 0x11) in der AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 „Service 0x11 – ECUReset – RapidPowerShutdown sub function“. Sie ermöglicht es einer Anwendung, als Handler für Reset-Anfragen des Diagnostic Management (DM) zu fungieren. Zu den Aufgaben gehören die Aktivierung bzw. Deaktivierung des schnellen Herunterfahrens ([SWS_DM_01012]), die Prüfung eingehender Reset-Anforderungen ([SWS_DM_01013]) sowie die eigentliche Ausführung des Neustarts ([SWS_DM_01014]). Beteiligte Interaktionspartner sind der externe Diagnosetester, die Instanz des Diagnostic Management (DM bzw. Diagnostic Server) und die anwendungsseitige Implementierung von 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

Kontextdiagramm: Zusammenspiel zwischen Diagnosetester, Diagnostic Management (DM) und der Handler-Anwendung. Quellen: 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].

Lebenszyklus

Eine Instanz von EcuResetRequest wird über ihren expliziten Konstruktor unter Angabe eines ara::core::InstanceSpecifier erzeugt, der auf einen PortPrototype eines DiagnosticEcuResetInterface verweist ([SWS_DM_01010]). Gemäß den Designvorgaben ist die Klasse weder kopierbar noch verschiebbar; Copy- und Move-Konstruktoren ([SWS_DM_01621], [SWS_DM_01622]) sowie die entsprechenden Zuweisungsoperatoren ([SWS_DM_01619], [SWS_DM_01620]) sind explizit gelöscht (=delete). Sämtliche Schnittstellenmethoden sowie der Destruktor ([SWS_DM_01011]) sind als not thread-safe spezifiziert ([SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017]). Nach der Initialisierung befindet sich der Handler zunächst im Zustand, in dem keine Weiterleitung von Anfragen stattfindet, bis die Registrierung explizit per Offer() aktiviert wird ([SWS_DM_01016]). Durch den Aufruf von StopOffer() wird die Weiterleitung von Anfragen wieder deaktiviert ([SWS_DM_01017]), bevor das Objekt zerstört werden kann ([SWS_DM_01011]).

EcuResetLifecycle Init Nicht initialisiert Instantiated Instanziiert (Nicht angeboten) Init->Instantiated EcuResetRequest(specifier) Offered Angeboten (Anfragen aktiv) Instantiated->Offered Offer() Destroyed Zerstört Instantiated->Destroyed ~EcuResetRequest() Offered->Instantiated StopOffer()

Zustandsdiagramm: Lebensphasen und Registrierungszustände einer EcuResetRequest-Instanz. Quellen: [SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017], [SWS_DM_01011].

Nutzungspfad

Ein typischer Nutzungspfad gliedert sich in Initialisierung, Freigabe und die anschließende Bearbeitung von Diagnoseanfragen:

  1. Instanziierung und Freigabe: Die Anwendung instanziiert die abgeleitete Klasse mit dem passenden InstanceSpecifier ([SWS_DM_01010]) und ruft Offer() auf, um dem DM die Weiterleitung von Anfragen zu ermöglichen ([SWS_DM_01016]).
  2. Rapid-Shutdown-Steuerung: Empfängt das DM eine UDS-Anfrage für EnableRapidPowerShutdown oder DisableRapidPowerShutdown, ruft es EnableRapidShutdown(enable, metaInfo, cancellationHandler) auf ([SWS_DM_01020], [SWS_DM_01021], [SWS_DM_01012]). Bei positiver Quittierung setzt das DM den konfigurierten Wert für die Abschaltzeit in die Antwort ein (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 [SWS_DM_01092]).
  3. Reset-Anforderung: Für alle anderen UDS-Reset-Unterfunktionen ruft das DM die Methode RequestReset(resetType, id, metaInfo, cancellationHandler) auf ([SWS_DM_01013]). Der instanziierende Prozess muss sorgfältig prüfen, ob ein Neustart von Teilen oder der gesamten Maschine zulässig ist ([SWS_DM_01013]). Über den cancellationHandler kann der Abbruchstatus abgefragt oder ein Notifier registriert werden ([SWS_DM_01013]).
  4. Reset-Ausführung: Wird die Anfrage akzeptiert und ist konfiguriert, dass die positive Antwort vor dem Reset versendet wird (respondBeforeReset bzw. nicht vorhanden), sendet der Diagnostic Server die positive UDS-Antwort und ruft anschließend ExecuteReset(metaInfo) auf (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023], [SWS_DM_01014]). Wurde stattdessen respondAfterReset konfiguriert, wird die positive Antwort erst nach dem Wiederanlauf zurückgesendet, sofern RequestReset() keinen Fehler gemeldet hat (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_00360]).
  5. Dienstabmeldung: Zum Beenden der Dienstweiterleitung ruft die Anwendung StopOffer() auf ([SWS_DM_01017]).
Verarbeitung einer Reset-Anforderung (respondBeforeReset)TesterDMEcuResetRequestOffer()kSuccessUDS 0x11 ECUReset RequestRequestReset(resetType, id, metaInfo, handler)Reset-Zulässigkeit prüfenFuture<void> bereit (Erfolg)Positive UDS Response (0x51)ExecuteReset(metaInfo)Neustart durchführen

Sequenzdiagramm: Ablauf einer EcuReset-Anforderung mit Bestätigung vor Reset-Ausführung (respondBeforeReset). Quellen: [SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023].

Fehlerszenarien

Im Fehlerfall sind bei den verschiedenen Aufrufen folgende Aspekte zu beachten:

  • Konstruktor-Verletzungen: Bei der Erzeugung können Modellverletzungen auftreten, unter anderem wenn der InstanceSpecifier nicht im Modell aufgelöst werden kann (InstanceSpecifierMappingIntegrityViolation), auf ein falsches Modellelement verweist, die Port-Zuordnung fehlt (PortInterfaceMappingViolation), kein Prozessbezug vorliegt (ProcessMappingViolation) oder der Bezeichner bereits im Prozess in Benutzung ist (InstanceSpecifierAlreadyInUseViolation) ([SWS_DM_01010]).
  • Registrierungsfehler: Wird Offer() aufgerufen, obwohl der Dienst bereits angeboten wird, liefert die Methode ein ara::core::Result mit dem Fehlercode DiagOfferErrc::kAlreadyOffered zurück ([SWS_DM_01016]).
  • Diagnostische Fehlercodes (NRCs): Können EnableRapidShutdown, RequestReset oder ExecuteReset nicht erfolgreich abgeschlossen werden, geben ihre Rückgabe-Futures einen Fehler mit einem passenden ISO 14229-1 Negative Response Code (NRC) via DiagUdsNrcErrc zurück ([SWS_DM_01012], [SWS_DM_01013], [SWS_DM_01014]). Zu beachten ist: Wenn respondToReset auf respondBeforeReset gesetzt oder nicht konfiguriert ist, hat ein Fehler in ExecuteReset() keine Auswirkung mehr auf die Diagnoseantwort, da die positive Bestätigung bereits zuvor an den Tester gesendet wurde ([SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023]).

Dieser Leitfaden basiert ausschließlich auf den Spezifikationen der AUTOSAR Adaptive Platform R25-11.

Mitgliederkarte

Klassendiagramm

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

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

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

EcuResetRequest function 3

Constructor of EcuResetRequest.

Überladungen 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;

Methoden

Interface for subFunction En-/DisableRapidShutdown.

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

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 function

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

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

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 function

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

void StopOffer () noexcept;

Operatoren

operator= function 2

EcuResetRequest shall be a single not assignable instance.

Überladungen = 2

Dokumentation der Methoden

function 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#eedc6deb
Content hash
eedc6deb
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

function 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#68e53b3b
Content hash
68e53b3b
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

function 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#d6eb29c6
Content hash
d6eb29c6
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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 64d1feb19ece Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die rein virtuelle Methode EnableRapidShutdown der Klasse ara::diag::EcuResetRequest dient als Schnittstelle zur Behandlung der UDS-Subfunktionen für das schnelle Herunterfahren ([SWS_DM_01012]). Bei eingehenden Diagnoseanfragen des Service 0x11 (ECUReset) ruft der Diagnostic Manager (DM) diese Funktion auf: für EnableRapidPowerShutdown mit dem Argument enable = true ([SWS_DM_01020]) und für DisableRapidPowerShutdown mit enable = false ([SWS_DM_01021]). Dies unterscheidet diese beiden Subfunktionen von allen übrigen ECUReset-Diensten, die stattdessen RequestReset triggern ([SWS_DM_00235]).

Die Methode nimmt drei Parameter entgegen ([SWS_DM_01012]):

  • enable: Aktiviert bei true das schnelle Herunterfahren und deaktiviert es bei false.
  • metaInfo: Übergibt Meta-Informationen zur Diagnoseanfrage.
  • cancellationHandler: Dient der Überwachung des Abbruchstatus via cancellationHandler.IsCanceled() oder der Registrierung eines Notifiers über cancellationHandler.SetNotifier(), falls die laufende Diagnosekonversation abgebrochen wird.

Semantik, Fehlerbehandlung und Nebenläufigkeit

Die Schnittstelle gibt ein ara::core::Future<void> zurück; die eigentliche Verarbeitung erfolgt somit vermutlich asynchron im Hintergrund ([SWS_DM_01012]). Frage Q-ee781913ae88fabb (offen) Im Erfolgsfall liefert das Future keinen Wert. Im Fehlerfall ist ein passender Negative Response Code (NRC) gemäß ISO 14229-1 mittels DiagUdsNrcErrc zu setzen (AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 „EnableRapidShutdown“). Die Funktion ist als noexcept und ausnahmesicher (exception safe) spezifiziert, gilt jedoch als nicht threadsicher (not thread-safe), weshalb nebenläufige Aufrufe an derselben Instanz anwendungsseitig vermieden werden müssen ([SWS_DM_01012]).

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#56b7972b
Content hash
56b7972b
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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5a6dac3995bc Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode ExecuteReset der Schnittstelle ara::diag::EcuResetRequest wird vom Diagnostic Server (DM) aufgerufen, um den zuvor per [SWS_DM_01013] akzeptierten ECU-Reset tatsächlich im implementierenden Prozess auszulösen [SWS_DM_01014]. Als Parameter wird die metaInfo der Anfrage übergeben. Die Funktion ist nicht threadsicher (not thread-safe), jedoch ausnahmesicher (exception safe) spezifiziert [SWS_DM_01014].

Der Aufrufzeitpunkt durch den Diagnostic Server hängt vom Konfigurationsparameter DiagnosticEcuResetClass.respondToReset ab:

  • Ist der Parameter nicht vorhanden oder auf respondBeforeReset gesetzt, ruft der Diagnostic Server ExecuteReset erst auf, nachdem die positive UDS-Antwort versendet wurde [SWS_DM_01023].
  • Ist respondAfterReset konfiguriert, erfolgt der Aufruf von ExecuteReset direkt und ohne vorheriges Senden der positiven Antwort [SWS_DM_01090].

Die Funktion liefert ein ara::core::Future<void> zurück [SWS_DM_01014]. Wenn eingehende UDS-Anfragen nach Annahme des Resets blockiert wurden [SWS_DM_01022], hebt der Diagnostic Server diese Blockade wieder auf, sobald das von ExecuteReset zurückgegebene Future abgeschlossen ist [SWS_DM_01309]. Mögliche Fehler werden über ISO-14229-1-NRCs mittels DiagUdsNrcErrc im Future signalisiert; bei der Konfiguration respondBeforeReset bleibt ein übergebener Fehler jedoch wirkungslos [SWS_DM_01014].

Dieser Text wurde von einer KI erstellt und basiert auf AUTOSAR Release R25-11.

Implementer's Guide folgt (Komplexität 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#3c31c4c4
Content hash
3c31c4c4
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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c497a60736af Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Mit der Methode ara::diag::EcuResetRequest::Offer ([SWS_DM_01016]) signalisiert eine Adaptive Application dem Diagnostic Management (DM), dass sie bereit ist, eingehende Diagnoseanforderungen für einen ECU-Reset entgegenzunehmen. Durch den synchronen Aufruf wird der DM autorisiert, entsprechende Request-Nachrichten an diesen Handler weiterzuleiten ([SWS_DM_01016]). Der Aufruf dürfte typischerweise während der Initialisierungsphase der Anwendung erfolgen, bevor Diagnoseanfragen vom DM verarbeitet werden sollen. Frage Q-93d794e6b1dba23e (offen)

Aufruf und Fehlerbehandlung

Die Funktion besitzt keine Übergabeparameter, ist als noexcept deklariert und garantiert Exception-Sicherheit ([SWS_DM_01016]). Als Rückgabewert dient ein ara::core::Result<void>. Schlägt die Bereitstellung fehl, weil der Dienst bereits zuvor angeboten wurde, liefert die Methode den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik zurück ([SWS_DM_01016]).

Nebenläufigkeit und Zusammenspiel

Gemäß Spezifikation ist die Funktion als not thread-safe eingestuft ([SWS_DM_01016]). Aufrufe an derselben Instanz von ara::diag::EcuResetRequest müssen daher anwendungsseitig synchronisiert werden. Das Bereitstellungsmuster entspricht dem einheitlichen Schnittstellendesign im Adaptive Diagnostic Management, wie es analog auch für andere Handler wie ara::diag::GenericUDSService::Offer ([SWS_DM_00619]), ara::diag::GenericRoutine::Offer ([SWS_DM_00557]) oder ara::diag::CommunicationControl::Offer ([SWS_DM_00809]) definiert ist. Obwohl die Namensgebung an ara::com angelehnt ist, handelt es sich um eine eigenständige Implementierung des Diagnostic Management (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“).

Dieser Nutzungshinweis wurde automatisiert erstellt und stützt sich auf die Spezifikation AUTOSAR Adaptive R25-11.

Implementer's Guide folgt (Komplexität 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#ac6a418a
Content hash
ac6a418a
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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4ec2f9bf44c2 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode ara::diag::EcuResetRequest::RequestReset (#include "ara/diag/ecu_reset_request.h") wird vom Diagnoseserver aufgerufen, sobald eine UDS-Anforderung für den Dienst 0x11 (ECUReset) empfangen wird ([SWS_DM_00235], SWS Diagnostics §7.3.2.8.5.2 „Service 0x11 – ECUReset – all other sub functions“). Dies gilt für sämtliche Reset-Subfunktionen mit Ausnahme von EnableRapidPowerShutdown und DisableRapidPowerShutdown ([SWS_DM_01013]). Die instanziierende Anwendung muss vor der Annahme sorgfältig prüfen, ob ein Neustart von Teilen oder der gesamten Maschine durchgeführt werden darf ([SWS_DM_01013]).

Parameter und asynchrone Schnittstelle

Der Aufruf übergibt den Reset-Typ resetType, eine optionale Kennung id (wird nur ausgewertet, wenn resetType auf custom steht), die Metadaten metaInfo sowie einen cancellationHandler ([SWS_DM_01013]). Über den cancellationHandler kann die Anwendung per IsCanceled den Abbruchstatus ermitteln oder mittels SetNotifier eine Callback-Funktion für Abbruchereignisse registrieren ([SWS_DM_01013]). Das Ergebnis wird asynchron über ara::core::Future<void> bereitgestellt ([SWS_DM_01013]).

Fehlerbehandlung, Ablaufsteuerung und Nebenläufigkeit

Kann der Reset nicht akzeptiert werden, ist im Future ein passender NRC-Fehlercode über DiagUdsNrcErrc gemäß ISO 14229-1 zurückzugeben ([SWS_DM_01013]); zudem wird das Melden eines ApApplicationError berücksichtigt ([SWS_DM_00360]). Wird die Anfrage angenommen, ist diese Entscheidung für den anschließenden ExecuteReset-Trigger bindend ([SWS_DM_01013]), und der Diagnoseserver ignoriert nachfolgende eingehende UDS-Anfragen ([SWS_DM_01022]), bis die Blockierung nach Abschluss von ExecuteReset aufgehoben wird ([SWS_DM_01309]). Die tatsächliche Reset-Ausführung erfolgt abhängig von DiagnosticEcuResetClass.respondToReset entweder nach Versenden der positiven UDS-Antwort ([SWS_DM_01023]) oder direkt vor dem Neustart ([SWS_DM_01090]). Die Funktion ist als exception safe, jedoch explizit als not thread-safe spezifiziert ([SWS_DM_01013]).

Dieser Verwendungshinweis basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11.

Implementer's Guide folgt (Komplexität 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#2298781a
Content hash
2298781a
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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b9e940cd3ae2 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode ara::diag::EcuResetRequest::StopOffer beendet die Bereitstellung des Reset-Dienstes und deaktiviert die Weiterleitung eingehender Anfrage-Nachrichten vom Diagnostic Management (DM) an die Anwendung ([SWS_DM_01017], AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.5 „StopOffer“). Die Funktion besitzt die Signatur void StopOffer() noexcept, erwartet keine Parameter und liefert keinen Rückgabewert zurück.

Fehlerbehandlung und Ausnahmeverhalten

Die Operation ist als noexcept deklariert und spezifikatorisch als ausnahmesicher (exception safe) eingestuft ([SWS_DM_01017]). Es werden weder Ausnahmen geworfen noch spezifische Fehlercodes an den Aufrufer zurückgemeldet.

Nebenläufigkeit und Einschränkungen

Die Methode ist explizit als nicht threadsicher (not thread-safe) klassifiziert ([SWS_DM_01017]). Aufrufer müssen konkurrierende Zugriffe auf dieselbe Instanz von ara::diag::EcuResetRequest anwendungsseitig synchronisieren. Fachlich dürfte der Aufruf erst nach einem vorherigen Anbieten des Handlers vorgesehen sein, um den Empfang weiterer Reset-Anfragen geordnet zu stoppen. Frage Q-25f37b77dc8cf80f (offen)

Zusammenspiel

Das Deaktivieren der Weiterleitung über StopOffer folgt dem einheitlichen Schnittstellenmuster der funktionalen Diagnose-Handler in Adaptive AUTOSAR, wie es analog auch für andere Dienste wie CommunicationControl ([SWS_DM_00810]) oder DownloadService ([SWS_DM_00793]) definiert ist.

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation für AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität 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#becd6c1d
Content hash
becd6c1d
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

function 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#69df81e2
Content hash
69df81e2
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

function 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#bf9cee0f
Content hash
bf9cee0f
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

function ~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#b72ad791
Content hash
b72ad791
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