AUTOSAR_SWS_StateManagement
FIG-37cedf23af18875f
887 × 651 px
4 Release(s)
Figure 7.1: Start-up Sequence – from Startup to initial running state Driving
SHA-256 Inhalts-Fingerabdruck:
37cedf23af18875fa6db4dec87bf165e43ad44d04019b820dc9bce567009c37b
✦
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 2.0 Sequenzdiagramm (
sd Startup to Initial Driving State) mit Interaktionsrahmen (loop). - Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Releases R18-10 bis R19-11. Dargestellt ist der deterministische Hochlauf der Machine von der Initialisierung des POSIX-Betriebssystems über das Aufsetzen der Basisinfrastruktur durch das Execution Management (EM) bis zur Anforderung des ersten operationalen Anwendungszustands (
Driving) durch das State Management (SM).
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lifelines:
OS: Host-/POSIX-Betriebssystem bzw. Initialisierungssystem (Kernel/Init), verantwortlich für den Start des ersten Userspace-Root-Prozesses.EM(Execution Management): Zentraler funktionaler Cluster der AUTOSAR Adaptive Core Platform zur Steuerung von Prozesslebenszyklen und Function Group States.SM(State Management): Funktionaler Cluster zur Auswertung fahrzeugweiter Ereignisse, Regelverarbeitung und Anforderung von Zielzuständen an das EM.
- Schnittstellen & Interaktionspfade:
main(): Entry-Point-Aufruf des OS zur Instanziierung des EM-Daemon-Prozesses.CreateProcess(SM): Plattformspezifische Prozesserzeugung (z. B.fork/execoderposix_spawn) durch EM basierend auf dem Execution Manifest.ExecutionClient::ReportExecutionState(kRunning): Standardisierte C++-API (ara::exec::ExecutionClient), über die Applikationen/Cluster ihren betriebsbereiten Zustand an EM melden.ConfirmMachineState(Startup)(im Schaubild:ConfimMachineState): Interne/plattformspezifische IPC-Benachrichtigung von EM an SM über das Erreichen des initialen FunktionsgruppenzustandsStartup.SetState("MachineState", Driving): Zustandswechselanforderung von SM an EM (standardisiert überara::exec::StateClient::SetState).
3. Dynamisches Verhalten & Sequenzablauf
- OS-Bootstrap & EM-Start: Das Betriebssystem schließt den Kernel-Boot ab und startet synchron über
main()den EM-Prozess. - Plattform-Initialisierung (
loop [All Platform Applications]):- EM liest das Machine- und Execution-Manifest aus und ermittelt alle Prozesse, die dem Zustand
MachineState/Startupzugeordnet sind. - Iterativ stößt EM für alle Plattformanwendungen (stellvertretend
SM) die Prozesserzeugung an (CreateProcess). - Jeder gestartete Prozess führt seine Low-Level-Initialisierung durch und meldet synchron über
ExecutionClient::ReportExecutionState(ara::exec::ExecutionState::kRunning)seine Bereitschaft an EM.
- EM liest das Machine- und Execution-Manifest aus und ermittelt alle Prozesse, die dem Zustand
- Abschluss MachineState Startup:
- Sobald alle für
Startupkonfigurierten PlattformprozessekRunninggemeldet haben, gilt der Zustand als eingenommen. - EM notifiziert SM über
ConfirmMachineState(Startup).
- Sobald alle für
- Transition in den operationalen Zustand:
- SM wertet seine internen Startbedingungen aus und fordert bei EM den Folgezustand an:
SetState("MachineState", Driving). - EM initiiert daraufhin das Starten aller weiteren Prozesse, die für
MachineState/Drivingim Manifest hinterlegt sind.
- SM wertet seine internen Startbedingungen aus und fordert bei EM den Folgezustand an:
4. Normative Relevanz & Entwickler-Hinweise
- Zustandssemantik:
Startupist der zwingend vorgeschriebene initiale Machine State nach dem Booten. Der FolgezustandDrivingist rein exemplarisch; Name und Anzahl operationaler Machine States sind projektspezifisch im Manifest frei konfigurierbar (nicht normativ vorgeschrieben). - ExecutionClient-Reporting-Pflicht:
- Jeder gestartete Prozess (Plattform- und Standard-Applikationen) muss
ReportExecutionState(kRunning)absetzen. - Unterbleibt diese Meldung innerhalb des im Manifest parametrierten Startup-Timeouts (
startupConfigs), deklariert EM den Prozessstart als fehlgeschlagen und löst die konfigurierte Recovery-Action aus (z. B. Restart, Fallback-Zustand).
- Jeder gestartete Prozess (Plattform- und Standard-Applikationen) muss
- Entkopplung SM / EM:
- SM trifft Richtungsentscheidungen (Policy/State Logic), besitzt aber keine eigene Prozessausführungsberechtigung.
- EM setzt Richtlinien deterministisch durch (Mechanism/Execution), initiiert aber keine autonomen Zustandswechsel außerhalb der Manifest-Definitionen ohne Anforderung durch SM via
ara::exec::StateClient.
- Synchronisationsmodell: Der Aufruf
SetStateüber denara::exec::StateClientarbeitet asynchron und liefert einara::core::Future<void>zurück. Entwickler von SM-Modulen müssen auf das Einlösen des Promises warten, bevor nachgelagerte Funktionsgruppen geschaltet werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.