DEENESPTFRRUARHIKOZHNL

struct ara::diag::SovdOperationExecution::GetStatusResponse

[SWS_DM_02200] Upstream: RS_Diag_04262

struct GetStatusResponse {...};

Get Status response .

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

User GuideAI-GEGENEREERD

Dient als retourstructuur voor het asynchroon opvragen van de status van SOVD-operaties aan Diagnostic Management.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b16aa086639a Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als retourstructuur voor het asynchroon opvragen van de status van SOVD-operaties aan Diagnostic Management.

De datastructuur GetStatusResponse dient als retourcontainer voor het asynchroon opvragen van de status van SOVD-operaties ([SWS_DM_02200]). Deze wordt door een SovdOperationExecution-instantie via een ara::core::Future overgedragen aan Diagnostic Management, dat daaruit de attributen status en parameters voor het ASAM-SOVD-antwoord afleidt ([SWS_DM_02181]). Voorwaarde voor het beschikbaar stellen is een succesvolle proximity-validatie evenals de foutloze asynchrone uitvoering van de aanroep.

Context

De structuur ara::diag::SovdOperationExecution::GetStatusResponse is een antwoorddatastructuur van het Adaptive Platform ([SWS_DM_02200]), die wordt ingezet als gestandaardiseerde retourcontainer bij het opvragen van de status van SOVD-operaties (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 “Struct: GetStatusResponse”). Binnen de module diag fungeert de structuur als interface-element tussen de diagnostische daemon Diagnostic Management (DM) en applicatiespecifieke diagnosediensten die de interface SovdOperationExecution implementeren. Komt er bij Diagnostic Management een externe SOVD-aanroep binnen voor het opvragen van de operatiestatus (“Read the Status of an operation”), dan stuurt het DM deze aanvraag door naar de verantwoordelijke instantie ([SWS_DM_02180]). GetStatusResponse kapselt de vastgestelde toestands- en resultaatgegevens in en stelt het DM in staat om het standaardconforme antwoord conform ASAM SOVD te construeren ([SWS_DM_02181]).

Levenscyclus

Als datastructuur (struct GetStatusResponse) wordt een instantie typisch in de context van de service-applicatie geïnstantieerd zodra de virtuele methode SovdOperationExecution::GetStatus voor verwerking wordt aangeroepen. Het object wordt als waarde ingebed in een ara::core::Future<GetStatusResponse>, die de asynchrone methodesignatuur als retourtype voorschrijft (AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”). Interpretatie: GetStatusResponse is vermoedelijk ontworpen als puur waardeoverdrachtsobject waarvan de levenscyclus nauw gekoppeld is aan het bijbehorende Future- en Promise-paar. Vraag Q-e5e2b31a97df0af4 (open) Zodra de applicatiespecifieke bepaling is voltooid en de Future wordt vervuld, gaat de datatoegang over naar het aanroepende Diagnostic Management. Na het uitlezen van de attributen voor het samenstellen van het SOVD-antwoord ([SWS_DM_02181]) eindigt de levensduur van de structuur en wordt deze regulier vernietigd.

Gebruikspad

Het reguliere verloop bij het opvragen van de operatiestatus omvat het samenspel van meerdere componenten:

  1. Een externe SOVD-client verzendt de methode “Read the Status of an operation” met een specifieke execution-id naar het DM ([SWS_DM_02180]).
  2. Het DM controleert de aanvraag en voert indien nodig een validatie van de Proximity Challenge uit ([SWS_DM_02173]).
  3. Na succesvolle controle adresseert het DM aan de hand van de execution-id de overeenkomstige SovdOperationExecution-instantie ([SWS_DM_02177]) en roept de methode GetStatus(meta_info, cancellation_handler) daarvan aan ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”).
  4. De applicatie bepaalt de uitvoeringstoestand, vult GetStatusResponse met de statuswaarde (status) evenals de uitvoerparameters (Parameters uit DiagnosticSovdContentData) en stelt het object via de ara::core::Future beschikbaar ([SWS_DM_02181]).
  5. Het DM haalt de gegevens uit de beschikbaar gestelde GetStatusResponse, stelt het veld capability in op execute en stuurt de response body conform ASAM SOVD terug naar de client ([SWS_DM_02181]).
Verloop van het opvragen van de status van een SOVD-operatieSOVD-ClientDiagnostic ManagementSovdOperationExecutionRead the Status of an operation (execution-id)optProximity-controle vereistproximity_challenge validieren [SWS_DM_02173]GetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

Sequentiediagram: Samenspel bij het opvragen van de operatiestatus via GetStatusResponse. Bronnen: [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”, [SWS_DM_02173]

Foutscenario's

De verwerking en de succesvolle uitwisseling van GetStatusResponse zijn afhankelijk van meerdere randvoorwaarden en foutpaden:

  • Indien een vereiste Proximity Challenge mislukt ([SWS_DM_02173]), roept het DM de methode GetStatus in het geheel niet aan ([SWS_DM_02180]); een instantiatie of evaluatie van GetStatusResponse vervalt in dit geval volledig.
  • De methode SovdOperationExecution::GetStatus is gedeclareerd als noexcept (AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”). Fouten bij de statusbepaling mogen daarom niet via C++-exceptions worden gepropageerd, maar moeten asynchroon via het foutpad van de ara::core::Future worden gesignaleerd.
  • Slaagt de uitvoering van de methode niet (“succeeded”-voorwaarde niet vervuld), dan blijft de reguliere samenstelling van het SOVD-succesantwoord achterwege ([SWS_DM_02181]).
  • Via het doorgegeven object ara::diag::CancellationHandler kan de lopende operatie worden geïnformeerd over een annuleringswens (AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”).

Deze handleiding is opgesteld door een AI en is gebaseerd op de AUTOSAR-specificatie R25-11.