DEENESPTFRRUARHIKOZHNL

namespace apext::sm

User GuideAI-GEGENEREERD

Maakt de hardwarenabije coördinatie van besturingssysteem-energietoestanden en autonoom ontwaken in State Management mogelijk.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 8273631beee4 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Maakt de hardwarenabije coördinatie van besturingssysteem-energietoestanden en autonoom ontwaken in State Management mogelijk.

De namespace apext::sm stelt normatieve platformextensie-interfaces beschikbaar om energietoestanden tussen AUTOSAR Adaptive State Management en het hostbesturingssysteem af te stemmen SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”. Via de enumeratie apext::sm::PowerState worden Linux-specifieke energiebesparingsmodi getypeerd afgebeeld [SWS_SM_71002]. Bovendien stelt de callback apext::sm::WakeUpHandler het besturingssysteem in staat om een autonoom verlaten van rusttoestanden in State Management zonder voorafgaande besturingsapplicatie te triggeren [SWS_SM_71004], waarbij deze aanroep niet thread-safe is ontworpen.

Context

De namespace apext::sm stelt normatieve platformextensie-interfaces (Platform Extension Interfaces) voor het functionele cluster State Management binnen het AUTOSAR Adaptive Platform beschikbaar SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”. Terwijl standaardinterfaces van State Management primair dienen voor de coördinatie van applicatietoestanden, functiegroepen en uitvoeringsmodi over modelgrenzen heen, richt apext::sm zich op de hardwarenabije koppeling. De extensie-interfaces zijn ervoor ontworpen om door OEM's of integrators te worden gebruikt of beschikbaar gesteld om de functionaliteit van het platform uit te breiden en een gecoördineerde interactie met het onderliggende besturingssysteem (OS) te realiseren SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”.

Centrale component van de namespace is de klasse PowerStateInterface, die dient voor de coördinatie van energietoestanden met het besturingssysteem. Daarnaast definieert de header apext/sm/power_state_interface.h getypeerde opsommingen en callback-aliassen die fungeren als schakel tussen besturingssysteemstuurprogramma's, externe wekbronnen en het interne statusbeheer. Naast het besturingssysteem staan deze interfaces conceptueel in relatie tot de Controller van State Management evenals tot bovenliggende instanties zoals de SMControlApplication of Update and Configuration Management (UCM), die eveneens invloed kunnen uitoefenen op toestandstransities SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.

OS Betriebssystem (Kernel) ApextSM apext::sm (PowerStateInterface, WakeUpHandler) OS->ApextSM Signalisiert Wake-up Setzt PowerState SMController State Management (Controller) ApextSM->SMController Autonomer Aufruf (WakeUpHandler) SMControlApp SMControlApplication / UCM SMControlApp->SMController Explizite Requests (RequestUpdateSession)

Contextdiagram: samenspel van besturingssysteem, apext::sm-interfaces en State Management. Bronnen: SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”, SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”.

Levenscyclus

De levenscyclus in het kader van apext::sm wordt gekenmerkt door de discrete energietoestanden die in de enumeratie apext::sm::PowerState op basis van std::uint32_t zijn gemodelleerd [SWS_SM_71002]. Deze toestanden zijn direct afgeleid van het kernelperspectief van Linux-besturingssystemen:

  • kPmSuspendToIdle (= 1): afgeleid van toestand PM_SUSPEND_TO_IDLE [SWS_SM_71002].
  • kPmSuspendToRam (= 2): afgeleid van toestand PM_SUSPEND_TO_RAM [SWS_SM_71002].
  • kPmHibernation (= 3): afgeleid van toestand PM_HIBERNATION (suspend-to-disk) [SWS_SM_71002].
  • kPmOff (= 4): afgeleid van toestand PM_OFF (volledige uitschakeling) [SWS_SM_71002].

Interpretatie: de klasse PowerStateInterface dient vermoedelijk als primair ankerpunt via hetwelk de integrator deze doeltoestanden opvraagt of naar het hostbesturingssysteem verzendt. Vraag Q-800acae699828764 (open) Tijdens het verblijf in een energiebesparingsmodus zoals kPmSuspendToRam ligt de normale verwerking stil, totdat een wekgebeurtenis de terugkeer naar de actieve bedrijfsmodus inleidt.

Gebruikspad

Een centrale usecase van de namespace is het autonoom ontwaken van het gehele systeem uit een rusttoestand (Autonomous wake-up from suspend state) SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”. Terwijl een SMControlApplication het verlaten van de suspend-to-RAM-modus expliciet kan verzoeken, is State Management aanvullend in staat om autonoom te reageren op weksignalen.

Signaleert het besturingssysteem een wekgebeurtenis via de interface apext::sm::WakeUpHandler – voor zover deze geïmplementeerd is –, dan initieert State Management zelfstandig een weksequentie SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”. Bij apext::sm::WakeUpHandler gaat het om een functie-alias van het type std::function<void(void)> [SWS_SM_71004]. Door het aanroepen van deze handler brengt State Management de Controller-toestandsmachine vanuit haar suspend-toestand over naar de speciaal daarvoor gemodelleerde toestand LeaveSuspend [SWS_SM_CONSTR_00036]. In deze toestand voert de controller verplicht het actie-element LeaveSuspendToRam uit, waardoor de reguliere platformactiviteit zonder voorafgaande interventie van een besturingsapplicatie wordt voortgezet [SWS_SM_CONSTR_00037], SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.

Autonoom ontwaken uit suspend-to-RAMBetriebssystemapext::sm::WakeUpHandlerState Management (Controller)Use Case: Activeren van het weksignaalWake-up signalisierenAufruf operator()Use Case: Autonome toestandsovergangToestandswissel na LeaveSuspendUitvoeren van ActionListItem LeaveSuspendToRamNormalbetrieb aktiv

Sequentiediagram: verloop van het autonome ontwaken via de WakeUpHandler. Bronnen: SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”, [SWS_SM_71004], [SWS_SM_CONSTR_00036], [SWS_SM_CONSTR_00037].

Foutscenario's

Bij het gebruik en de integratie van apext::sm moet rekening worden gehouden met systeemspecifieke randvoorwaarden en concurrencyrisico's:

  • Ontbrekende thread-safety: het aanroeptype apext::sm::WakeUpHandler is volgens de specificatie uitdrukkelijk niet thread-safe (not thread-safe) [SWS_SM_71004]. Triggert het besturingssysteem of een interruptcontext meervoudige of parallelle signalen, dan moet de integrator zorgen voor geschikte synchronisatiemechanismen om race conditions en inconsistente toestandsovergangen in State Management te voorkomen.
  • Niet-geïmplementeerde handler: als de WakeUpHandler in het doelsysteem niet is geïmplementeerd, kan er geen autonoom ontwaken via het besturingssysteem plaatsvinden; in dit geval blijft het systeem in de rusttoestand totdat externe verzoeken (bijvoorbeeld door UCM via RequestUpdateSession) of expliciete applicatieverzoeken binnenkomen SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.
  • Modelleringsfout in het manifest: Ontbreekt in het deployment-manifest de toestand LeaveSuspend voor de Controller [SWS_SM_CONSTR_00036] of bevat deze niet het verplichte element LeaveSuspendToRam [SWS_SM_CONSTR_00037], dan mislukt de geautomatiseerde transitie en kan het platform de werking na de rusttoestand niet volgens de voorschriften hervatten.

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11. Alle inhoud is gevalideerd aan de hand van de normatieve Platform Extension Interfaces voor State Management.

Themakaart

Typen en constanten

2

Klassendiagram

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.

G cluster_ns apext::sm napext__sm__PowerStateInterface PowerStateInterface

Detailweergave

Kies een item in de inhoudsopgave.

Klassen

class for power state coordination with OS

Typen en constanten

PowerState enumeratie

Power State Enumeration.

enum class PowerState : std::uint32_t {...};
WakeUpHandler typealias

WakeUpHandler function.

using WakeUpHandler = std::function<void(void)>;

Enumeraties

enumeratie PowerState [SWS_SM_71002] Upstream: RS_SM_00402

enum class PowerState :         std::uint32_t {...};

Power State Enumeration.

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

Werte

EnumeratorBeschreibung
kPmSuspendToIdle=1 Derived from Linux Power State PM_SUSPEND_TO_IDLE (Kernel view)
kPmSuspendToRam=2 Derived from Linux Power State PM_SUSPEND_TO_RAM (Kernel view)
kPmHibernation=3 Derived from Linux Power State PM_HIBERNATION (Kernel view)
kPmOff=4 Derived from Linux Power State PM_OFF (Kernel view)

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

Record
AUTOSAR/AP/record/SWS_SM_71002
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71002@rel:R25-11#a17b38f2
Content hash
a17b38f2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71002
Status: valid/unmigrated Version: rel:R25-11#4f68e3fd 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_71002@rel:R25-11#4f68e3fd
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

Typealiassen

typealias WakeUpHandler [SWS_SM_71004] Upstream: RS_SM_00402

using WakeUpHandler = std::function<void(void)>;

WakeUpHandler function.

Header-Datei#include "apext/sm/power_state_interface.h"
Scopenamespace apext::sm
SymbolWakeUpHandler
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_SM_71004
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71004@rel:R25-11#c58e89c9
Content hash
c58e89c9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71004
Status: valid/unmigrated Version: rel:R25-11#29968d23 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_71004@rel:R25-11#29968d23
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