Ermöglicht die hardwarenahe Koordination von Betriebssystem-Energiezuständen und das autonome Aufwachen im State Management.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8273631beee4HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Ermöglicht die hardwarenahe Koordination von Betriebssystem-Energiezuständen und das autonome Aufwachen im State Management.
Der Namespace apext::sm stellt normative Plattform-Erweiterungsschnittstellen bereit, um Energiezustände zwischen dem AUTOSAR Adaptive State Management und dem Host-Betriebssystem abzustimmen SWS StateManagement §C.1 „Header: apext/sm/power_state_interface.h“. Über die Enumeration apext::sm::PowerState werden Linux-spezifische Energiesparmodi typisiert abgebildet [SWS_SM_71002]. Zudem ermöglicht der Callback apext::sm::WakeUpHandler dem Betriebssystem, ein autonomes Verlassen von Ruhezuständen im State Management ohne vorgeschaltete Steuerapplikation auszulösen [SWS_SM_71004], wobei dieser Aufruf nicht threadsicher ausgelegt ist.
Kontext
Der Namespace apext::sm stellt normative Plattform-Erweiterungsschnittstellen (Platform Extension Interfaces) für das funktionale Cluster State Management innerhalb der AUTOSAR Adaptive Platform bereit SWS StateManagement §C.1 „Header: apext/sm/power_state_interface.h“. Während standardmäßige Schnittstellen des State Management primär der Koordination von Anwendungszuständen, Funktionsgruppen und Ausführungsmodi über Modellgrenzen hinweg dienen, adressiert apext::sm die hardwarenahe Kopplung. Die Erweiterungsschnittstellen sind dafür konzipiert, von OEMs oder Integratoren genutzt oder bereitgestellt zu werden, um die Funktionalität der Plattform zu erweitern und eine koordinierte Interaktion mit dem zugrundeliegenden Betriebssystem (OS) zu realisieren SWS StateManagement §C.1 „Header: apext/sm/power_state_interface.h“.
Zentrale Komponente des Namespace ist die Klasse PowerStateInterface, die der Koordination von Energiezuständen mit dem Betriebssystem dient. Begleitend definiert der Header apext/sm/power_state_interface.h typisierte Aufzählungen und Callback-Aliase, die als Bindeglied zwischen Betriebssystemtreibern, externen Aufwachquellen und der internen Zustandsverwaltung agieren. Neben dem Betriebssystem stehen diese Schnittstellen konzeptionell in Beziehung zum Controller des State Management sowie zu übergeordneten Instanzen wie der SMControlApplication oder dem Update and Configuration Management (UCM), die ebenfalls Einfluss auf Zustandstransitionen nehmen können SWS StateManagement §7.7.15.1 „Autonomous wake-up from suspend state“.
Der Lebenszyklus im Rahmen von apext::sm ist durch die diskreten Energiezustände geprägt, die in der Enumeration apext::sm::PowerState auf Basis von std::uint32_t modelliert sind [SWS_SM_71002]. Diese Zustände leiten sich direkt aus der Kernel-Perspektive von Linux-Betriebssystemen ab:
kPmSuspendToIdle (= 1): Abgeleitet vom Zustand PM_SUSPEND_TO_IDLE[SWS_SM_71002].
kPmSuspendToRam (= 2): Abgeleitet vom Zustand PM_SUSPEND_TO_RAM[SWS_SM_71002].
kPmHibernation (= 3): Abgeleitet vom Zustand PM_HIBERNATION (Suspend-to-Disk) [SWS_SM_71002].
kPmOff (= 4): Abgeleitet vom Zustand PM_OFF (vollständige Abschaltung) [SWS_SM_71002].
Interpretation: Die Klasse PowerStateInterface dürfte als primärer Ankerpunkt dienen, über den der Integrator diese Zielzustände abfragt oder an das Host-Betriebssystem übermittelt. Frage Q-800acae699828764 (offen) Während des Verweilens in einem Energiesparzustand wie kPmSuspendToRam ruht die normale Verarbeitung, bis ein Aufwachereignis den Rückübergang in den aktiven Betriebsmodus einleitet.
Nutzungspfad
Ein zentraler Anwendungsfall des Namespace ist das autonome Aufwachen des Gesamtsystems aus einem Ruhezustand (Autonomous wake-up from suspend state) SWS StateManagement §7.7.15.1 „Autonomous wake-up from suspend state“. Während eine SMControlApplication das Verlassen des Suspend-to-RAM-Modus explizit anfordern kann, ist State Management zusätzlich in der Lage, autonom auf Aufwachsignale zu reagieren.
Signalisiert das Betriebssystem ein Aufwachereignis über die Schnittstelle apext::sm::WakeUpHandler – sofern diese implementiert ist –, initiiert State Management eigenständig eine Aufwachsequenz SWS StateManagement §7.7.15.1 „Autonomous wake-up from suspend state“. Bei apext::sm::WakeUpHandler handelt es sich um einen Funktions-Alias vom Typ std::function<void(void)>[SWS_SM_71004]. Durch den Aufruf dieses Handlers überführt State Management die Controller-Zustandsmaschine aus ihrem Suspend-Zustand in den speziell dafür modellierten Zustand LeaveSuspend[SWS_SM_CONSTR_00036]. In diesem Zustand führt der Controller verpflichtend das Aktionselement LeaveSuspendToRam aus, wodurch die reguläre Plattformaktivität ohne vorherige Intervention einer Steuerapplikation fortgesetzt wird [SWS_SM_CONSTR_00037], SWS StateManagement §7.7.15.1 „Autonomous wake-up from suspend state“.
Bei der Verwendung und Einbindung von apext::sm sind systemspezifische Randbedingungen und Nebenläufigkeitsrisiken zu beachten:
Fehlende Thread-Sicherheit: Der Aufruftyp apext::sm::WakeUpHandler ist laut Spezifikation ausdrücklich nicht threadsicher (not thread-safe) [SWS_SM_71004]. Löst das Betriebssystem oder ein Interrupt-Kontext mehrfache oder parallele Signale aus, muss der Integrator für geeignete Synchronisationsmechanismen sorgen, um Datenrennen und inkonsistente Zustandsübergänge im State Management zu verhindern.
Nicht implementierter Handler: Ist der WakeUpHandler im Zielsystem nicht implementiert, kann kein autonomes Aufwachen über das Betriebssystem erfolgen; in diesem Fall verbleibt das System im Ruhezustand, bis externe Anforderungen (etwa durch UCM via RequestUpdateSession) oder explizite Applikationsanfragen eintreffen SWS StateManagement §7.7.15.1 „Autonomous wake-up from suspend state“.
Modellierungsfehler im Manifest: Fehlt im Bereitstellungsmanifest der Zustand LeaveSuspend für den Controller[SWS_SM_CONSTR_00036] oder beinhaltet dieser nicht das obligatorische Element LeaveSuspendToRam[SWS_SM_CONSTR_00037], schlägt die automatisierte Transition fehl und die Plattform kann den Betrieb nach dem Ruhezustand nicht vorschriftsmäßig wiederaufnehmen.
Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11. Alle Inhalte wurden anhand der normativen Platform Extension Interfaces für State Management validiert.
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
gemini-3.8-flash-medium· 2026-10-13