Ermöglicht Anwendungen die Bearbeitung und Beantwortung generischer SOVD-Operationsanfragen des Diagnostic Managers.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 23f008b064deHerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Ermöglicht Anwendungen die Bearbeitung und Beantwortung generischer SOVD-Operationsanfragen des Diagnostic Managers.
Die Basisklasse dient der Implementierung generischer SOVD-Operationshandler zur Bearbeitung von Ausführungsanforderungen im Diagnostic Management [SWS_DM_02203]. Nach der Instanziierung aktiviert die Anwendung den Empfang über Offer(), woraufhin der Diagnostic Manager eingehende Anfragen über die asynchrone Schnittstelle StartExecution weiterleitet [SWS_DM_02174][SWS_DM_02210]. Übergebene Inhaltsdaten und der Abbruch-Handler sind strikt an die Dauer der Operation gebunden [SWS_DM_02210].
Kontext
Die Klasse ara::diag::GenericDiagnosticSovdOperation stellt eine generische Schnittstelle für die Ausführung von Operationen im Rahmen von ASAM SOVD (Service-Oriented Vehicle Diagnostics) bereit [SWS_DM_02203]. Sie fungiert als Bindeglied zwischen der diagnostischen Plattform und der anwendungsspezifischen Implementierung diagnostischer Routinen oder Aktionen. Wenn ein externer SOVD-Client eine Operationsausführung anfordert, stellt die Instanz des Diagnostic Server die entsprechende SOVD-Methode bereit AUTOSAR_AP_SWS_Diagnostics §7.3.3.5.5.5 „Operations – Start execution of an operation“[SWS_DM_01396]. Sobald die Autorisierung beziehungsweise die Überprüfung einer erforderlichen Proximity Challenge erfolgreich abgeschlossen ist, leitet der Diagnostic Manager (DM) den Aufruf an die Methode StartExecution der registrierten Handler-Instanz weiter [SWS_DM_02174].
Lebenszyklus
Die Erzeugung einer Instanz erfolgt über den Konstruktor unter Angabe eines ara::core::InstanceSpecifier, der auf einen PortPrototype verweist, sowie eines Nebenläufigkeitstyps (ConcurrencyType) [SWS_DM_02204]. Da Move-Konstruktor [SWS_DM_02206] und Move-Zuweisungsoperator [SWS_DM_02207] als protected deklariert sind, ist die Klasse als Basisklasse für abgeleitete anwendungsspezifische Handler konzipiert. Nach der Instanziierung befindet sich das Objekt im inaktiven Zustand und nimmt keine Anfragen entgegen. Über Offer() wird die Weiterleitung von Anfragen durch den Diagnostic Manager aktiviert [SWS_DM_02211]. Mit StopOffer() kann diese Weiterleitung wieder deaktiviert werden [SWS_DM_02212]. Beim Abbau der Instanz sorgt der virtuelle Destruktor für eine ordnungsgemäße Bereinigung [SWS_DM_02205]. Konstruktor, Destruktor und Move-Operationen sind als threadsicher spezifiziert, während Offer() und StopOffer() nicht threadsicher sind und typischerweise während der Initialisierungs- oder Shutdown-Phase des Prozesses aufgerufen werden sollten.
Der reguläre Ablauf umfasst das Anbieten des Handlers, die Entgegennahme von Operationsanfragen sowie die asynchrone Bereitstellung der Antwort:
Dienst anbieten: Die Anwendung ruft Offer() auf, wodurch der Diagnostic Manager autorisiert wird, eingehende SOVD-Anfragen an das Objekt weiterzuleiten [SWS_DM_02211].
Start der Operation: Nach Eintreffen der SOVD-Methode und bestandener Prüfung der Proximity Challenge ruft der DM die rein virtuelle Methode StartExecution auf [SWS_DM_02174][SWS_DM_02210]. Dabei werden der Name der SOVD-Operation (sovd_operation_name), Nutzdaten (sovd_content_data), Metainformationen (meta_info) sowie ein CancellationHandler übergeben [SWS_DM_02210].
Ergebnisrückgabe: Die Methode liefert ein ara::core::Future zurück, das entweder eine synchrone Antwort (StartSynchronousExecutionResponse) oder eine asynchrone Antwort (StartAsynchronousExecutionResponse) enthält [SWS_DM_02210]. Bei einer synchronen Operation übernimmt der DM die Daten aus dem Ergebnis zur Erzeugung des SOVD-Response-Bodys [SWS_DM_02176].
Dienst beenden: Vor der Zerstörung des Objekts beendet die Anwendung die Weiterleitung mittels StopOffer()[SWS_DM_02212].
Bei der Verwendung der Schnittstelle können administrative sowie protokollspezifische Fehler auftreten:
Bereits angeboten: Ein erneuter Aufruf von Offer() auf einer bereits angebotenen Instanz schlägt mit dem Fehlercode DiagOfferErrc::kAlreadyOffered fehl [SWS_DM_02211].
SOVD-Fehler: Schlägt die Ausführung der Operation fehl, ist im ara::core::Future ein entsprechender negativer Antwortcode gemäß ISO 17978-3 bzw. ASAM SOVD 1.1 zurückzugeben [SWS_DM_02210].
Abbruch: Über das übergebene Objekt cancellation_handler wird die Anwendung benachrichtigt, falls die laufende Anforderung abgebrochen wird. Die Spezifikation untersagt ausdrücklich, diesen Handler über die Lebensdauer der laufenden Operation hinaus zu speichern oder darauf zuzugreifen [SWS_DM_02210]. Zudem bleiben die übergebenen Eingangsdaten in sovd_content_data nur gültig, bis das zugehörige Promise erfüllt oder die Verarbeitung abgebrochen wurde [SWS_DM_02210].
Dieser Leitfaden basiert ausschließlich auf der Spezifikation AUTOSAR Adaptive Platform R25-11 (Modul diag) und wurde automatisch kuratiert.
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: e7a3d094ee66HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode Offer der Klasse ara::diag::GenericDiagnosticSovdOperation schaltet die Weiterleitung eingehender Diagnose- und Serviceanforderungen vom Diagnostic Management (DM) an den jeweiligen Handler frei [SWS_DM_02211]. Die Funktion nimmt keine Parameter entgegen, deklariert noexcept und gibt ein ara::core::Result<void> zurück [SWS_DM_02211]. Interpretation: Da kein ara::core::Future zurückgegeben wird, dürfte die Aktivierung der Weiterleitung synchron während des Methodenaufrufs abgeschlossen werden. Frage Q-d9213a2118672440 (offen)
Hinsichtlich der Fehlerbehandlung sichert die Schnittstelle Rollback-Semantik zu [SWS_DM_02211]. Wurde der Dienst für diese Handler-Instanz bereits zuvor angeboten, schlägt der Aufruf fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered zurück [SWS_DM_02211]. Dieser Fehlerzustand entspricht dem in Diagnose-Fehlerdomänen definierten Fehlerbild für mehrfache Registrierungen [SWS_DM_00514].
Für die Nebenläufigkeit und den Aufrufkontext gelten folgende Einschränkungen:
Thread-Sicherheit: Die Operation ist als not thread-safe spezifiziert, jedoch exception safe[SWS_DM_02211]. Parallele Aufrufe auf derselben Handler-Instanz müssen anwendungsseitig synchronisiert werden.
Zustandsreihenfolge:Offer muss vor der Weiterleitung von Anforderungen aufgerufen werden [SWS_DM_02211]. Ein erneuter Aufruf ohne zwischenzeitliches Zurücknehmen führt zum Fehler.
Im Gesamtsystem folgt Offer dem einheitlichen Bereitstellungsmuster des Adaptive-Diagnose-Managements, wie es analog auch für generische Routinen [SWS_DM_00557], UDS-Dienste [SWS_DM_00619] oder Kommunikationssteuerungen [SWS_DM_00809] definiert ist. Dieses Prinzip ist spezifisch für ara::diag ausgelegt und darf nicht mit der Service-Bereitstellung in ara::com verwechselt werden (SWS Diagnostics §7.3.4.1.2 „Monitors“).
Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR R25-11 generiert.
sovd_operation_name: Name der auszuführenden SOVD-Operation [SWS_DM_02210].
sovd_content_data: Eingabedaten der Operation, die gültig bleiben, bis das zugehörige Promise erfüllt oder die Verarbeitung über den Cancellation-Handler abgebrochen wird [SWS_DM_02210].
meta_info: Zusätzliche Metainformationen zum Diagnosekontext [SWS_DM_02210].
cancellation_handler: Meldet einen Abbruch der laufenden Anfrage; dieses Objekt darf nicht über die Lebensdauer der Operation hinaus gespeichert oder referenziert werden [SWS_DM_02210].
Als Rückgabewert liefert die Funktion ein ara::core::Future mit einer ara::core::Variant aus StartSynchronousExecutionResponse oder StartAsynchronousExecutionResponse[SWS_DM_02210]. Bei synchroner Ausführung setzt das Diagnostic Management die Parameter im SOVD-Antwortkörper aus den Inhaltsdaten der Antwort [SWS_DM_02176]. Bei asynchroner Verarbeitung vergibt das Diagnostic Management eine eindeutige Kennung (id) zur Identifikation der laufenden Operation und setzt den Ausführungsstatus [SWS_DM_02177].
A future with either StartSynchronousExecutionResponse or StartAsynchronousExecutionResponse(for a positive response message) or a SOVD Error (for an negative response message)
Fehler
Fehlercode
Beschreibung
Please use an applicable SOVD error code, as defined in ISO 17978-3 / ASAM SOVD 1.1.
Request a governed re-review of this record. The record is not changed immediately.
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: ab28d5476140HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Methode StopOffer der Klasse ara::diag::GenericDiagnosticSovdOperation aus dem Header ara/diag/generic_diagnostic_sovd_operation.h dient dazu, die Weiterleitung eingehender Anforderungsnachrichten aus dem Diagnostic Management (DM) an die Operation zu deaktivieren [SWS_DM_02212].
Verwendung und Semantik: Die Funktion besitzt die Signatur void StopOffer() noexcept;, nimmt keine Parameter entgegen und liefert keinen Rückgabewert zurück [SWS_DM_02212]. Da keine asynchronen Rückgabetypen wie Futures oder Callbacks definiert sind, dürfte die Deaktivierung synchron unmittelbar während des Aufrufs wirksam werden. Frage Q-b0723617991a4e39 (offen) Sie ist als ausnahmesicher (exception safe) deklariert [SWS_DM_02212].
Nebenläufigkeit und Fehlerbehandlung: Die Schnittstelle ist als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_02212]. Daher müssen parallele Zugriffe auf dieselbe Instanz auf Anwenderebene synchronisiert werden. Es werden weder Fehlercodes zurückgegeben noch spezifische DET- oder DEM-Meldungen erzeugt [SWS_DM_02212].
Zusammenspiel:StopOffer folgt dem standardisierten Dienstanbieter-Muster von AUTOSAR Adaptive Diag. Analoge Methoden existieren für weitere Diagnose-Schnittstellen wie generische Routinen [SWS_DM_00558], generische UDS-Dienste [SWS_DM_00620], Datenidentifikatoren [SWS_DM_00639] oder Download-Dienste [SWS_DM_00793]. Obwohl der Name an ara::com angelehnt ist, handelt es sich um eine eigenständige Diagnose-Implementierung AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.
Dieser Text wurde durch eine KI erstellt und dient als Orientierungshilfe anhand der AUTOSAR-Spezifikation.
gemini-3.8-flash-medium· 2026-10-13