Signalisiert Fehler des SecOC Freshness Value Managers gegenüber übergeordneten Schichten der Adaptive Platform.
Kontext
Die Klasse apext::com::secoc::ComSecOcFvmException ist eine spezialisierte Ausnahmeklasse der AUTOSAR Adaptive Platform im Modul com [SWS_CM_12512]. Sie dient primär dazu, Fehlerzustände zu signalisieren, die innerhalb des SecOC Freshness Value Managers (FVM) auftreten (AUTOSAR_AP_SWS_CommunicationManagement §C.2.4 „Class: ComSecOcFvmException“). Durch die Ableitung von der Standard-Basisklasse ara::core::Exception fügt sich ComSecOcFvmException in das allgemeine Fehlerbehandlungsmodell der Adaptive Platform ein und fungiert als standardisierter Informationsträger für Ausnahmebedingungen bei der Absicherung der Kommunikation mittels SecOC.
Als Interaktionspartner treten im Wesentlichen drei Komponenten auf: der SecOC Freshness Value Manager selbst, welcher die Ausnahme im Fehlerfall auslöst, die aufrufende funktionale Kommunikationsschicht bzw. Applikation, welche SecOC-gesicherte Daten verarbeitet, sowie die FVM-Fehlerdomäne, die über die Header-Datei apext/com/secoc/fvm_error_domain.h eingebunden wird [SWS_CM_12513]. Die Klasse stellt somit das Bindeglied zwischen den internen Fehlerzuständen des Freshness-Managements und den übergeordneten Softwareschichten dar.
Lebenszyklus
Die Instanziierung von ComSecOcFvmException erfolgt bedarfsgesteuert genau dann, wenn bei der Ermittlung oder Überprüfung von Freshness-Werten ein nicht behebbarer Fehler festgestellt wird. Hierfür stellt die Klasse einen expliziten Konstruktor bereit, der einen ara::core::ErrorCode entgegennimmt [SWS_CM_12513].
Dieser Konstruktor ist als noexcept deklariert [SWS_CM_12513]. Dies garantiert, dass die Objekterzeugung selbst unter keinen Umständen fehlschlägt oder weitere Ausnahmen wirft, wodurch die Spezifikation der Exception-Sicherheit (exception safe) eingehalten wird [SWS_CM_12513]. Bezüglich des Lebenszyklus und der Besitzverhältnisse wird die Ausnahme per Wert erzeugt und geworfen. Auf Empfängerseite dürfte sie vermutlich als konstante Referenz (const ComSecOcFvmException& oder polymorph als const ara::core::Exception&) abgefangen werden. Frage Q-d170140b08fe9ca0 (offen)
Sobald der entsprechende Ausnahmebehandlungsblock (catch) abgearbeitet ist, wird die Exception-Instanz automatisch zerstört. Hinsichtlich der Nebenläufigkeit dürften Instanzen der Exception thread-lokal im Ausnahmekontext des jeweiligen Threads verarbeitet werden. Frage Q-bd368a082b887d14 (offen)
Nutzungspfad
Der typische Nutzungspfad erstreckt sich von der Erkennung eines Freshness-Fehlers bis zur gezielten Reaktion durch die übergeordnete Kommunikationsschicht.
Sequenzdiagramm: Ablauf der Ausnahmebehandlung durch den Freshness Value Manager mit ComSecOcFvmException. Quellen: [SWS_CM_12512], [SWS_CM_12513], AUTOSAR_AP_SWS_CommunicationManagement §C.2.4
Zunächst fordert das Kommunikationsmodul oder die Anwendung im Rahmen der SecOC-Verarbeitung einen Freshness-Wert beim Freshness Value Manager an oder übergibt einen solchen zur Validierung. Schlägt diese Operation fehl – beispielsweise aufgrund von Synchronisationsproblemen oder ungültigen Zählerständen –, instanziiert der Freshness Value Manager die Ausnahmeklasse ComSecOcFvmException unter Übergabe des konkreten Fehlercodes [SWS_CM_12513]. Unmittelbar nach der Konstruktion wird die Ausnahme geworfen. Der Aufrufer fängt die Ausnahme im passenden Handler ab und kann den enthaltenen ara::core::ErrorCode abfragen, um angemessen auf die Beeinträchtigung der Kommunikationssicherheit zu reagieren [SWS_CM_12512].
Fehlerszenarien
Da ComSecOcFvmException selbst das Transportmedium für Fehlersignalisierungen darstellt, konzentrieren sich die Fehlerszenarien auf die semantischen Inhalte des gekapselten Fehlercodes. Die Klasse nimmt zur Erzeugung zwingend einen ara::core::ErrorCode entgegen [SWS_CM_12513]. Die Header-Zuordnung zu apext/com/secoc/fvm_error_domain.h belegt, dass diese Fehlercodes aus einer dedizierten FVM-Fehlerdomäne stammen [SWS_CM_12513].
Als wesentliche Vorbedingung für die Erzeugung gilt, dass der auslösende Kontext einen initialisierten Fehlercode bereitstellt. Als Nachbedingung enthält das resultierende Objekt die vollständigen Fehlerinformationen der jeweiligen Fehlerdomäne. Ein kritisches Fehlerszenario der sekundären Ausnahmeentstehung während der Exception-Erzeugung wird durch die noexcept-Garantie des Konstruktors ausgeschlossen [SWS_CM_12513]. Dadurch wird zuverlässig verhindert, dass ein vorzeitiger Abbruch des Prozesses via std::terminate infolge eines Fehlschlags im Fehlerbehandlungspfad eintritt.
Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive R25-11 und fasst die Anforderungen an ComSecOcFvmException zusammen.
gemini-3.8-flash-medium· 2026-10-13