DEENESPTFRRUARHIKOZHNL

struct ara::diag::UploadService::OperationOutput

[SWS_DM_00795] Upstream: RS_Diag_04033

struct OperationOutput {...};

Response data of positive respose message.

Header-Datei#include "ara/diag/upload.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::UploadService

User GuideKI-GENERIERT

Nimmt die Nutzdaten einer positiven Antwortnachricht für Diagnose-Upload-Operationen auf.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6cf26bd1a154 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Nimmt die Nutzdaten einer positiven Antwortnachricht für Diagnose-Upload-Operationen auf.

Die Struktur ara::diag::UploadService::OperationOutput dient als Ausgabeparameter zur Rückgabe von Nutzdaten einer positiven Diagnoseantwort bei Upload-Diensten [SWS_DM_00796]. Die Anwendungssoftware instanziiert das Objekt nach erfolgreicher Durchführung einer Upload-Operation und befüllt das Mitglied responseData mit den zu sendenden Datenbytes [SWS_DM_00796]. Dabei darf der Inhalt von responseData keinen Service Identifier (SID) enthalten und muss den operationsspezifischen Vorgaben von Diensten wie UploadData oder RequestUploadExit entsprechen. Interpretation: Im Fehlerfall wird die Struktur nicht verwendet, sondern ein negativer Antwortstatus signalisiert. Frage Q-52a8538825bc0a30 (offen)

Kontext

Die Struktur ara::diag::UploadService::OperationOutput fungiert als Datenbehälter für die Nutzdaten einer erfolgreichen Diagnoseoperation im Rahmen des fahrzeugseitigen Upload-Dienstes [SWS_DM_00796]. Ihre primäre Verantwortung besteht darin, die Daten für eine positive Antwortnachricht („positive response message“) zu kapseln und an die Plattform weiterzuleiten [SWS_DM_00796].

Im Gesamtsystem interagieren hierbei drei Komponenten: Der externe Diagnose-Client (Tester), die Diagnose-Laufzeitumgebung des Adaptive-Systems (ara::diag) sowie die anwendungsspezifische Implementierung des UploadService [SWS_DM_00796]. Sobald der Tester eine UDS-Dienstoperation anfordert, delegiert ara::diag die Bearbeitung an den zuständigen Dienstanbieter der Anwendung, welcher das Ergebnis über OperationOutput an die Plattformschicht zurückreicht [SWS_DM_00796].

OperationOutputContext client Diagnose-Client aradiag ara::diag client->aradiag UDS-Anfrage aradiag->client Positive Antwort app UploadService Provider aradiag->app Dienstaufruf app->aradiag OperationOutput

Kontextdiagramm: Zusammenspiel von Diagnose-Client, Laufzeitumgebung ara::diag und UploadService bei der Bereitstellung von Antwortdaten. Quellen: [SWS_DM_00796], AUTOSAR_AP_SWS_Diagnostics, S. 74.

Lebenszyklus

Die Struktur OperationOutput ist als reines Datentransferobjekt ohne eigene Zustandslogik konzipiert und wird über den Header #include "ara/diag/upload.h" bereitgestellt [SWS_DM_00796]. Ihr Lebenszyklus gliedert sich in folgende Phasen:

  • Erzeugung: Die Instanziierung erfolgt anwendungsseitig innerhalb der ausführenden Diagnoseoperation, sobald die geforderten Upload-Daten erfolgreich zusammengestellt wurden. Interpretation: Das Objekt wird vermutlich lokal auf dem Stack der Dienstanwendung angelegt. Frage (offen)
  • Befüllung: Die Anwendungslogik weist dem öffentlichen Mitglied responseData vom Typ ara::core::Vector<std::uint8_t> die bereitzustellenden Nutzdaten zu [SWS_DM_00796].
  • Besitzübergang: Das Objekt wird als Operationsergebnis an ara::diag übergeben. Interpretation: Diese Übergabe dürfte per Wert oder Move-Semantik geschehen, womit die Verantwortung für die Daten auf die Plattform übergeht. Frage (offen)
  • Zerstörung: Nach der Serialisierung der Nutzdaten in die UDS-Antwortnachricht wird die Struktur durch die Laufzeitumgebung freigegeben.

Hinsichtlich Nebenläufigkeit bietet OperationOutput keine interne Synchronisation. Da Instanzen jedoch dediziert je Operationsaufruf erzeugt und thread-lokal verarbeitet werden, ist keine geteilte Zustandsverwaltung erforderlich.

Nutzungspfad

Der reguläre Ablauf zur Bereitstellung von Antwortdaten über OperationOutput umfasst eine feste Abfolge von Interaktionsschritten:

  1. Ein externer Tester sendet eine Upload-Anforderung (wie UploadData oder RequestUploadExit) an das Steuergerät [SWS_DM_00796].
  2. Die Diagnoseverwaltung ara::diag verarbeitet den Protokollkopf und ruft die korrespondierende Operation der Anwendungsinstanz von UploadService auf [SWS_DM_00796].
  3. Die Anwendung verarbeitet die Anfrage, erzeugt eine Instanz von OperationOutput und befüllt responseData mit den Nutzdaten [SWS_DM_00796]. Dabei darf responseData ausschließlich die Nutzdaten ohne den Service Identifier (SID) enthalten [SWS_DM_00796]. Je nach Operation variiert der geforderte Inhalt sowie die Anfangsposition der Daten in der positiven Antwortnachricht [SWS_DM_00796].
  4. Die Struktur wird an ara::diag zurückgegeben.
  5. Die Plattformschicht generiert die vollständige UDS-Antwortnachricht und übermittelt diese an den Tester [SWS_DM_00796].
Aufrufabfolge zur Bereitstellung von Antwortdaten über OperationOutputDiagnose-Clientara::diagUploadService ProviderUDS-Upload-Anfrage (z. B. UploadData)Dienstaufruf an UploadServiceOperationOutput instanziieren und responseData befüllenRückgabe von OperationOutputPositive UDS-Antwort (Nutzdaten ohne SID)

Sequenzdiagramm: Aufrufabfolge zur Rückgabe von Diagnosedaten mittels OperationOutput. Quellen: [SWS_DM_00796], AUTOSAR_AP_SWS_Diagnostics, S. 74.

Fehlerszenarien

Die Struktur OperationOutput ist ausschließlich für erfolgreiche Ausführungen und positive Antwortnachrichten spezifiziert [SWS_DM_00796]. Schlägt eine Operation fehl (beispielsweise aufgrund ungültiger Adressbereiche oder Sequenzfehler bei UploadData), kommt OperationOutput nicht zum Einsatz. Interpretation: Fehlerhafte Abläufe werden vermutlich über separate Diagnose-Fehlercodes (NRCs) an ara::diag gemeldet, sodass das Erzeugen oder Befüllen der Ausgabestruktur entfällt. Frage Q-fa3daf3152f7131c (offen)

Als Vorbedingung für die Rückgabe gilt, dass responseData exakt die von der jeweiligen Dienstoperation geforderten Bytes umfasst und keine vorangestellten Protokollkennungen enthält [SWS_DM_00796]. Als Nachbedingung übernimmt die Diagnose-Verwaltung die Daten zur Finalisierung der Buskommunikation [SWS_DM_00796].

Dieser Leitfaden basiert auf den Anforderungen der AUTOSAR Adaptive Platform R25-11.

UML-Klassendiagramm

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

G nara__diag__UploadService__OperationOutput307 «struct» OperationOutput + responseData

Konstanten

responseData variable

Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.

Dokumentation der Konstanten / Variablen

variable responseData [SWS_DM_00796] Upstream: RS_Diag_04033

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

Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation.

Header-Datei#include "ara/diag/upload.h"
Scopestruct ara::diag::UploadService::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_00796
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00796@rel:R25-11#53370279
Content hash
53370279
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00796
Status: valid/unmigrated Version: rel:R25-11#891d111d 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_00796@rel:R25-11#891d111d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#533702792026-09-30
  • R23-11rel:R23-11#c101ec302026-10-14
  • R24-11rel:R24-11#c101ec302026-10-14
  • R25-11rel:R25-11#891d111d2026-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