Dient dem Abfragen und Festlegen von Reporting Modes für konfigurierte Sicherheitsereignisse im IdsM.
Kontext
Die Klasse ara::idsm::ReportingModeProvider ist im Header ara/idsm/reporting_mode_provider.h definiert und dient innerhalb des Adaptive-Moduls idsm der Bereitstellung und dynamischen Steuerung von Reporting Modes für den Intrusion Detection System Manager (IdsM) [SWS_AIDSM_10600]. In einer vernetzten Fahrzeugarchitektur überwacht der IdsM sicherheitsrelevante Ereignisse (Security Events). Über den ReportingModeProvider können Anwendungen oder zuständige Plattformdienste konfigurierte Sicherheitsereignisse ansprechen, um zu ermitteln oder festzulegen, auf welche Weise ein Ereignis an das IdsM-System gemeldet werden soll. Die Bindung an die Architektur erfolgt über einen modellierten PPort, der bei der Instanziierung angegeben wird [SWS_AIDSM_10601].
Lebenszyklus
Die Klasse ist als final deklariert [SWS_AIDSM_10600], wodurch eine Vererbung oder polymorphe Spezialisierung ausgeschlossen ist. Die Erzeugung eines Objekts erfolgt über den expliziten Konstruktor ReportingModeProvider(const ara::core::InstanceSpecifier& instance) [SWS_AIDSM_10601]. Über den Parameter instance wird die Bindung an den konkreten modellierten PPort hergestellt [SWS_AIDSM_10601]. Interpretation: Die übergebene Instanzbezeichnung verweist dabei vermutlich auf das im AUTOSAR-Modell konfigurierte Schnittstellen-Deployment für den IdsM-Dienst. Frage Q-a7c5bdfa7e2ba42b (offen)
Hinsichtlich der Nebenläufigkeit ist der Konstruktor als threadsicher (thread-safe) spezifiziert [SWS_AIDSM_10601]. Die beiden operativen Methoden zum Lesen und Schreiben der Reporting-Modi sind hingegen ausdrücklich als nicht threadsicher (not thread-safe) gekennzeichnet [SWS_AIDSM_10602], [SWS_AIDSM_10603]. Wenn mehrere Threads parallel auf dieselbe Instanz von ReportingModeProvider zugreifen, muss der Aufrufer diesen Zugriff extern synchronisieren. Der Lebenszyklus der Instanz wird typischerweise an die Lebensdauer der nutzenden Anwendung gekoppelt, die das Objekt erzeugt, verwaltet und nach Beendigung der Interaktion zerstört.
Nutzungspfad
Der typische Einsatz gliedert sich in die Initialisierung, die Abfrage des aktuellen Zustands sowie die bedarfsweise Anpassung des Reporting-Modus.
Zunächst instanziiert die Applikation den Provider für den vorgesehenen Port unter Angabe des entsprechenden InstanceSpecifier [SWS_AIDSM_10601]. Anschließend kann mit der Methode GetReportingMode der momentane Reporting Mode für ein bestimmtes, konfiguriertes Event abgefragt werden [SWS_AIDSM_10602]. Die Methode liefert ein ara::core::Result<ReportingModeType> zurück, welches den Modus kapselt oder einen aufgetretenen Fehler signalisiert [SWS_AIDSM_10602].
Erfordert die Sicherheitslage oder Diagnosekonfiguration eine Modifikation, wird SetReportingMode aufgerufen [SWS_AIDSM_10603]. Dieser Aufruf nimmt die Kennung eventId sowie den neuen reportingMode entgegen und gibt ein ara::core::Result<void> zurück [SWS_AIDSM_10603]. Die Anwendung prüft das Ergebnis, um den erfolgreichen Abschluss der Konfigurationsänderung sicherzustellen.
Sequenzdiagramm: Typischer Nutzungspfad zur Abfrage und Aktualisierung eines Reporting-Modus über den Provider. Quellen: [SWS_AIDSM_10601], [SWS_AIDSM_10602], [SWS_AIDSM_10603]
Fehlerszenarien
Sämtliche Methoden der Klasse sind mit noexcept deklariert [SWS_AIDSM_10601], [SWS_AIDSM_10602], [SWS_AIDSM_10603]. Die Fehlerbehandlung erfolgt daher vollständig ohne C++-Ausnahmen über das AUTOSAR-eigene Fehlermodell ara::core::Result.
Sowohl beim Abrufen über GetReportingMode [SWS_AIDSM_10602] als auch beim Setzen über SetReportingMode [SWS_AIDSM_10603] wird vorausgesetzt, dass die übergebene eventId einem konfigurierten Sicherheitsereignis entspricht. Wird eine unbekannte oder im System nicht hinterlegte Ereigniskennung übergeben, schlägt die Operation fehl und das Result enthält den Fehlercode IdsmErrc::kUnknownEventId [SWS_AIDSM_10602], [SWS_AIDSM_10603]. Aufrufende Komponenten müssen das Result vor dem Zugriff auf den Wert auswerten und im Fehlerfall eine entsprechende Fehlerbehandlung oder Protokollierung einleiten.
Dieser Leitfaden basiert ausschließlich auf der AUTOSAR-Spezifikation für das Adaptive-Modul idsm in Release R25-11.
gemini-3.8-flash-medium· 2026-10-13