Dient der Aufnahme und Rückgabe von Nutzdaten bei erfolgreichen Antworten generischer Routine-Dienste.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d9df3888892fHerkunftOffene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Dient der Aufnahme und Rückgabe von Nutzdaten bei erfolgreichen Antworten generischer Routine-Dienste.
Die Struktur ara::diag::GenericRoutine::OperationOutput dient als Rückgabestruktur für positive Antwortnachrichten generischer Routine-Dienste in AUTOSAR Adaptive [SWS_DM_00633]. Nach erfolgreicher Ausführung einer Routine instanziiert die Anwendung die Struktur und befüllt das Mitglied responseData mit den Nutzdaten des Ergebnisses SWS Diagnostics S. 80. Wesentliche Randbedingung ist, dass der Vektor responseData ausschließlich die reinen Ergebnisdaten enthält und der RoutineIdentifier explizit nicht enthalten sein darf [SWS_DM_00633].
Kontext
Die Struktur ara::diag::GenericRoutine::OperationOutput dient im Diagnosemodul von AUTOSAR Adaptive als dedizierter Datenbehälter für positive Antwortnachrichten generischer Routine-Dienste [SWS_DM_00633]. Sie ist über den Header ara/diag/generic_routine.h verfügbar [SWS_DM_00633] und kapselt die Nutzdaten, die eine adaptive Diagnose-Anwendung nach der erfolgreichen Abarbeitung einer Routine an das Diagnose-Management (ara::diag) zurückliefert. An der Interaktion sind primär drei Instanzen beteiligt: der externe Diagnose-Tester als Sender von Routine-Anfragen, das Plattform-Framework ara::diag zur Protokollabwicklung und die anwendungsspezifische Implementierung von GenericRoutine, welche die fachliche Logik ausführt und das Ergebnis bereitstellt SWS Diagnostics S. 80. Die Kernaufgabe von OperationOutput besteht darin, die reinen Ausgabedaten der Routine strukturiert bereitzustellen, wobei der RoutineIdentifier ausdrücklich nicht Teil dieser Datenstruktur ist [SWS_DM_00633].
Lebenszyklus
Als leichtgewichtige Datenstruktur (struct) besitzt OperationOutput einen einfachen Werte-Lebenszyklus. Die Instanziierung erfolgt bedarfsgesteuert durch die adaptive Diagnose-Anwendung, sobald ein an die Routine gerichteter Befehl (beispielsweise Start, Stopp oder Ergebnisabfrage) positiv abgeschlossen werden konnte. Das einzige Datenelement ist responseData vom Typ ara::core::Vector<std::uint8_t>[SWS_DM_00633]. Die Anwendung allokiert den Vektor, befüllt ihn mit den anwendungsspezifischen Rückgabedaten und übergibt die fertige Struktur an das Diagnose-Subsystem. Die Rückgabe an das Diagnose-Framework dürfte typischerweise asynchron über Result- oder Future-Typen von ara::core erfolgen (Interpretation: asynchrone Schnittstellenkonvention der Adaptive Platform). Frage Q-e672dfb8b9ff416a (offen) Nach der Übergabe geht die Verantwortung für die Serialisierung auf ara::diag über. Sobald die Daten übertragen oder in interne Puffer übernommen wurden, wird die Struktur beim Verlassen des jeweiligen Gültigkeitsbereichs wieder zerstört. Hinsichtlich der Nebenläufigkeit ist zu beachten, dass OperationOutput für den Kontext einer einzelnen Operationsausführung erzeugt wird; ein geteilter, ungeschützter Zugriff über mehrere Threads hinweg findet regulär nicht statt.
Nutzungspfad
Der reguläre Ablauf zur Nutzung von OperationOutput umfasst mehrere aufeinanderfolgende Phasen:
Anfrageempfang: Ein Diagnose-Client sendet eine UDS-RoutineControl-Anfrage, die von der Diagnose-Schicht an die zuständige GenericRoutine-Instanz weitergeleitet wird SWS Diagnostics S. 84.
Ausführung: Die adaptive Anwendung führt die angeforderte Routine aus und verarbeitet die Eingabeparameter.
Ergebniserzeugung: Nach erfolgreicher Ausführung erzeugt die Anwendung ein Exemplar von OperationOutput und befüllt responseData mit den resultierenden Byte-Werten [SWS_DM_00633].
Antwortübergabe: Die Struktur wird als positives Operationsergebnis an ara::diag zurückgegeben.
Antwortübertragung: Das Diagnose-Management übernimmt vermutlich die automatische Voranstellung des RoutineIdentifier vor das responseData-Feld beim Zusammenbau der UDS-Antwort (Interpretation: Protokollheader-Ergänzung durch den Daemon) und sendet das Gesamtpaket an den Client [SWS_DM_00633]. Frage Q-ccdd2867b87d00d1 (offen)
Sequenzdiagramm: Typischer Ablauf der Datenbereitstellung über OperationOutput bei erfolgreicher Routine-Ausführung. Quellen: [SWS_DM_00633], SWS Diagnostics S. 80.
Fehlerszenarien
Tritt während der Abarbeitung der Routine ein Fehler auf oder sind die übergebenen Eingabedaten ungültig, wird der Nutzungspfad von OperationOutput abgebrochen. Im Fehlerfall dürfte die Anwendung anstelle von OperationOutput einen Fehlercode an das Diagnose-Management übermitteln, wodurch eine negative UDS-Antwort ausgelöst wird (Interpretation: Fehlerpfad via Result/Error-Domain). Frage (offen) Als wesentliche Vorbedingung für die Verwendung von OperationOutput gilt somit, dass die Routine-Operation vollständig und fehlerfrei beendet wurde. Als Nachbedingung garantiert die Anwendung, dass responseData ausschließlich die reinen Nutzdaten der positiven Antwortnachricht enthält und keine Protokoll-Präfixe wie der RoutineIdentifier enthalten sind [SWS_DM_00633]. Sollte eine Routine zwar erfolgreich beendet worden sein, aber keine zusätzlichen Rückgabedaten erzeugen, verbleibt der Vektor responseData leer SWS Diagnostics S. 70.
Dieser Leitfaden basiert auf der AUTOSAR-Adaptive-Spezifikation für das Modul Diagnostics (R25-11). Erläuterungen stützen sich auf den Spezifikationsauszug und unterliegen dem dokumentierten Annahmenrahmen.
UML-Klassendiagramm
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-medium· 2026-10-13