Dient als interface voor applicaties voor de controle en uitvoering van UDS-regeleenheid-resets in Diagnostic Management.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 5b921e2dd86fHerkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient als interface voor applicaties voor de controle en uitvoering van UDS-regeleenheid-resets in Diagnostic Management.
De klasse ara::diag::EcuResetRequest vormt de applicatie-interface voor de afhandeling van UDS-reset-services (Service 0x11) in Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1. Na activering middels Offer() neemt deze verzoeken voor de controle en uitvoering van herstarts en voor rapid-shutdown-aansturing in ontvangst ([SWS_DM_01016], [SWS_DM_01013], [SWS_DM_01014]). Instanties zijn noch kopieerbaar noch verplaatsbaar en alle methoden zijn gespecificeerd als niet thread-safe ([SWS_DM_01010], [SWS_DM_01621]).
Context
De interfaceklasse ara::diag::EcuResetRequest dient voor de afhandeling van de UDS-service ECUReset (Service 0x11) in het AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 “Service 0x11 – ECUReset – RapidPowerShutdown sub function”. Deze stelt een applicatie in staat om als handler voor reset-verzoeken van Diagnostic Management (DM) te fungeren. Tot de taken behoren de activering resp. deactivering van het snelle afsluiten ([SWS_DM_01012]), de controle van binnenkomende reset-verzoeken ([SWS_DM_01013]) en de daadwerkelijke uitvoering van de herstart ([SWS_DM_01014]). Betrokken interactiepartners zijn de externe diagnosetester, de instantie van Diagnostic Management (DM resp. Diagnostic Server) en de implementatie van EcuResetRequest aan applicatiezijde.
Een instantie van EcuResetRequest wordt aangemaakt via haar expliciete constructor onder opgave van een ara::core::InstanceSpecifier die verwijst naar een PortPrototype van een DiagnosticEcuResetInterface ([SWS_DM_01010]). Conform de ontwerprichtlijnen is de klasse noch kopieerbaar noch verplaatsbaar; copy- en move-constructors ([SWS_DM_01621], [SWS_DM_01622]) alsmede de bijbehorende toekenningsoperators ([SWS_DM_01619], [SWS_DM_01620]) zijn expliciet verwijderd (=delete). Alle interfacemethoden en de destructor ([SWS_DM_01011]) zijn gespecificeerd als not thread-safe ([SWS_DM_01010], [SWS_DM_01016], [SWS_DM_01017]). Na initialisatie bevindt de handler zich eerst in de toestand waarin geen doorzending van verzoeken plaatsvindt, totdat de registratie expliciet via Offer() wordt geactiveerd ([SWS_DM_01016]). Door het aanroepen van StopOffer() wordt de doorzending van verzoeken weer gedeactiveerd ([SWS_DM_01017]), voordat het object vernietigd kan worden ([SWS_DM_01011]).
Een typisch gebruikspad is onderverdeeld in initialisatie, vrijgave en de daaropvolgende verwerking van diagnoseverzoeken:
Instantiëring en vrijgave: De applicatie instantieert de afgeleide klasse met de passende InstanceSpecifier ([SWS_DM_01010]) en roept Offer() aan om de DM in staat te stellen verzoeken door te sturen ([SWS_DM_01016]).
Rapid-shutdown-aansturing: Ontvangt de DM een UDS-verzoek voor EnableRapidPowerShutdown of DisableRapidPowerShutdown, dan roept deze EnableRapidShutdown(enable, metaInfo, cancellationHandler) aan ([SWS_DM_01020], [SWS_DM_01021], [SWS_DM_01012]). Bij een positieve bevestiging vult de DM de geconfigureerde waarde voor de uitschakeltijd in het antwoord in (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.1 [SWS_DM_01092]).
Reset-verzoek: Voor alle andere UDS-reset-subfuncties roept de DM de methode RequestReset(resetType, id, metaInfo, cancellationHandler) aan ([SWS_DM_01013]). Het instantiërende proces moet zorgvuldig controleren of een herstart van delen of van de gehele machine toelaatbaar is ([SWS_DM_01013]). Via de cancellationHandler kan de annuleringsstatus worden opgevraagd of kan een notifier worden geregistreerd ([SWS_DM_01013]).
Reset-uitvoering: Wordt het verzoek geaccepteerd en is geconfigureerd dat het positieve antwoord vóór de reset wordt verzonden (respondBeforeReset resp. niet aanwezig), dan verzendt de Diagnostic Server het positieve UDS-antwoord en roept vervolgens ExecuteReset(metaInfo) aan (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023], [SWS_DM_01014]). Werd in plaats daarvan respondAfterReset geconfigureerd, dan wordt het positieve antwoord pas na de herstart teruggestuurd, mits RequestReset() geen fout heeft gemeld (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_00360]).
Service-afmelding: Om het doorsturen van de service te beëindigen, roept de applicatie StopOffer() aan ([SWS_DM_01017]).
In geval van een fout dient bij de verschillende aanroepen op de volgende aspecten te worden gelet:
Constructor-schendingen: Bij het aanmaken kunnen modelschendingen optreden, onder meer wanneer de InstanceSpecifier niet in het model kan worden opgelost (InstanceSpecifierMappingIntegrityViolation), naar een verkeerd modelelement verwijst, de poorttoewijzing ontbreekt (PortInterfaceMappingViolation), er geen procesreferentie is (ProcessMappingViolation) of de identifier al binnen het proces in gebruik is (InstanceSpecifierAlreadyInUseViolation) ([SWS_DM_01010]).
Registratiefout: als Offer() wordt aangeroepen terwijl de service al wordt aangeboden, retourneert de methode een ara::core::Result met de foutcode DiagOfferErrc::kAlreadyOffered ([SWS_DM_01016]).
Diagnostische foutcodes (NRC's): als EnableRapidShutdown, RequestReset of ExecuteReset niet succesvol kunnen worden voltooid, retourneren hun return-futures een fout met een passende ISO 14229-1 Negative Response Code (NRC) via DiagUdsNrcErrc ([SWS_DM_01012], [SWS_DM_01013], [SWS_DM_01014]). Let op: wanneer respondToReset is ingesteld op respondBeforeReset of niet is geconfigureerd, heeft een fout in ExecuteReset() geen invloed meer op het diagnose-antwoord, omdat de positieve bevestiging al eerder naar de tester is verzonden ([SWS_DM_01014], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.5.2 [SWS_DM_01023]).
Deze handleiding is uitsluitend gebaseerd op de specificaties van de AUTOSAR Adaptive Platform R25-11.
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.
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)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticEcuResetInterface.
Request a governed re-review of this record. The record is not changed immediately.
Interface for subFunction En-/DisableRapidShutdown.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 64d1feb19eceHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik en aanroepcontext
De zuiver virtuele methode EnableRapidShutdown van de klasse ara::diag::EcuResetRequest dient als interface voor de afhandeling van de UDS-subfuncties voor het snelle afsluiten ([SWS_DM_01012]). Bij binnenkomende diagnoseverzoeken van service 0x11 (ECUReset) roept de Diagnostic Manager (DM) deze functie aan: voor EnableRapidPowerShutdown met het argument enable = true ([SWS_DM_01020]) en voor DisableRapidPowerShutdown met enable = false ([SWS_DM_01021]). Dit onderscheidt deze twee subfuncties van alle overige ECUReset-diensten, die in plaats daarvan RequestReset triggeren ([SWS_DM_00235]).
De methode neemt drie parameters in ontvangst ([SWS_DM_01012]):
enable: Activeert bij true het snelle afsluiten en deactiveert dit bij false.
metaInfo: Geeft meta-informatie over het diagnoseverzoek door.
cancellationHandler: Dient voor het bewaken van de annuleringsstatus via cancellationHandler.IsCanceled() of het registreren van een notifier via cancellationHandler.SetNotifier() voor het geval de lopende diagnoseconversatie wordt afgebroken.
Semantiek, foutafhandeling en gelijktijdigheid
De interface retourneert een ara::core::Future<void>; de eigenlijke verwerking vindt zodoende vermoedelijk asynchroon op de achtergrond plaats ([SWS_DM_01012]). Vraag Q-ee781913ae88fabb (open) Bij succes levert de future geen waarde op. In geval van een fout moet een passende Negative Response Code (NRC) conform ISO 14229-1 door middel van DiagUdsNrcErrc worden ingesteld (AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.1 “EnableRapidShutdown”). De functie is gespecificeerd als noexcept en uitzonderingsveilig (exception safe), maar geldt als niet-thread-safe (not thread-safe), waardoor gelijktijdige aanroepen op dezelfde instantie aan applicatiezijde moeten worden vermeden ([SWS_DM_01012]).
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R25-11.
When enable is set to true the rapid shutdown will be enabled, setting enable to false will disable rapid shutdown.
metaInfo
MetaInfo of the request.
cancellationHandler
This 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.
process which is instantiating this interface, has to execute the requested reset.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 5a6dac3995bcHerkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode ExecuteReset van de interface ara::diag::EcuResetRequest wordt aangeroepen door de Diagnostic Server (DM) om de eerder via [SWS_DM_01013] geaccepteerde ECU-reset daadwerkelijk in het implementerende proces te triggeren [SWS_DM_01014]. Als parameter wordt de metaInfo van het verzoek doorgegeven. De functie is gespecificeerd als niet-thread-safe (not thread-safe), maar wel als uitzonderingsveilig (exception safe) [SWS_DM_01014].
Het tijdstip van aanroepen door de Diagnostic Server hangt af van de configuratieparameter DiagnosticEcuResetClass.respondToReset:
Is de parameter niet aanwezig of ingesteld op respondBeforeReset, dan roept de Diagnostic Server ExecuteReset pas aan nadat het positieve UDS-antwoord is verzonden [SWS_DM_01023].
Is respondAfterReset geconfigureerd, dan vindt de aanroep van ExecuteReset direct en zonder voorafgaand verzenden van het positieve antwoord plaats [SWS_DM_01090].
De functie levert een ara::core::Future<void> terug [SWS_DM_01014]. Wanneer binnenkomende UDS-verzoeken na acceptatie van de reset zijn geblokkeerd [SWS_DM_01022], heft de Diagnostic Server deze blokkade weer op zodra de door ExecuteReset geretourneerde Future is voltooid [SWS_DM_01309]. Mogelijke fouten worden via ISO 14229-1-NRC's middels DiagUdsNrcErrc in Future gesignaleerd; bij de configuratie respondBeforeReset blijft een doorgegeven fout echter zonder effect [SWS_DM_01014].
Deze tekst is opgesteld door een AI en is gebaseerd op AUTOSAR Release R25-11.
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
Fehlercode
Beschreibung
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.
This Offer will enable the DM to forward request messages to this handler.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c497a60736afHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Met de methode ara::diag::EcuResetRequest::Offer ([SWS_DM_01016]) signaleert een Adaptive Application aan Diagnostic Management (DM) dat zij gereed is om binnenkomende diagnoseverzoeken voor een ECU-reset in ontvangst te nemen. Door de synchrone aanroep wordt de DM geautoriseerd om overeenkomstige request-berichten door te sturen naar deze handler ([SWS_DM_01016]). De aanroep vindt typisch plaats tijdens de initialisatiefase van de applicatie, voordat diagnoseverzoeken door de DM moeten worden verwerkt. Vraag Q-93d794e6b1dba23e (open)
Aanroep en foutafhandeling
De functie heeft geen invoerparameters, is gedeclareerd als noexcept en garandeert exceptieveiligheid ([SWS_DM_01016]). Als retourwaarde dient een ara::core::Result<void>. Mislukt de beschikbaarstelling omdat de dienst al eerder werd aangeboden, dan retourneert de methode de foutcode DiagOfferErrc::kAlreadyOffered met rollback-semantiek ([SWS_DM_01016]).
Gelijktijdigheid en wisselwerking
Volgens de specificatie is de functie geclassificeerd als not thread-safe ([SWS_DM_01016]). Aanroepen op dezelfde instantie van ara::diag::EcuResetRequest moeten daarom aan applicatiezijde worden gesynchroniseerd. Het patroon voor beschikbaarstelling komt overeen met het uniforme interfaceontwerp in Adaptive Diagnostic Management, zoals dat analoog ook voor andere handlers zoals ara::diag::GenericUDSService::Offer ([SWS_DM_00619]), ara::diag::GenericRoutine::Offer ([SWS_DM_00557]) of ara::diag::CommunicationControl::Offer ([SWS_DM_00809]) is gedefinieerd. Hoewel de naamgeving is ontleend aan ara::com, betreft het een zelfstandige implementatie van Diagnostic Management (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”).
Deze gebruiksinstructie is geautomatiseerd gegenereerd en steunt op de specificatie AUTOSAR Adaptive R25-11.
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.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4ec2f9bf44c2Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode ara::diag::EcuResetRequest::RequestReset (#include "ara/diag/ecu_reset_request.h") wordt door de diagnoseserver aangeroepen zodra een UDS-verzoek voor de dienst 0x11 (ECUReset) wordt ontvangen ([SWS_DM_00235], SWS Diagnostics §7.3.2.8.5.2 “Service 0x11 – ECUReset – all other sub functions”). Dit geldt voor alle reset-subfuncties met uitzondering van EnableRapidPowerShutdown en DisableRapidPowerShutdown ([SWS_DM_01013]). De instantiërende applicatie moet vóór acceptatie zorgvuldig controleren of een herstart van delen van of de gehele machine mag worden uitgevoerd ([SWS_DM_01013]).
Parameters en asynchrone interface
De aanroep geeft het reset-type resetType, een optionele identifier id (wordt alleen geëvalueerd als resetType op custom staat), de metadata metaInfo en een cancellationHandler mee ([SWS_DM_01013]). Via de cancellationHandler kan de applicatie via IsCanceled de annuleringsstatus bepalen of middels SetNotifier een callback-functie voor annuleringsgebeurtenissen registreren ([SWS_DM_01013]). Het resultaat wordt asynchroon via ara::core::Future<void> beschikbaar gesteld ([SWS_DM_01013]).
Foutafhandeling, programmastroom en gelijktijdigheid
Kan de reset niet worden geaccepteerd, dan dient in het future een passende NRC-foutcode via DiagUdsNrcErrc conform ISO 14229-1 te worden teruggegeven ([SWS_DM_01013]); daarnaast wordt rekening gehouden met het melden van een ApApplicationError ([SWS_DM_00360]). Wordt het verzoek geaccepteerd, dan is deze beslissing bindend voor de aansluitende ExecuteReset-trigger ([SWS_DM_01013]), en negeert de diagnoseserver navolgende inkomende UDS-verzoeken ([SWS_DM_01022]) totdat de blokkering na voltooiing van ExecuteReset wordt opgeheven ([SWS_DM_01309]). De daadwerkelijke reset-uitvoering geschiedt afhankelijk van DiagnosticEcuResetClass.respondToReset hetzij na verzending van het positieve UDS-antwoord ([SWS_DM_01023]) hetzij direct voor de herstart ([SWS_DM_01090]). De functie is gespecificeerd als exception safe, maar expliciet als not thread-safe ([SWS_DM_01013]).
Deze gebruiksinstructie is gebaseerd op de specificatie AUTOSAR Adaptive Platform Release R25-11.
id of the custom reset type. Will only be evaluated when resetType is "custom".
metaInfo
MetaInfo of the request.
cancellationHandler
This 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.
This StopOffer will disable the forwarding of request messages from DM.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b9e940cd3ae2HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De methode ara::diag::EcuResetRequest::StopOffer beëindigt de levering van de reset-service en deactiveert het doorsturen van inkomende verzoekberichten van Diagnostic Management (DM) naar de applicatie ([SWS_DM_01017], AUTOSAR_AP_SWS_Diagnostics §8.16.3.1.3.5 “StopOffer”). De functie heeft de signatuur void StopOffer() noexcept, verwacht geen parameters en levert geen retourwaarde op.
Foutafhandeling en uitzonderingsgedrag
De bewerking is gedeclareerd als noexcept en volgens de specificatie geclassificeerd als uitzonderingsveilig (exception safe) ([SWS_DM_01017]). Er worden geen uitzonderingen opgeworpen en er worden geen specifieke foutcodes teruggemeld aan de aanroeper.
Gelijktijdigheid en beperkingen
De methode is expliciet geclassificeerd als niet-thread-safe (not thread-safe) ([SWS_DM_01017]). Aanroepers moeten concurrerende toegangen tot dezelfde instantie van ara::diag::EcuResetRequest aan applicatiezijde synchroniseren. Functioneel gezien zal de aanroep vermoedelijk pas zijn voorzien na een voorafgaand aanbieden van de handler, om de ontvangst van verdere resetverzoeken ordelijk te beëindigen. Vraag Q-25f37b77dc8cf80f (open)
Samenspel
Het deactiveren van het doorsturen via StopOffer volgt het uniforme interfacepatroon van de functionele diagnose-handlers in Adaptive AUTOSAR, zoals dat analoog ook gedefinieerd is voor andere services zoals CommunicationControl ([SWS_DM_00810]) of DownloadService ([SWS_DM_00793]).
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie voor AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel