Dient als generische Schnittstelle zum anwendungsseitigen Lesen und Schreiben von SOVD-Diagnosedaten.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e0fb00ce3377HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Dient als generische Schnittstelle zum anwendungsseitigen Lesen und Schreiben von SOVD-Diagnosedaten.
Die Klasse ara::diag::GenericDiagnosticSovdContent stellt eine generische Schnittstelle für adaptive Anwendungen bereit, um SOVD-Ressourcen im AUTOSAR-System anzubinden [SWS_DM_02186]. Nach der Instanziierung aktiviert die Anwendung den Empfang von Diagnoseanfragen über Offer(), woraufhin das Diagnostic Management eingehende Lese- und Schreibzugriffe asynchron an Read() und Write() weiterleitet [SWS_DM_02193]. Vor dem Beenden muss die Bereitstellung mittels StopOffer() deaktiviert werden, während laufende Zugriffe den übergebenen Abbruch-Handler beachten müssen.
Kontext
Die Klasse ara::diag::GenericDiagnosticSovdContent stellt das generische Programmierinterface bereit, über das adaptive Anwendungen Datenressourcen für die serviceorientierte Fahrzeugdiagnose (SOVD) gemäß ASAM SOVD anbieten und verarbeiten [SWS_DM_02186]. In einem typischen Diagnoseszenario sind drei wesentliche Komponenten beteiligt: der externe SOVD-Client, das Diagnostic Management (DM) und der anwendungsspezifische Handler der adaptiven Anwendung.
SOVD-Daten werden über DiagnosticSovdContent strukturiert, welches aus einem oder mehreren Elementen vom Typ DiagnosticSovdContentElement besteht SWS Diagnostics §7.3.3.3 „Definition of SOVD data“. Das DM greift auf das Interface ara::diag::GenericDiagnosticSovdContent zurück, um Lese- oder Schreibanfragen für die gesamten Inhalte auszuführen und dabei die vorgegebenen Datenkonvertierungsregeln anzuwenden SWS Diagnostics §7.3.3.3 „Definition of SOVD data“.
Kontextdiagramm: Einbettung von GenericDiagnosticSovdContent zwischen externem SOVD-Client, Diagnostic Management und anwendungsspezifischem Handler. Quellen: [SWS_DM_01431], [SWS_DM_01432], [SWS_DM_02186].
Lebenszyklus
Die Instanziierung erfolgt über den Konstruktor unter Angabe eines ara::core::InstanceSpecifier, der auf einen PortPrototype eines DiagnosticDataIdentifierGenericInterface verweist, sowie eines Nebenläufigkeitsmodus vom Typ SovdContentConcurrencyType[SWS_DM_02187]. Die Klasse ist threadsicher und ausnahmesicher konzipiert [SWS_DM_02187].
Verschiebekonstruktor und Verschiebezuweisungsoperator sind mit geschützter Sichtbarkeit (protected) definiert [SWS_DM_02189], [SWS_DM_02190]. Interpretation: Die geschützte Deklaration deutet darauf hin, dass Instanzen als abgeleitete Klassenhierarchien implementiert werden und ein direktes Verschieben von außen verhindert werden soll. Frage Q-57d60744ffc54899 (offen) Zur Freigabe existiert ein virtueller Destruktor [SWS_DM_02188].
Nach der Konstruktion befindet sich die Instanz im Zustand der Nichtbereitstellung. Erst durch den Aufruf von Offer() wird das DM autorisiert, eintreffende Diagnoseanfragen an die Instanz weiterzuleiten [SWS_DM_02193]. Vor dem Herunterfahren oder bei Dienstende wird die Weiterleitung über StopOffer() wieder entzogen [SWS_DM_02194].
Nutzungspfad
Der reguläre Ablauf umfasst die Freischaltung des Dienstes, die Entgegennahme asynchroner Anforderungen und die abschließende Abmeldung:
Die Anwendung instanziiert ihre Implementierung von GenericDiagnosticSovdContent und registriert sich über Offer() beim DM [SWS_DM_02193].
Empfängt das DM eine Leseanfrage des Clients („Read a data resource from an Entity“), ruft es die Methode Read() auf [SWS_DM_01432], [SWS_DM_02191]. Die Methode liefert ein ara::core::Future<DiagnosticSovdContentData> zurück, welches entweder die abstrakten Inhaltsdaten oder einen SOVD-Fehler bereitstellt [SWS_DM_02191]. Aus diesen Daten bildet das DM die SOVD-Antwort [SWS_DM_01432], [SWS_DM_02164], [SWS_DM_02165].
Empfängt das DM eine Schreibanfrage („Write a data resource from an Entity“), delegiert es diese über Write() an den Handler [SWS_DM_01431], [SWS_DM_02166], [SWS_DM_02192]. Die Daten bleiben gültig, bis das zugehörige Promise erfüllt oder der Vorgang abgebrochen wird [SWS_DM_02192].
Zum Beenden des Handlings ruft die Anwendung StopOffer() auf [SWS_DM_02194].
Sequenzdiagramm: Ablauf von Dienstregistrierung, asynchronem Leseabruf und Dienstbeendigung. Quellen: [SWS_DM_01432], [SWS_DM_02191], [SWS_DM_02193], [SWS_DM_02194].
Fehlerszenarien
Wird Offer() aufgerufen, obwohl der Dienst bereits angeboten wird, schlägt die Operation mit dem Fehlercode DiagOfferErrc::kAlreadyOffered fehl [SWS_DM_02193].
Treten bei der Datenermittlung in Read() oder beim Schreiben in Write() anwendungsspezifische Fehler auf, wird das zurückgegebene ara::core::Future mit einem entsprechenden SOVD-Fehler erfüllt [SWS_DM_02191], [SWS_DM_02192], woraufhin das DM eine negative SOVD-Antwort an den Client übermittelt.
Zusätzlich wird beiden Aufrufen ein ara::diag::CancellationHandler übergeben, der signalisiert, falls die Operation vorzeitig abgebrochen wird [SWS_DM_02191], [SWS_DM_02192]. Dieser Handler darf über die Lebensdauer der Operation hinaus weder gespeichert noch aufgerufen werden [SWS_DM_02191], [SWS_DM_02192].
Dieser Leitfaden basiert ausschließlich auf den Angaben der Spezifikation AUTOSAR Adaptive Platform Release R25-11.
This Offer will enable the DM to forward request messages to this handler.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5a32b6fc61beHerkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung
Die Methode ara::diag::GenericDiagnosticSovdContent::Offer aktiviert das Diagnostic Management (DM), eingehende Anfrage-Nachrichten (request messages) an die Handler-Instanz weiterzuleiten [SWS_DM_02193]. Der Aufruf erfolgt synchron, nimmt keine Parameter entgegen und signalisiert das Ergebnis über den Rückgabetyp ara::core::Result<void>[SWS_DM_02193]. Ein positives Resultat bestätigt die erfolgreiche Registrierung des Dienstes beim DM [SWS_DM_02193].
Fehlerbehandlung
Schlägt die Registrierung fehl, liefert die Methode ein ara::core::Result mit einem Fehlercode zurück [SWS_DM_02193]:
DiagOfferErrc::kAlreadyOffered: Tritt auf, wenn der Dienst bereits zuvor angeboten wurde; hierbei greift die Rollback-Semantik [SWS_DM_02193]. Dieser Fehlercode korrespondiert mit dem allgemeinen Diagnosestatus kAlreadyOffered in DiagErrc[SWS_DM_00514] sowie DiagReportingErrc[SWS_DM_00560].
Nebenläufigkeit und Einschränkungen
Die Funktion ist als noexcept und exception safe spezifiziert [SWS_DM_02193]. Zudem ist sie explizit als thread-safe eingestuft [SWS_DM_02193]. Dies unterscheidet GenericDiagnosticSovdContent::Offer maßgeblich von den meisten anderen Offer-Methoden des DM wie GenericRoutine::Offer[SWS_DM_00557], GenericUDSService::Offer[SWS_DM_00619] oder CommunicationControl::Offer[SWS_DM_00809], welche jeweils als not thread-safe deklariert sind.
Zusammenspiel
Die Bereitstellung über Offer ist die notwendige Voraussetzung dafür, dass der DM Anfragen an die Anwendung weiterleiten kann [SWS_DM_02193]. Solange die Bereitstellung nicht erfolgt ist, kann das DM keine Anfragen an die Schnittstelle bedienen, was dem allgemeinen Bereitstellungsprinzip im AUTOSAR-Diagnosemanagement entspricht [SWS_DM_01525], [SWS_DM_01527]. Die Namensgebung folgt dem etablierten Muster im DM, das analog zu den Monitor-Diensten gewählt wurde AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.
Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11.
Called for "Read Single Data Value request" for the specified SOVD Content.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e27f0077c84cHerkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung und Aufrufsemantik
Die reine virtuelle Methode Read der Klasse ara::diag::GenericDiagnosticSovdContent dient der Bearbeitung von Anfragen des Typs „Read Single Data Value“ für den spezifizierten SOVD-Inhalt [SWS_DM_02191]. Beim Aufruf durch den Diagnostic Manager werden der Inhaltsbezeichner sovd_content_name, kontextbezogene Diagnoseinformationen über meta_info sowie ein cancellation_handler übergeben [SWS_DM_02191]. Über den cancellation_handler kann die Anwendung prüfen, ob die laufende Anfrage abgebrochen wurde; diese Instanz darf nicht über die Lebensdauer der Operation hinaus gespeichert oder referenziert werden [SWS_DM_02191]. Die Bereitstellung der Daten erfolgt asynchron über den Rückgabewert ara::core::Future<DiagnosticSovdContentData>, welcher im Erfolgsfall die abstrakten SOVD-Inhaltsdaten kapselt [SWS_DM_02191].
Fehlerbehandlung
Die Methode ist als noexcept und exception safe spezifiziert, sodass auftretende Fehler nicht über C++-Exceptions gemeldet werden dürfen [SWS_DM_02191]. Stattdessen wird im Fehlerfall ein entsprechender SOVD Error über das ara::core::Future zurückgegeben, der in eine negative Antwortnachricht übersetzt wird [SWS_DM_02191]. Falls die Schnittstelle von der Anwendung noch nicht oder nicht mehr mittels offer() bereitgestellt wird, beantwortet der Diagnostic Manager eingehende Dienstanfragen mit dem negativen Antwortcode NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257].
Nebenläufigkeit und Zusammenspiel
Die Schnittstellenfunktion ist als thread-safe definiert [SWS_DM_02191]. Ob Lese- und Schreibzugriffe gleichzeitig durch den Diagnostic Manager aufgerufen werden dürfen, wird über die Konfigurationsvariable readWrite in der Struktur ara::diag::SovdContentConcurrencyType festgelegt [SWS_DM_02185]. Nur wenn diese auf kConcurrent gesetzt ist, erfolgen Aufrufe von Read und Write nebenläufig, während der Standardwert kNotConcurrent gleichzeitige Zugriffe ausschließt [SWS_DM_02185].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.
This StopOffer will disable the forwarding of request messages from DM.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a2e6fc88edb0HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode ara::diag::GenericDiagnosticSovdContent::StopOffer beendet die Bereitstellung des Diagnoseinhalts gegenüber dem Diagnostic Management (DM) und unterbindet ab dem Aufruf die Weiterleitung eingehender Anforderungsnachrichten [SWS_DM_02194]. Die Funktion erfordert die Header-Datei ara/diag/generic_diagnostic_sovd_content.h, erwartet keine Parameter und liefert keinen Rückgabewert [SWS_DM_02194].
Hinsichtlich der Fehlerbehandlung ist die Operation als noexcept deklariert und gilt als vollständig ausnahmesicher (exception safe) [SWS_DM_02194]. Es werden weder Fehlercodes noch Rückgabestatus übermittelt; ein Fehlschlag des Aufrufs ist im API-Design nicht vorgesehen.
Im Bereich der Nebenläufigkeit zeichnet sich die Methode dadurch aus, dass sie explizit als threadsicher (thread-safe) spezifiziert ist [SWS_DM_02194]. Dies stellt eine wesentliche Besonderheit im Vergleich zu vielen anderen Diagnose-Schnittstellen dar, bei denen StopOffer als nicht threadsicher definiert ist, wie beispielsweise bei GenericUDSService[SWS_DM_00620], GenericRoutine[SWS_DM_00558] oder CommunicationControl[SWS_DM_00810].
Das Namens- und Verhaltensschema folgt dem generellen AUTOSAR-Muster für Offer- und StopOffer-Mechanismen zur Steuerung des Nachrichtenflusses zwischen DM und Applikations-Handlern AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“. Interpretation: Der Aufruf dürfte typischerweise vor dem Zerstören des Handler-Objekts oder bei temporärer Nicht-Verfügbarkeit des SOVD-Dienstes erfolgen, um verwaiste Anfragen zuverlässig zu verhindern. Frage Q-5a2db04b82fed06b (offen)
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.
Called for "Write a Data Value" request for the specified SOVD Content.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 545b938dce05Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode [SWS_DM_02192] der Klasse ara::diag::GenericDiagnosticSovdContent wird vom Diagnostic Management (DM) aufgerufen, sobald über ASAM SOVD die Methode „Write a data resource“ für ein diagnostisches Element empfangen wird [SWS_DM_02166]. Die Bereitstellung dieser Schreiboperation ist optional und setzt das Vorhandensein der Konfiguration DiagnosticSovdData.DiagnosticSovdMethod.put voraus [SWS_DM_01431].
Beim Aufruf übergibt das DM folgende Parameter [SWS_DM_02192]:
sovd_content_name: Name des adressierten SOVD-Inhalts.
sovd_abstract_content_data: Die abstrakten Nutzdaten (DiagnosticSovdContentData), zusammengesetzt aus Elementname und konvertiertem Wert [SWS_DM_02166]. Diese Daten bleiben gültig, bis das Promise erfüllt oder die Verarbeitung über den Cancellation-Handler abgebrochen wird.
meta_info: Zusätzliche Metainformationen zum Kontext der Anfrage.
cancellation_handler: Dient zur Erkennung eines Abbruchs der laufenden Operation und darf nicht über die Lebensdauer der Funktion hinaus gespeichert oder referenziert werden.
Die Funktion ist als noexcept spezifiziert, gilt als exceptionsicher und gibt ein ara::core::Future<void> zurück, welches im Erfolgsfall void oder bei negativer Rückmeldung einen SOVD-Fehler transportiert [SWS_DM_02192]. Die Methode ist als threadsicher deklariert [SWS_DM_02192]; ob das DM Lese- und Schreibmethoden nebenläufig ausführen darf, regelt der Parameter readWrite in ara::diag::SovdContentConcurrencyType[SWS_DM_02185].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.
gemini-3.8-flash-medium· 2026-10-13