AUTOSAR_AP_SWS_StateManagement
FIG-8e8b72d3bf377830
944 × 446 px
1 Release(s)
Figure 7.38: Example for the Controller StateMachineStates supporting Suspend-To-RAM.
SHA-256 Inhalts-Fingerabdruck:
8e8b72d3bf377830c66c08fe2280ad775ca94595245c6552ba5868de84a22003
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Zustandsdiagramm (State Machine Diagram) mit internen Aktionslisten (
<<ActionList>>) und Synchronisationsschranken (SYNC). - Funktionale Einordnung: AUTOSAR Adaptive Platform (Release R25-11), Spezifikation State Management (
AUTOSAR_AP_SWS_StateManagement). - Technischer Zweck: Referenzmodell für die Steuerung der Controller-Zustände (Power Modes) mit nativer Unterstützung von Suspend-to-RAM (S2R). Das Diagramm demonstriert das Zusammenspiel zwischen der globalen Maschinen-Funktionsgruppe (
MachineFG), untergeordneten Funktionsgruppen/Prozess-Controllern (Agent1,Agent2), applikationsweiten S2R-Signalnachrichten und OS-Level-Sleep-Calls.
2. Komponenten, Entitäten & Schnittstellen
- Zustände des Controllers:
Initial State: System-Bootstrapping.Normal Mode: Regulärer Vollbetrieb der Adaptive Application Plattform.Suspend: Partieller Standby-Zustand (S2R für alle S2R-fähigen Prozesse beider Agenten).FullSuspend: Restriktiver Standby-Zustand (vollständiger Shutdown vonAgent2, S2R nur fürAgent1).LowPowerMode: Zwischenzustand nach dem Aufwachen ausSuspendmit reduziertem Funktionsumfang.RecoveryMode: Fallback- und Fehlerbehandlungszustand bei Plattform- oder Prozessanomalien.
- Akteure & Funktionsgruppen (Entities):
MachineFG: Standard-Maschinenfunktionsgruppe (FunctionGroup), gesteuert durch Execution Management (ara::exec). Sichtbare Zustände:Startup,Running,Recovery.Agent1,Agent2: Abstraktionen von logischen Prozessgruppen, Funktionsgruppen oder Subsystemen. Unterstützen die Lebenszyklus-Zuständestart,stop,start(S2R)undstart(LowPowerMode).
- State Management Aktionen & Primitiven (
<<ActionList>>):EnterSuspendToRam: Plattformweites Request-Kommando (Broadcast/Event über SM-Schnittstelle) an alle registrierten, aktiven Prozesse, sich auf den S2R-Modus vorzubereiten (z. B. State-Serialisierung, Deaktivierung von Kommunikationsendpunkten).EnterSuspendToRamOS: Privilegierter Maschinen- bzw. OS-Call zum Übergang in den Hardware-Schlafmodus (CPU-Suspend, DRAM Self-Refresh).LeaveSuspendToRam: Plattformweite Benachrichtigung nach Wakeup, um den S2R-Zustand aufzuheben und Ressourcen zu reinitialisieren.SYNC: Deterministische Synchronisationsbarriere; State Management blockiert den Phasenübergang, bis alle zuvor getriggerten Prozesswechsel bzw. Zustandsbestätigungen (Execution State Notifications) vollständig quittiert sind.
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung:
- Eintritt via Initial-Pseudostate in
Initial State. - Anforderung
MachineFG::Startup→ Warten anSYNC→ Start vonAgent1, Stopp vonAgent2→ Unkonditionierter Übergang zuNormal Mode.
- Eintritt via Initial-Pseudostate in
- Normalbetrieb (
Normal Mode):- Aktivierung von
MachineFG::Running. - Ausführung von
LeaveSuspendToRam(Bereinigung eventueller Rest-Zustände). - Paralleler Start von
Agent1undAgent2.
- Aktivierung von
- Pfade in den Suspend-to-RAM (S2R):
- Pfad A – Vollständiger/Selektiver Standby (
Suspend):- Verbleib in
MachineFG::Running. Agent1.start(S2R)undAgent2.start(S2R)versetzen beide Prozessgruppen in S2R-Zustände.EnterSuspendToRamfordert alle registrierten Prozesse zur Suspend-Vorbereitung auf.SYNC-Barriere erzwingt das Warten auf alle Bestätigungen.EnterSuspendToRamOSversetzt die Plattform über das OS in den Sleep-Modus.
- Verbleib in
- Pfad B – Tiefer Standby (
FullSuspend):MachineFG::Running.Agent1.start(S2R)währendAgent2.stopausgeführt wird (Teilabschaltung).EnterSuspendToRam→SYNC→EnterSuspendToRamOS.
- Pfad A – Vollständiger/Selektiver Standby (
- Aufwach- und Rückkehrsequenzen:
- Wakeup aus
FullSuspend: Direkter Übergang zurück inNormal Mode(inkl. Reaktivierung vonAgent2). - Wakeup aus
SuspendviaLowPowerMode:- Gestaffeltes Aufwachen: Zunächst Übergang nach
LowPowerMode. Agent1.start(LowPowerMode)aktiviert ausschließlich priorisierte Sub-Applikationen;Agent2verbleibt instop.SYNC→LeaveSuspendToRaminformiert alle Prozesse über die Beendigung des S2R.- Nachfolgender Übergang in den
Normal Modezur Wiederherstellung der Vollfunktionalität.
- Gestaffeltes Aufwachen: Zunächst Übergang nach
- Wakeup aus
- Fehlerpfad (
RecoveryMode):- Triggerbar aus
Normal Mode(z. B. durch Health-Monitoring-Verletzungen oder SM-Fehlerregeln). - Umschaltung auf
MachineFG::Recovery→SYNC→LeaveSuspendToRam(garantiert deterministisches Verlassen schlafender Kontexte) → Stopp aller Agenten (Agent1.stop,Agent2.stop).
- Triggerbar aus
4. Normative Relevanz & Entwickler-Hinweise
- Idempotenz & S2R-Hygiene: Sowohl
Normal Modeals auchRecoveryModeführen zwingendLeaveSuspendToRamaus. Entwickler von Adaptive Applications müssen sicherstellen, dass Handler fürLeaveSuspendToRamidempotent implementiert sind und auch nach unvollständigen Boot- oder Abbruchzyklen ohne vorherigen Suspend fehlerfrei reagieren. - Prozess-Lifecycle & Timeouts: Anwendungen, die an
EnterSuspendToRamteilnehmen, müssen ihre Suspend-Vorbereitung innerhalb des im Execution Management konfigurierten Timeouts abschließen. Ein Verpassen der Quittierung vor Erreichen derSYNC-Schranke führt zum Timeout-Fehler im SM und blockiert den OS-Sleep-Call (EnterSuspendToRamOS). - Ressourcenfreigabe bei Teilabschaltung: Bei Umschaltung nach
FullSuspendoderLowPowerModewirdAgent2gestoppt (Agent2.stop). Prozesse unterAgent2müssen einen regulären SIGTERM-/Shutdown-Zyklus durchlaufen, während Prozesse unterAgent1flüchtige Zustände im RAM halten dürfen. - OS-Treiber-Integration:
EnterSuspendToRamOSist die exklusive Schnittstelle zwischen State Management und BSP/OS (z. B. Linux System Suspend/sys/power/stateoder QNX Power Management). Plattform-Integratoren müssen sicherstellen, dass zu diesem Zeitpunkt keine blockierenden IPC- oder ara::com-Transaktionen mehr ausstehen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.