DEENESPTFRRUARHIKOZHNL

struct ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse

[SWS_DM_02209] Upstream: RS_Diag_04262

struct StartAsynchronousExecutionResponse {...};

Start Execution response in case of asynchronous operation .

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::GenericDiagnosticSovdOperation

User GuideAI-GEGENEREERD

Dient als retourstructuur bij het starten van een asynchroon uitgevoerde SOVD-diagnoseoperatie.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 7a6a4cc07e9b Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als retourstructuur bij het starten van een asynchroon uitgevoerde SOVD-diagnoseoperatie.

De structuur ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse dient in het AUTOSAR Adaptive Platform als antwoordtype bij het starten van een asynchroon verlopende SOVD-diagnoseoperatie [SWS_DM_02209]. Deze wordt door de applicatie geïnstantieerd en als variant binnen een ara::core::Future geretourneerd aan het Diagnostic Management wanneer een operatie op de achtergrond wordt voortgezet AUTOSAR_AP_SWS_Diagnostics §8.62 “StartExecution”. Voorafgaand aan de aanroep moet een eventueel vereiste proximity-challenge-controle met succes zijn voltooid. Vervolgens genereert het Diagnostic Management op basis van deze terugmelding het asynchrone antwoord naar de SOVD-client.

Context

De datastructuur ara::diag::GenericDiagnosticSovdOperation::StartAsynchronousExecutionResponse dient in het functionele cluster Diagnostic Management (DM) als retourtype voor de asynchrone start van een SOVD-diagnoseoperatie [SWS_DM_02209]. Voor elke geconfigureerde operatie van het type DiagnosticSovdOperationStart stelt de instantie van de Diagnostic Server de SOVD-methode voor het starten van een operatie conform ASAM SOVD beschikbaar [SWS_DM_01396]. Zodra een client via het SOVD-protocol de uitvoering van een operatie verzoekt, leidt het Diagnostic Management deze aanroep door naar de interface ara::diag::GenericDiagnosticSovdOperation::StartExecution [SWS_DM_02174].

Binnen dit proces fungeert StartAsynchronousExecutionResponse als antwoordobject van de applicatiespecifieke diagnose-handler aan het Diagnostic Management. Terwijl synchrone operaties via StartSynchronousExecutionResponse worden beantwoord [SWS_DM_02176], signaleert het retourneren van StartAsynchronousExecutionResponse dat de eigenlijke diagnoseverwerking als achtergrondtaak wordt voortgezet en dat de onmiddellijke terugmelding aan de SOVD-client uitsluitend de succesvolle initiatie bevestigt AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 “Operations – Start execution of an operation”.

Levenscyclus

Het aanmaken van StartAsynchronousExecutionResponse gebeurt door de concrete implementatie van de service-interface bij de uitvoering van StartExecution AUTOSAR_AP_SWS_Diagnostics §8.62 “StartExecution”. Indien de handler beslist dat de verzochte operatie asynchroon moet worden verwerkt, instantieert deze de struct en kapselt deze in binnen een ara::core::Variant<StartSynchronousExecutionResponse, StartAsynchronousExecutionResponse>.

Deze variant wordt via een ara::core::Promise opgelost en als ara::core::Future overgedragen aan het Diagnostic Management AUTOSAR_AP_SWS_Diagnostics §8.62 “StartExecution”. Met het oplossen van de future gaat het eigendom van de structuur over naar het Diagnostic Management. Interpretatie: De instantie van StartAsynchronousExecutionResponse wordt vermoedelijk na evaluatie door het Diagnostic Management verworpen zodra het SOVD-antwoordbericht naar de externe client is gegenereerd en verzonden. Vraag Q-3977fae99e62957e (open) De verdere afhandeling van de diagnosetaak loopt gelijktijdig door in de applicatiecontext.

Gebruikspad

Het reguliere verloop begint met de ontvangst van een SOVD-verzoek bij de Diagnostic Server om een operatie te starten [SWS_DM_01396]. Na succesvolle voorafgaande controle roept het Diagnostic Management de methode StartExecution van de geregistreerde handler aan [SWS_DM_02174]. Daarbij worden de operatienaam, de invoergegevens, meta-informatie en een ara::diag::CancellationHandler overgedragen AUTOSAR_AP_SWS_Diagnostics §8.62 “StartExecution”.

De handler start het asynchrone achtergrondproces, maakt de structuur StartAsynchronousExecutionResponse [SWS_DM_02209] aan en retourneert deze in de ara::core::Future. Het Diagnostic Management haalt het object eruit en transformeert de terugmelding naar het standaardconforme asynchrone SOVD-antwoord aan de client.

Asynchrone start van een SOVD-operatieSOVD-ClientDiagnostic ManagementGenericDiagnosticSovdOperationStart Execution of an OperationProximity Challenge validierenStartExecution(name, data, meta, handler)Asynchroon proces initiërenStartAsynchronousExecutionResponse erzeugenFuture<Variant<..., StartAsynchronousExecutionResponse>>SOVD-Antwort (asynchroner Start)

Sequentiediagram: Asynchrone start van een SOVD-operatie via StartAsynchronousExecutionResponse. Bronnen: [SWS_DM_01396], [SWS_DM_02174], [SWS_DM_02209], AUTOSAR_AP_SWS_Diagnostics §8.62 “StartExecution”.

Foutscenario's

Een centrale voorwaarde voor de methode-aanroep is de autorisatie: indien vereist, moet voorafgaand aan de aanroep van StartExecution een validatie van de proximity challenge met succes zijn doorstaan [SWS_DM_02174]. Faalt deze, dan blijft de aanroep van de handler achterwege en wordt er geen StartAsynchronousExecutionResponse aangemaakt.

Voor het afhandelen van afbrekingen tijdens de lopende uitvoering stelt het systeem een ara::diag::CancellationHandler beschikbaar AUTOSAR_AP_SWS_Diagnostics §8.62 “StartExecution”. Doet zich vóór het retourneren van de future een fout voor in de handler, dan kan de applicatie de future met een foutstatus beëindigen, zodat er geen geldige antwoordstructuur verder wordt verwerkt.

Deze klassehandleiding is gebaseerd op AUTOSAR-release R25-11 en is geautomatiseerd gegenereerd.