AUTOSAR_AP_SWS_StateManagement
FIG-c7f23da8359e2e32
932 × 421 px
1 Release(s)
Figure 7.6: PowerModes for Adaptive (Platform) Applications
SHA-256 Inhalts-Fingerabdruck:
c7f23da8359e2e32861adf8585f49aea87885120fea931cd88080f5286d8a865
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: Hierarchisches Zustandsdiagramm (UML State Machine) mit Kapselung orthogonaler Unterzustände (Substates/Modes).
- Funktionale Einordnung: AUTOSAR Adaptive Platform (AP), Spezifikation
AUTOSAR_SWS_StateManagement(Releases R20-11, R21-11, R22-11), Kapitel 7 (Functional Specification). - Architektur-Zweck: Darstellung der semantischen Entkopplung zwischen dem standardisierten Prozess-Lebenszyklus (Execution States des Execution Management,
ara::exec) und den applikativen Energiemodi (PowerModes des State Management,ara::sm). - Kernbotschaft: PowerModes (
On,Suspend,Off) stellen keine Betriebssystem-Prozesszustände dar, sondern applikative Betriebsmodi, die streng an die übergeordnete LebenszyklusphaseRunninggebunden sind.
2. Komponenten, Entitäten & Schnittstellen
Übergeordnete Entitäten: Execution States (ara::exec)
Die horizontalen Zustandsblöcke spiegeln den POSIX-Lebenszyklus eines Prozesses wider, welcher über das Execution Manifest konfiguriert und von Execution Management kontrolliert wird:
Idle: Ruhezustand. Der Prozess ist im Manifest deklariert, aber noch nicht durch das Betriebssystem viafork()/exec()instanziiert.Starting: Initialisierungsphase. Der POSIX-Prozess existiert bereits, initialisiert Middleware-Stacks und Hardware-Abstraktionen und bindet Kommunikations-Schnittstellen.Running: Stationärer Ausführungszustand. Der Prozess hatara::exec::ApplicationClient::ReportApplicationState(kRunning)abgesetzt. Er ist voll schedulbar und Träger der applikativen Geschäftslogik.Terminating: Geordnete Shutdown-Phase. Eingeleitet durch das Execution Management (typischerweise via POSIX-SignalSIGTERM) zwecks Ressourcen- und Zustandssicherung.Terminated: Endzustand. Der Prozess wurde beendet, Exit-Code ist registriert, Systemressourcen sind freigegeben.
Verschachtelte Entitäten: PowerModes (ara::sm)
Die grün gestrichelten Sub-Zustände innerhalb des Running-Containers definieren das Power-Management auf Funktionsebene:
On: Normalbetrieb. Sämtliche Threads, Sensor-/Aktor-Schnittstellen undara::com-Dienste sind uneingeschränkt aktiv.Suspend: Quiescent-/Energiesparmodus. Nicht-essenzielle Worker-Threads und zyklische Sendeoperationen sind angehalten; flüchtige Datenstrukturen sind für schnelles Wake-up im RAM eingefroren. Der OS-Prozess verbleibt im ZustandRunning.Off: Applikativer Vor-Abschaltzustand. Vorbereitung auf vollständigen Spannungsverlust oder Funktionsgruppen-Deaktivierung (Schließen von Netzwerk-Sockets, Flashen nicht-flüchtiger Speicher überara::per).
Schnittstellen & Kommunikationsprotokolle
CommunicationGroup: State Management agiert alsCommunicationGroupServer, Adaptive Applications fungieren alsCommunicationGroupClient.- Broadcast-/Request-Mechanismus: Übertragung von PowerMode-Anforderungen (
PowerMode::message()) an registrierte Applikationen und Rückmeldung des aktuellen Status (PowerMode::event()). - Zustandsberichterstattung: Schnittstelle
ara::exec::ApplicationClientzur Synchronisation des Prozessstatus mit dem Execution Manager.
3. Dynamisches Verhalten & Sequenzablauf
[Idle] ---> [Starting] ---> [Running: On | Suspend | Off] ---> [Terminating] ---> [Terminated]
│ ▲
▼ │
(PowerMode-Events via SM)
- Allokation & Start:
- State Management fordert bei Execution Management den Übergang einer Funktionsgruppe (Function Group, z. B.
MachineFG) in einen Zielzustand an. - Execution Management überführt den Prozess von
IdlenachStarting.
- State Management fordert bei Execution Management den Übergang einer Funktionsgruppe (Function Group, z. B.
- Eintritt in den Power-Scope:
- Die Applikation initialisiert sich und meldet
kRunningan Execution Management. - Erst mit dem Übergang in
Runningabonniert die Applikation diePowerMode-Schnittstelle von State Management. Der Default-Zustand ist typischerweiseOn.
- Die Applikation initialisiert sich und meldet
- PowerMode-Zustandsübergänge (innerhalb
Running):On→Suspend: SM empfängt ein Suspend-Ereignis (z. B. Diagnose, Klemme-15-Signal) und sendet die Anforderung viaCommunicationGroupan alle Clients. Die Applikation pausiert zyklische Workloads, geht in Bereitschaft und quittiert den Vollzug.Suspend→On: SM signalisiert Wake-up. Die Applikation nimmt den vollen Betrieb ohne Kaltstart-Latenz wieder auf.On/Suspend→Off: SM initiiert das Herunterfahren. Die Applikation sichert persistente Daten transaktionssicher viaara::perund meldet Quittierung an SM.
- Prozessterminierung:
- Nach Quittierung von
Off(oder bei direktem Function Group State Transition in den System-Shutdown) leitet Execution Management die Beendigung ein. - EM versendet
SIGTERM→ Transition nachTerminating. - Nach Abschluss der Bereinigung bzw. nach Ablauf des im Manifest konfigurierten
enterTimeoutValueerfolgt der Übergang nachTerminated(bei Timeout-Überschreitung erzwungen viaSIGKILL).
- Nach Quittierung von
4. Normative Relevanz & Entwickler-Hinweise
- Strikte Ebenentrennung: Entwickler dürfen den PowerMode
Offkeinesfalls mit dem Prozessende verwechseln. Im ModusOffläuft der Prozess im Betriebssystem weiter und muss nach wie vor auf IPC-/SM-Nachrichten reagieren können. - API-Sequenzierung: Vor dem Aufruf von
ReportApplicationState(ApplicationState::kRunning)dürfen keine PowerMode-Events verarbeitet oder quittiert werden, da State Management die Applikation erst nach bestätigtemkRunningals steuerungsfähig einstuft. - Persistierungs-Strategie: Das Schreiben kritischer Daten via
ara::permuss beim Übergang in den PowerModeOff(oderSuspend) erfolgen. Das Verlassen auf denSIGTERM-Handler im ZustandTerminatingbirgt erhebliche Risiken, da dieser durch den harten Watchdog/Timeout (enterTimeoutValue) des Execution Managers hart abgebrochen werden kann. - Nicht-blockierende Signalverarbeitung: Callback-Handler für
PowerMode-Nachrichten müssen asynchron bzw. streng deterministisch ausgelegt sein. Verzögerungen bei der Quittierung führen zu Timeout-Eskalationen im State Management Cluster.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.