DEENESPTFRRUARHIKOZHNL

class apext::sm::PowerStateInterface

[SWS_SM_71000] Upstream: RS_SM_00402

class PowerStateInterface {...};

class for power state coordination with OS

Header-Datei#include "apext/sm/power_state_interface.h"
Forwarding-Header#include "apext/sm/sm_fwd.h"
Scopenamespace apext::sm

User GuideKI-GENERIERT

Koordiniert Energiezustände mit dem Betriebssystem und informiert das State Management über Aufwachereignisse.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 142a6058cb95 Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Koordiniert Energiezustände mit dem Betriebssystem und informiert das State Management über Aufwachereignisse.

Die Schnittstelle koordiniert als OS-Wrapper die Energiezustände zwischen dem State Management und dem Betriebssystem ([SWS_SM_71000]). Das State Management registriert über sie vorab Callback-Handler für Aufwachereignisse und leitet konkrete Zustandsanforderungen an das Betriebssystem weiter ([SWS_SM_71001]). Nach erfolgter Reaktivierung lässt sich die Handler-Registrierung im OS-Wrapper wieder aufheben. Als wesentliche funktionale Randbedingung gilt, dass sämtliche Methodenaufrufe nicht threadsicher sind und daher vom Aufrufer zwingend serialisiert werden müssen.

Kontext

Die C++-Klasse apext::sm::PowerStateInterface fungiert als funktionale Schnittstelle des Moduls State Management zur Koordination von Energiezuständen mit dem Betriebssystem ([SWS_SM_71000], SWS StateManagement §C.1.2 „Class: PowerStateInterface“). In der Systemarchitektur übernimmt sie die Rolle eines OS-Wrappers, der Anforderungen des State Managements an das darunterliegende Betriebssystem weiterleitet und Rückmeldungen empfängt. An der Gesamtinteraktion sind drei Kernkomponenten beteiligt: das State Management als koordinierende Instanz, die Klasse PowerStateInterface als Vermittler sowie das Host-Betriebssystem, welches die hardwarenahe Energieverwaltung ausführt ([SWS_SM_71001]).

sm State Management (SM) psi PowerStateInterface (OS-Wrapper) sm->psi Zustandsanforderung & Handler-Registrierung psi->sm WakeUpHandler-Aufruf os Betriebssystem (OS) psi->os Energiezustands- weiterleitung os->psi Aufwachsignal

Kontextdiagramm: Koordination von Energiezuständen und Aufwachsignalen zwischen State Management, OS-Wrapper und Betriebssystem. Quellen: [SWS_SM_71000], [SWS_SM_71001], [SWS_SM_71003].

Lebenszyklus

Die Erzeugung und Zerstörung von Instanzen der Klasse PowerStateInterface ist in den Spezifikationsdokumenten nicht über explizite Fabrikmethoden geregelt. Die Instanziierung dürfte der Interpretation nach durch das State Management während dessen Initialisierungsphase erfolgen, um den OS-Wrapper bereitzustellen. Frage Q-15bde6ce044e9bc3 (offen) Für die Einbindung der Klasse ist der Header apext/sm/power_state_interface.h vorgesehen ([SWS_SM_71001], SWS StateManagement §C.1.2.1.1 „Member Functions“).

Hinsichtlich des internen Zustands verwaltet das Objekt die Registrierung eines Handlers für Aufwachereignisse. Dieser Zustand bleibt aktiv, bis der Handler explizit wieder entfernt wird ([SWS_SM_71005]). Bezüglich der Nebenläufigkeit sind alle Mitgliedsfunktionen als nicht threadsicher (not-threadsafe) eingestuft ([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). Das aufrufende State Management muss daher eigenverantwortlich sicherstellen, dass Aufrufe an eine Instanz strikt serialisiert werden und keine ungeschützten parallelen Zugriffe aus mehreren Threads stattfinden.

Nutzungspfad

Ein typischer Nutzungspfad zur Steuerung von Energiezuständen und zur Entgegennahme von Aufwachsignalen vollzieht sich in mehreren aufeinander abgestimmten Schritten:

  • Handler-Registrierung: Vor der Einleitung eines Energiesparzustands registriert das State Management mittels RegisterWakeUpHandler eine Callback-Funktion vom Typ apext::sm::WakeUpHandler im OS-Wrapper ([SWS_SM_71003], SWS StateManagement §C.1.2.1.1.1 „RegisterWakeUpHandler“). Dadurch wird festgelegt, wie das State Management über nachfolgende Aufwachvorgänge in Kenntnis gesetzt wird.
  • Zustandsanforderung: Anschließend ruft das State Management die Methode SetPowerState mit dem gewünschten Zielzustand apext::sm::PowerState auf ([SWS_SM_71001], SWS StateManagement §C.1.2.1.1.2 „SetPowerState“). Das Interface leitet diese Anforderung unmittelbar an das Betriebssystem weiter. Die technische Umsetzung des Übergangs erfolgt vermutlich plattformspezifisch im Betriebssystem. Frage Q-29345b74ba3bedf2 (offen)
  • Aufwachbenachrichtigung: Erkennt das Betriebssystem ein Aufwachereignis, wird die Benachrichtigung an den OS-Wrapper gemeldet. Dieser führt den zuvor registrierten WakeUpHandler aus. Der Aufruf dürfte der Interpretation nach asynchron im Ausführungskontext des Reaktivierungsvorgangs erfolgen. Frage (offen)
  • Handler-Deregistrierung: Sobald der Aufwachprozess abgeschlossen ist oder das State Management keine weiteren Benachrichtigungen benötigt, wird der registrierte Callback über UnregisterWakeUpHandler aus dem OS-Wrapper entfernt ([SWS_SM_71005], SWS StateManagement §C.1.2.1.1.3 „UnregisterWakeUpHandler“).
Koordination von Energiezuständen und AufwachsignalenState Management (SM)PowerStateInterfaceBetriebssystem (OS)RegisterWakeUpHandler(handler)SetPowerState(state)Energiezustand weiterleitenUse Case: AufwachvorgangAufwachereignishandler()Use Case: BereinigungUnregisterWakeUpHandler()

Sequenzdiagramm: Typischer Ablauf der Handler-Registrierung, Zustandsweiterleitung an das Betriebssystem und Deregistrierung. Quellen: [SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005].

Fehlerszenarien

Die Schnittstellenmethoden RegisterWakeUpHandler, SetPowerState und UnregisterWakeUpHandler besitzen den Rückgabetyp void und definieren keine spezifischen Fehlerrückgabecodes ([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). Sämtliche Funktionen sind als noexcept deklariert und garantieren vollständige Ausnahme-Sicherheit (exception safe).

Fehlerhafte Systemzustände können primär aus Verletzungen von Vorbedingungen entstehen. Hierzu zählt die Verletzung der geforderten Threadsicherheit durch ungeschützte parallele Methodenaufrufe. Des Weiteren muss das State Management als Vorbedingung für RegisterWakeUpHandler sicherstellen, dass das übergebene Funktionsobjekt gültig ist und bis zur Aufhebung durch UnregisterWakeUpHandler im Speicher verbleibt ([SWS_SM_71003], [SWS_SM_71005]).

Dieser Leitfaden basiert ausschließlich auf den Spezifikationsvorgaben der AUTOSAR Adaptive Platform Release R25-11.

Mitgliederkarte

Klassendiagramm

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G napext__sm__PowerStateInterface528 PowerStateInterface + RegisterWakeUpHandler() + SetPowerState() + UnregisterWakeUpHandler()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Register wake-up handler function in the OS-Wrapper to inform SM about wake-up.

void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept; DIRECTION NOT handler -- DEFINED
SetPowerState function

Forward the power state request to OS.

void SetPowerState (apext::sm::PowerState state) noexcept; DIRECTION NOT state -- DEFINED

Unregister wake-up handler in OS-Wrapper.

void UnregisterWakeUpHandler () noexcept;

Dokumentation der Methoden

function RegisterWakeUpHandler [SWS_SM_71003] Upstream: RS_SM_00402

void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept; DIRECTION NOT           handler                    -- DEFINED

Register wake-up handler function in the OS-Wrapper to inform SM about wake-up.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 55d0e17f0920 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion RegisterWakeUpHandler der Klasse apext::sm::PowerStateInterface dient dazu, eine Callback-Funktion vom Typ apext::sm::WakeUpHandler im OS-Wrapper zu registrieren, um das State Management (SM) über Aufwachereignisse zu benachrichtigen [SWS_SM_71003]. Die Schnittstelle ist im Header #include "apext/sm/power_state_interface.h" definiert und adressiert die übergeordnete Anforderung [RS_SM_00402] AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 „RegisterWakeUpHandler“.

Verwendung und Aufrufkontext

Die Deklaration lautet void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept [SWS_SM_71003]. Der Aufruf erfolgt synchron zur Übergabe des Funktionszeigers bzw. Callbacks über den Parameter handler. Da die Funktion keinen Rückgabewert besitzt (void), liefert sie keine Statusrückmeldung über den Vollzug der Registrierung [SWS_SM_71003].

Fehlerbehandlung und Exception-Sicherheit

Die Schnittstelle ist als ausnahmesicher (exception safe) spezifiziert und mit noexcept annotiert [SWS_SM_71003]. Aufrufer müssen daher keine C++-Exceptions abfangen. Spezifische Fehlercodes, Rückgabewerte zur Fehleranzeige oder Meldungen an Diagnose- oder Fehlermanager sind für diese API nicht definiert [SWS_SM_71003].

Nebenläufigkeit und Einschränkungen

  • Threadsicherheit: Die Funktion ist explizit als nicht threadsicher (not-threadsafe) eingestuft [SWS_SM_71003]. Aufrufende Instanzen müssen sicherstellen, dass Aufrufe nicht ungeschützt aus konkurrierenden Threads erfolgen. Interpretation: Die Registrierung dürfte zweckmäßigerweise einmalig während der sequenziellen Initialisierungsphase des OS-Wrappers stattfinden, bevor Aufwachereignisse auftreten. Frage Q-268ab61374f98e7a (offen)
  • Entwicklungsstatus: Die Funktionsdefinition besitzt im Release R25-11 den Status DRAFT AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 „RegisterWakeUpHandler“, weshalb Modifikationen in zukünftigen Spezifikationsständen möglich sind.

Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation für R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_SM_71003
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71003@rel:R25-11#bc05c3e2
Content hash
bc05c3e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71003
Status: valid/unmigrated Version: rel:R25-11#bc05c3e2 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_SM_71003@rel:R25-11#bc05c3e2
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function SetPowerState [SWS_SM_71001] Upstream: RS_SM_00402

void SetPowerState (apext::sm::PowerState state) noexcept; DIRECTION NOT           state                      -- DEFINED

Forward the power state request to OS.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 527ed282abbf Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Elementfunktion SetPowerState der Klasse apext::sm::PowerStateInterface dient dazu, eine Anforderung zur Änderung des System-Energiezustands an das Betriebssystem weiterzuleiten [SWS_SM_71001]. Sie setzt die übergeordnete Anforderung [RS_SM_00402] um und wird über den Header apext/sm/power_state_interface.h bereitgestellt (SWS StateManagement §C.1.2.1.1.2 „SetPowerState“).

Für die Verwendung und Einbindung in den Aufrufkontext gelten folgende Rahmenbedingungen:

  • Parameter und Rückgabewert: Die Funktion nimmt den Zielzustand state vom Typ apext::sm::PowerState per Wert entgegen. Es existiert kein Rückgabewert (void) [SWS_SM_71001].
  • Ausnahmesicherheit und Fehlerbehandlung: Die Operation ist als noexcept deklariert und gilt als ausnahmesicher (exception safe) [SWS_SM_71001]. Da keine spezifischen Fehlercodes oder Exceptions vorgesehen sind, dürfte die Anforderungsverarbeitung im Betriebssystem asynchron erfolgen. Frage Q-03a3ae7693c3cfee (offen)
  • Nebenläufigkeit: Die Funktionsschnittstelle ist als nicht threadsicher (not-threadsafe) klassifiziert [SWS_SM_71001]. Zeitgleiche Aufrufe auf derselben Instanz müssen vom Aufrufer durch externe Synchronisationsmaßnahmen abgesichert werden.
  • Spezifikationsstatus: Die Schnittstelle ist mit dem Status DRAFT versehen (SWS StateManagement §C.1.2.1.1.2 „SetPowerState“), weshalb zukünftige Modifikationen an Signatur oder Verhalten möglich sind.

Dieser Nutzungshinweis wurde automatisiert erstellt und basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_SM_71001
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71001@rel:R25-11#be2610a0
Content hash
be2610a0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71001
Status: valid/unmigrated Version: rel:R25-11#be2610a0 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_SM_71001@rel:R25-11#be2610a0
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnregisterWakeUpHandler [SWS_SM_71005] Upstream: RS_SM_00402

void UnregisterWakeUpHandler () noexcept;

Unregister wake-up handler in OS-Wrapper.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: da45ea3a78d7 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Funktion UnregisterWakeUpHandler gehört zum Scope der Klasse apext::sm::PowerStateInterface und wird über die Header-Datei #include "apext/sm/power_state_interface.h" bereitgestellt [SWS_SM_71005]. Ihr Zweck besteht darin, die Registrierung eines zuvor eingerichteten Wake-up-Handlers im OS-Wrapper aufzuheben [SWS_SM_71005]. Der Aufruf erfolgt synchron, erfordert keine Übergabeparameter und besitzt keinen Rückgabewert (void) [SWS_SM_71005].

Fehlerbehandlung

Die Operation ist mit dem Bezeichner noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_SM_71005]. Spezifische Fehlercodes, DEM- oder DET-Einträge sind nicht definiert. Interpretation: Mangels Rückgabetyps oder Fehlerindikatoren dürfte die Funktion eventuelle interne Fehler im OS-Wrapper nicht direkt an den Aufrufer melden. Frage Q-0d692808f97a0fb5 (offen)

Nebenläufigkeit und Randbedingungen

In Bezug auf die Ausführungsumgebung ist UnregisterWakeUpHandler explizit als nicht threadsicher (not-threadsafe) eingestuft [SWS_SM_71005]. Gleichzeitige Aufrufe aus mehreren Threads dürfen nicht ungeschützt stattfinden und müssen anwendungsseitig synchronisiert werden.

Zusammenspiel und Spezifikationsstatus

Die Funktion dient der Erfüllung der übergeordneten Anforderung RS_SM_00402 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 „UnregisterWakeUpHandler“. Bei der Integration ist zu berücksichtigen, dass die Schnittstellendefinition in der vorliegenden Spezifikation noch den Status DRAFT aufweist AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 „UnregisterWakeUpHandler“.

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_SM_71005
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71005@rel:R25-11#ef4ae762
Content hash
ef4ae762
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71005
Status: valid/unmigrated Version: rel:R25-11#ef4ae762 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_SM_71005@rel:R25-11#ef4ae762
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill