DEENESPTFRRUARHIKOZHNL

struct ara::diag::GenericUDSService::OperationOutput

[SWS_DM_00578] Upstream: RS_Diag_04169, RS_Diag_04172

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/generic_uds_service.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::GenericUDSService

User GuideAI-GEGENEREERD

Kapselt de payload van een positief UDS-antwoord in zonder service-identifier voor overdracht aan Diagnostic Management.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: e0f4adf446cb Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Kapselt de payload van een positief UDS-antwoord in zonder service-identifier voor overdracht aan Diagnostic Management.

De structuur ara::diag::GenericUDSService::OperationOutput dient in de module diag als uitvoerstructuur voor de payload van positieve UDS-antwoordberichten [SWS_DM_00632]. Een applicatie vult na succesvolle uitvoering van een generieke UDS-service de bytevariabele responseData en draagt de instantie over aan Diagnostic Management. Daarbij mag de UDS Service Identifier (SID) niet in responseData zijn opgenomen, aangezien deze automatisch door het platform wordt toegevoegd [SWS_DM_00632]. Voor foutscenario's en negatieve antwoorden is de structuur niet bedoeld.

Context

De datastructuur ara::diag::GenericUDSService::OperationOutput dient binnen het AUTOSAR Adaptive Platform in module diag als gestandaardiseerd uitvoerkanaal voor generieke UDS-services [SWS_DM_00632]. Zij is gedefinieerd in het headerbestand #include "ara/diag/generic_uds_service.h" en fungeert als inkapseling voor de payload van een succesvolle UDS-service-uitvoering [SWS_DM_00632]. De belangrijkste interactiepartners zijn de applicatiespecifieke implementatie van de generieke UDS-servicehandler en het bovenliggende Diagnostic Management van het platform AUTOSAR_AP_SWS_Diagnostics p. 80. Terwijl Diagnostic Management de coördinatie met de externe diagnosetester, de protocolvalidatie en het raamwerk verzorgt, stelt OperationOutput de geïsoleerde payload voor het positieve UDS-antwoordbericht beschikbaar [SWS_DM_00632].

Levenscyclus

Instanties van ara::diag::GenericUDSService::OperationOutput vertonen een sterk gefocuste en kortstondige levenscyclus. De structuur wordt door de servicetoepassing geïnstantieerd in de lokale context van een inkomend UDS-verzoek. Via de enige publieke lidvariabele responseData van het type ara::core::Vector<std::uint8_t> neemt de structuur het volledige eigendom van de payload-bytes over [SWS_DM_00632].

Interpretatie: de levensduur van OperationOutput is vluchtig en gebonden aan de duur van de desbetreffende verzoekverwerking; de instantie wordt vermoedelijk na het vullen via returnwaarde of verplaatsingssemantiek overgedragen aan Diagnostic Management en na serialisatie in het UDS-antwoordframe weer vernietigd. Vraag Q-c736182a9518978a (open) Omdat het een zuiver data transfer object (DTO) betreft zonder interne toestandslogica, bestaan er geen toestandsovergangen. Wat betreft gelijktijdigheid biedt OperationOutput geen inherente thread-safety; aangezien de instantiatie en het vullen echter per verzoek geïsoleerd binnen de verwerkingscontext plaatsvinden, is bij reguliere servicetoepassing geen externe synchronisatie vereist.

Gebruikspad

Het reguliere verloop bij de verwerking van een diagnoseverzoek is onderverdeeld in de volgende stappen:

  • Ontvangst: Diagnostic Management ontvangt een UDS-verzoek van een externe diagnosetester en stuurt dit door naar de overeenkomstige instantie van GenericUDSService AUTOSAR_AP_SWS_Diagnostics p. 81.
  • Service-uitvoering: de applicatie interpreteert de ontvangen parameters en voert de interne diagnosefunctie uit.
  • Resultaatbeschikbaarstelling: bij succesvolle verwerking instantieert de applicatie een object van het type OperationOutput en wijst aan het veld responseData de payload van het antwoord toe [SWS_DM_00632]. Hierbij schrijft de specificatie dwingend voor dat responseData uitsluitend de databytes zonder de service-identifier (SID) mag bevatten [SWS_DM_00632].
  • Overdracht: de applicatie draagt OperationOutput over aan Diagnostic Management. Interpretatie: de overdracht vindt typisch plaats als synchrone returnwaarde of ingebed in een asynchrone toekomstwaarde zoals ara::core::Future. Vraag Q-2dcf40060cca29a1 (open)
  • Berichtverzending: Diagnostic Management plaatst de positieve SID er automatisch voor, voltooit het UDS-telegram en verzendt het antwoord naar de diagnosetester.
Verloop van de UDS-antwoordverwerking via OperationOutputDiagnosetesterDiagnostic ManagementGenericUDSServiceUDS-Anfrage sendenDienstaanroep uitvoerenOperationOutput instanziierenresponseData zonder SID vullenOperationOutput retournerenSID vooraf laten gaan en UDS-frame genererenPositive UDS-Antwort senden

Sequentiediagram: verloop van de UDS-antwoordgeneratie en overdracht via OperationOutput. Bronnen: [SWS_DM_00632], AUTOSAR_AP_SWS_Diagnostics p. 81

Foutscenario's

Bij het gebruik van de structuur dient rekening te worden gehouden met essentiële randvoorwaarden en gedragspatronen in geval van fouten:

  • Uitsluiting van negatieve antwoorden: conform de specificatie vertegenwoordigt OperationOutput expliciet en uitsluitend de inhoud van positieve antwoordberichten [SWS_DM_00632]. Interpretatie: kan een serviceverzoek niet succesvol worden verwerkt (bijv. als gevolg van ontoelaatbare parameters of ongeldige voorwaarden), dan wordt vermoedelijk geen OperationOutput gegenereerd; in plaats daarvan signaleert de applicatie een Negative Response Code (NRC) aan Diagnostic Management. Vraag Q-09abb9092c1dc167 (open)
  • Foutieve SID-inclusie: wordt de service-identifier per abuis in responseData ingevoegd, dan ontstaat een onjuist geformatteerd UDS-telegram, aangezien Diagnostic Management de SID bij positieve antwoorden zelfstandig vooraf laat gaan [SWS_DM_00632].
  • Geheugenallocatie: aangezien responseData als dynamische vector (ara::core::Vector) is gedeclareerd, moet bij de toewijzing van zeer grote hoeveelheden payload rekening worden gehouden met mogelijke geheugenknelpunten [SWS_DM_00632].

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform release R25-11 en is geautomatiseerd opgesteld.

UML-klassendiagram

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

G nara__diag__GenericUDSService__OperationOutput107 «struct» OperationOutput + responseData

Constanten

responseData variabele

Content of positive respose message (without SID)

Documentatie van constanten / variabelen

variabele responseData [SWS_DM_00632] Upstream: RS_Diag_04169, RS_Diag_04172

ara::core::Vector<std::uint8_t> responseData;

Content of positive respose message (without SID)

Header-Datei#include "ara/diag/generic_uds_service.h"
Scopestruct ara::diag::GenericUDSService::OperationOutput
SymbolresponseData
Typara::core::Vector< std::uint8_t >

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00632
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00632@rel:R25-11#6e9c6f8e
Content hash
6e9c6f8e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00632
Status: valid/unmigrated Version: rel:R25-11#3466b277 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_00632@rel:R25-11#3466b277
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#42fda5632026-09-30
  • R20-11rel:R20-11#2f3f72b02026-10-14
  • R21-11rel:R21-11#14b5fdc12026-10-14
  • R22-11rel:R22-11#03c6c13a2026-10-14
  • R23-11rel:R23-11#8e6b999c2026-10-14
  • R24-11rel:R24-11#8e6b999c2026-10-14
  • R25-11rel:R25-11#3466b2772026-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