AUTOSAR_AP_SWS_StateManagement
FIG-a3564ea91811d55f
932 × 796 px
1 Release(s)
Figure 7.42: Example for autonomous wake-up due to OS system call
SHA-256 Inhalts-Fingerabdruck:
a3564ea91811d55fe4e10b120b75b9a541a39d53e16f59c257d01ee823d83f50
✦
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-Sequenzdiagramm (Interaktionsdiagramm) mit Interaktionsbereichen (Interaction Frames/Dividers) und Zustandsannotationen.
- Funktionale Einordnung: AUTOSAR Adaptive Platform (AP), Functional Cluster State Management (
ara::sm), Release R25-11. - Technischer Zweck: Spezifikation des Zusammenspiels beim Übergang in den stromsparenden Ruhezustand Suspend-To-RAM (S2R) und des anschließenden, durch das Betriebssystem (OS) initiierten autonomen Aufwachprozesses (Autonomous Wake-up).
2. Komponenten, Entitäten & Schnittstellen
OS: Basisbetriebssystem (POSIX/RTOS) inkl. Hardware-/Power-Management-Treiberschicht.apext::sm::PowerStateInterface(«C++ API»): Adaptive Platform Extension Interface (herstellerspezifische Plattform-Erweiterung) zur Kapselung hardwarenaher OS-/BSP-Power-State-Systemaufrufe.ara::sm::s2r::S2RHub(«C++ API»): Standardisierte interne C++-Schnittstelle innerhalb des State Managements zur Orchestrierung von Suspend-to-RAM-Abläufen.State Management(«process»): Zentraler System-Dämon/Prozess des Functional Clustersara::sm, verantwortlich für Regelverarbeitung (ActionLists), Moduswechsel und Zustandsverwaltung des Controllers/der Machine.StateMachineService(«Service»): Serviceorientierte Schnittstelle (ara::com), über welche Steuerungsapplikationen (z. B.SmControlApplication) Transitionsanforderungen an das State Management übermitteln.
3. Dynamisches Verhalten & Sequenzablauf
Phase 1: Transition to Suspend-To-RAM mode
- Ausgangszustand: Controller befindet sich im regulären Betrieb (
Controller == Normal Mode). - Transitionsanforderung: Die Steuerungslogik (
SmControlApplication) fordert viaStateMachineServicesynchron/asynchron den Zustandswechsel an: $RequestTransition(trigger Y)$ - Aktionslistenverarbeitung:
State Managementevaluiert den Trigger und führt die konfigurierteActionListim Frame Controller transition to Suspend state aus. - OS-Suspend-Kaskade:
- Aufruf von
EnterSuspendToRamOsanara::sm::s2r::S2RHub. - Weiterleitung via
Suspend-To-RAManapext::sm::PowerStateInterface. - Niedrigster Treiber-/Systemaufruf an das OS: $SetPowerState(kPmSuspendToRam)$
- Aufruf von
- Ruhezustand: Das OS friert den Kontext ein; der Controller verharrt im Zustand
Controller == Suspend(roter Balken kennzeichnet inaktive CPU-/OS-Ausführung).
Phase 2: OS notifies wake-up
- Hardware-Trigger: Ein externes Wake-up-Event (z. B. CAN-Transceiver, Wake-up-Timer, GPIO-Interrupt) weckt das Betriebssystem auf.
- Benachrichtigungskette:
- OS signalisiert
wake-upanapext::sm::PowerStateInterface. PowerStateInterfaceleitet dieses Ereignis implementierungsspezifisch weiter (forward notification [implementation specific], gestrichelte Nachricht) an den ProzessState Management.
- OS signalisiert
- Autonome Transition:
State Managementführt ohne externe Service-Interaktion einen internen Zustandswechsel durch: $$\text{autonomous transition for Controller to LeaveSuspend state}$$
- Folgezustand:
Controller == LeaveSuspend(Vorbereitung zur Reinitialisierung der Funktionsgruppen und Peripherie).
4. Normative Relevanz & Entwickler-Hinweise
- Architektonische Trennung (
aravs.apext): Die Transition nutzt standardisierte APIs (ara::sm::s2r::S2RHub), delegiert die eigentliche Hardware-/OS-Interaktion jedoch zwingend an den Extension-Namespaceapext::sm. BSP-/Plattform-Integratoren müssenapext::sm::PowerStateInterfaceOS-spezifisch implementieren (z. B. via Linux/sys/power/state, QNX Power Manager oder Hypervisor-Calls). - Asymmetrie Einschlafen vs. Aufwachen: Während das Versetzen in den Suspend-Zustand durch eine Applikationsanforderung (
RequestTransition) ausgelöst wird, erfolgt das Verlassen des Suspend-Zustands strikt autonom über OS-Interrupts. Applikationen können keinen Wake-up-Request stellen, da deren Threads währendController == Suspendangehalten sind. - Konfiguration der State-Management-Regeln: Integratoren müssen in den ARXML-Modellen des State Managements sicherstellen, dass:
- Trigger
Yexakt auf die ActionList mitEnterSuspendToRamOsgemappt ist. - Ein autonomer Übergang für den Eingang der OS-Wake-up-Notification definiert ist, der den Controller kontrolliert von
SuspendnachLeaveSuspendüberführt, bevor Applikationsprozesse durch das Execution Management wieder freigegeben werden.
- Trigger
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.