struct <DataElement-Namespace>::<DataElementInterface>::<DataElement>ReadOutput
struct <DataElement>ReadOutput {...};
Structure wrapping the out arguments for a ReadOutput
| Header-Datei | #include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h" |
|---|---|
| Forwarding-Header | #include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }/<DataElementShortname>_fwd.h" |
| Scope | class <DataElement-Namespace>::<DataElementInterface> |
User GuideKI-GENERIERT
Kapselt die Ausgabeargumente einer Leseoperation für ein Diagnose-Datenelement.
Kapselt die Ausgabeargumente einer Leseoperation für ein Diagnose-Datenelement.
Die Struktur <DataElement>ReadOutput dient im adaptiven Diagnosemodul als Transportbehälter zur Kapselung aller Ausgabeargumente einer Datenelement-Leseoperation. Bei einer eingehenden Leseanforderung wird sie vom Dienstanbieter instanziiert, mit den ermittelten Werten befüllt und an den Aufrufer zurückgegeben. Die Instanzen besitzen reine Wertsemantik ohne eigene Zustandsverwaltung und dürften nach der Auswertung unmittelbar zerstört werden. Frage (offen) Etwaige Fehler während der Abfrage werden als Interpretation über die Rückgabemechanismen der übergeordneten Plattformfunktion und nicht über die Struktur selbst behandelt.
Kontext
Die Struktur <DataElement>ReadOutput ist ein Bestandteil der Schnittstellendefinition des Diagnosemoduls (diag) innerhalb der AUTOSAR Adaptive Platform im Release R25-11. Ihre primäre Rolle besteht darin, als Hüllstruktur (Wrapper) die Ausgabeargumente (out arguments) einer Leseoperation (ReadOutput) für ein bestimmtes Diagnose-Datenelement innerhalb des zugehörigen <DataElementInterface> zusammenzufassen. In der Architektur von AUTOSAR Adaptive kommunizieren funktionale Software-Komponenten über klar definierte Service-Schnittstellen mit dem Plattform-Diagnose-Manager. <DataElement>ReadOutput fungiert hierbei als reiner Datenübertragungsbehälter, der die Nutzdaten einer Leseabfrage bündelt. Vermutlich dient die Datenstruktur als Rückgabetyp einer asynchronen Lese-Operation (wie Read()) innerhalb der Diagnoseschnittstelle <DataElementInterface>, um Ausgabeparameter gebündelt bereitzustellen. Frage Q-e3c1110153021b2a (offen) Durch diese Kapselung wird eine einheitliche und typisierte Schnittstelle geschaffen, die auf Zeigerübergaben oder getrennte Ausgabeparameter verzichtet.
Lebenszyklus
Hinsichtlich des Lebenszyklus weist die Struktur <DataElement>ReadOutput die Eigenschaften eines elementaren Wertetyps auf. Sie besitzt keine langlebige Identität und durchläuft keine komplexen internen Zustände. Die Erzeugung erfolgt dynamisch oder auf dem Stack durch diejenige Komponente, welche den Lesezugriff auf das Datenelement implementiert und die Ausgabedaten zusammenstellt. Die Instanzen der Struktur dürften typischerweise by-value oder via Move-Semantik übergeben und von der aufrufenden Diagnosekomponente bzw. dem Plattform-Framework nach Abschluss der Leseoperation konsumiert und zerstört werden. Frage Q-f7af8c361e9352b0 (offen) Der Besitzübergang erfolgt dabei unmittelbar an den Empfänger des Leseergebnisses. Sobald die verarbeitende Routine die benötigten Daten ausgelesen hat, wird die Struktur beim Verlassen des Gültigkeitsbereichs automatisch freigegeben. In Bezug auf Nebenläufigkeit bietet <DataElement>ReadOutput keine interne Synchronisation. Da die Instanzen im regulären Aufruffluss exklusiv an den jeweiligen Aufrufer übergeben werden, ist eine geteilte Nutzung über Threadgrenzen hinweg im Standardbetrieb nicht vorgesehen.
Nutzungspfad
Der typische Nutzungspfad erstreckt sich von der Auslösung einer Leseanforderung bis zur Verarbeitung der gelieferten Ausgabeparameter. Ein typischer Ablauf gestaltet sich wie folgt:
- Anforderung: Ein Diagnoseclient oder das adaptive Framework fordert das Lesen eines Datenelements über die Methode der Schnittstelle
<DataElementInterface>an. - Instanziierung und Befüllung: Die bereitstellende Software-Komponente ermittelt die aktuellen Diagnosedaten, instanziiert eine Instanz von
<DataElement>ReadOutputund setzt deren Datenfelder mit den erfassten Werten. - Rückgabe: Die befüllte Struktur wird als Ergebnis der Operation an das anfragende Framework übermittelt.
- Konsumierung: Das Framework oder die aufrufende Komponente greift auf die enthaltenen Ausgabeargumente zu, formatiert die Diagnoseantwort und beendet die Verarbeitung der Abfrage.
Nach erfolgreicher Übergabe und Entnahme der Datenfelder verliert die Instanz ihre Gültigkeit und wird ohne weitere Interaktionsschritte verworfen.
Fehlerszenarien
Interpretation: Das Fehlschlagen einer Leseoperation wird voraussichtlich nicht über die Struktur selbst abgebildet, sondern über den umschließenden Ergebnis- oder Fehlermechanismus der Plattform (etwa ara::core::Result bzw. ara::core::Future). Frage Q-7d16241843f2d5e6 (offen) Als reine Datenstruktur deklariert <DataElement>ReadOutput keine eigenen Methoden, Vorbedingungen oder Fehlercodes. Sollte der Lesezugriff auf ein Datenelement fehlschlagen – beispielsweise durch unzureichende Berechtigungen, ungültige Systemzustände oder Kommunikationsprobleme mit der zugrundeliegenden Sensorik –, signalisiert die implementierende Schnittstelle diesen Fehler über den übergeordneten Plattformfehlerkanal. In einem solchen Fehlerfall wird keine gültige Instanz von <DataElement>ReadOutput zur Auswertung bereitgestellt, wodurch Fehlinterpretationen unvollständiger Nutzdaten auf Aufruferseite vermieden werden.
Dieser Leitfaden basiert auf den Spezifikationsdaten des AUTOSAR-Releases R25-11 für die Adaptive Platform.
gemini-3.8-flash-medium· 2026-10-13