AUTOSAR_AP_SWS_StateManagement
FIG-9a871c646c9b5492
932 × 993 px
1 Release(s)
Figure 7.39: Example for entering Suspend-To-RAM mode.
SHA-256 Inhalts-Fingerabdruck:
9a871c646c9b54924f18e71229585113ffe10cd11d5322a897dd0896c6277853
✦
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
- Diagrammtyp: UML-Sequenzdiagramm (Interaktionsdiagramm mit kombinierten Fragmenten
loopundalt). - Funktionale Einordnung: AUTOSAR Adaptive Platform (AP), Spezifikation State Management (SWS_StateManagement, R25-11).
- Technischer Zweck: Spezifikation des standardisierten, zweiphasigen Ablaufs zum Versetzen der Machine in den Energiesparmodus Suspend-To-RAM (S2R). Es visualisiert das koordinierte Zusammenspiel zwischen externer Kontrolllogik, dem State Management (SM), den angemeldeten Adaptive Applications und dem zugrunde liegenden Betriebssystem (OS).
2. Komponenten, Entitäten & Schnittstellen
«Adaptive application» SmControlApplication: Projekt-/fahrzeugspezifische Steuerapplikation, die als Träger der Zustandsentscheidung fungiert (z. B. Power-Manager/Fahrzeugzustandslogik).- Boundary
State Management:«Service» StateMachineService: Service-Schnittstelle (ara::com / IPC), über die externe Applikationen Zustandsübergänge im SM anfordern (RequestTransition).«StateMachine» Controller: Kern-Zustandsmaschine des State Managements zur Validierung von Triggern, Ausführung von Zustandsübergängen und Abarbeitung konfigurierterActionLists.«C++ API» ara/sm/s2r/S2RHub: Zentraler Mediator/Hub innerhalb des SM zur Verwaltung und Koordination aller für S2R registrierten Applikationen sowie der OS-Schnittstelle.
- Boundary
Adaptive Applications:«C++ API - Skeleton» ara::sm::s2r::S2RSatellite: Bibliotheks-/Skeleton-Instanz auf Seite der Nutzerapplikationen, die Callbacks für den S2R-Eintritt empfängt und den Quiescing-Status an den Hub quittiert.
OS: Host-Betriebssystem / POSIX-Kernel / BSP, das den hardwarenahen Suspend-To-RAM-Syscall bzw. Power-Transition-Befehl ausführt.
3. Dynamisches Verhalten & Sequenzablauf
Initialzustand & Trigger
- Der
Controllerbefindet sich im ZustandNormal Mode. SmControlApplicationermittelt anhand interner Logik den Zielzustand (SuspendoderFullSuspend) und ruftRequestTransition(trigger X)auf demStateMachineServiceauf.StateMachineServiceleitettrigger Xan denControllerweiter.- Der
Controllerprüft den Trigger (valid trigger?), führt den Zustandsübergang aus (transit to Suspend state→Controller == Suspend) und startet die Abarbeitung der zugeordnetenActionList.
Phase 1: Applikations-Quiescing (Request Suspend-To-RAM to Adaptive Applications)
- Hub-Ansteuerung: Der
ControllerruftEnterSuspendToRamaufara/sm/s2r/S2RHubauf, welcher internRequestToEnterSuspendModeauslöst. - Loop über registrierte Applikationen (
[For each registered application]):- Aufruf von
EnterSuspendMode()an jedemS2RSatellite. - Die Zielapplikation führt lokale Vorbereitungen durch (
Preparation for S2R: z. B. I/O stoppen, flüchtige Caches auf persistenten Speicher flashen, Thread-Aktivitäten anhalten). - Der Satellit quittiert mit
OK.
- Aufruf von
- Verzweigung (
alt):- Erfolgsfall (
[All Applications respond successfully]):S2RHubmeldetEnterSuspendToRam::OKan denController.- Sequenz fährt mit Phase 2 fort.
- Fehlerfall (Alternativpfad):
- Mindestens ein Satellit schlägt fehl oder antwortet nicht →
S2RHubmeldetEnterSuspendToRam::NOK. Controllersignalisierttrigger X:NOKanStateMachineService.StateMachineServicequittiert den Request anSmControlApplicationmit dem FehlercodeRequestTransition(trigger X):kOperationFailed.- Es wird eine lokale/projektierte Fehlerbehandlung initiiert (
Recovery action will be started); das System geht nicht in den OS-Suspend.
- Mindestens ein Satellit schlägt fehl oder antwortet nicht →
- Erfolgsfall (
Phase 2: Hardware-Suspend (Request Suspend-To-RAM to OS)
- Nach erfolgreichem Quiescing aller Applikationen ruft der
ControllerEnterSuspendToRamOSaufS2RHubauf. S2RHubsetzt den systemnahen CallRequestToEnterSuspendModeOS(void)an dasOSab.- Zustandserreichung: Die Plattform wechselt in den stromsparenden Schlafzustand (
Machine in Suspend-To-RAM mode). - Aufwachen/Rückkehr: Nach dem Reaktivieren der Machine meldet der
Controllertrigger X:OKan denStateMachineService, welcher die ursprüngliche Anforderung mitRequestTransition(trigger X):OKan dieSmControlApplicationpositiv abschließt.
4. Normative Relevanz & Entwickler-Hinweise
- S2R-API-Vertrag (Applikationsentwickler): Prozesse, die vor dem Abschalten des SoC konsistente Zustände sichern müssen, müssen zwingend den
ara::sm::s2r::S2RSatelliteinstanziieren und die Callback-MethodeEnterSuspendMode()implementieren. - Deterministisches Quiescing: Die Vorbereitung (
Preparation for S2R) muss nicht-blockierend und innerhalb konfigurierter Guard-Timeouts abgeschlossen werden. Ein Hängenbleiben oder Rückmelden von Fehlern bricht den gesamten Sleep-Vorgang der Machine ab (kOperationFailed). - Fail-Safe statt unvollständigem Sleep: State Management garantiert atomare Sicherheit: Schlägt auch nur eine Applikation fehl, wird der OS-Suspend unterbunden und stattdessen eine konfigurierbare Recovery-Aktion eingeleitet.
- Architektur-Entkopplung: Die Geschäftslogik (
SmControlApplication) steuert lediglich Trigger ein, interagiert jedoch niemals direkt mit dem OS oder einzelnen Applikationen; die Orchestrierung und Fan-Out-Kommunikation liegt vollständig gekapselt im SM (Controller↔S2RHub).
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.