AUTOSAR_AP_SWS_ExecutionManagement
FIG-0949e82793af1e50
932 × 180 px
1 Release(s)
Figure 7.4: process Lifecycle
SHA-256 Inhalts-Fingerabdruck:
0949e82793af1e502bb07da965680b9fdc8bb635621f0272ba32c177c7fd6205
✦
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
- Diagrammtyp: Formaler Zustandsübergangsgraph / Finite State Machine (FSM) des Prozesslebenszyklus (Process Lifecycle).
- Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Functional Cluster Execution Management (EM).
- Technischer Zweck: Definition der normativen Zustände und Zustandsübergänge, die eine Prozess-Instanz (
Process) von der Initialisierung durch das Betriebssystem (POSIX OS) über die aktive Ausführung bis zur kontrollierten Terminierung und Bereinigung durchläuft. Das Modell synchronisiert die Ausführungszustände einzelner Applikationsprozesse mit den übergeordneten Function Groups (FG) und Machine States.
2. Komponenten, Entitäten & Schnittstellen
- Entitäten & Zustände (Zustandsmenge gemäß SWS_EM_01401):
Idle: Der Prozess existiert lediglich als Konfiguration/Manifest (ProcessDesign,Process-Modell), ist jedoch nicht im Betriebssystem instanziiert. Es sind keine OS-Ressourcen alloziert.Starting: Eintrittszustand nach Anforderung der Ausführung. Der OS-Prozess wird erzeugt (z. B. viafork/exec), Adressraum und Dateideskriptoren werden initialisiert, Ressourcen (Speicher, CPU-Budget, OS-Prioritäten, Scheduling-Policies) werden zugeteilt.Running: Der Prozess ist operativ und nimmt am regulären Scheduling teil. Die Applikationslogik läuft.Terminating: Einleitungszustand für das kontrollierte Herunterfahren. Der Prozess erhält den Auftrag zur Selbstreinigung.Terminated: Der Prozess ist vollständig beendet. Alle zugeordneten OS- und Plattform-Ressourcen (Threads, Semaphore, Shared Memory, Dateihandles) sind freigegeben.
- Schnittstellen & Interaktionspunkte:
- Interne Schnittstelle / OS-Primitives: Interaktion zwischen EM-Daemon und dem POSIX-Betriebssystem-Kernel (Prozess-Spawn, PID-Verwaltung, Signal-Handling).
- Applikationsschnittstelle (
ara::exec): Interaktion via Inter-Process Communication (IPC) über denara::exec::ExecutionClient. - Stereotypen / Metamodellbezug:
Process(«atpPrototype»), instanziiert ausExecutable(«atpStructureElement»); gebunden an einenMachine-Kontext überProcessToMachineMapping.
3. Dynamisches Verhalten & Sequenzablauf
Die Sequenz beschreibt den deterministischen Lebenszykluspfad eines Prozesses (SWS_EM_01402, SWS_EM_01403):
- Trigger
Execute(Idle→Starting):- Ursache: Anforderung eines Zustandswechsels in einer Function Group (z. B. durch den State Management Cluster via
ara::exec::StateClient), in welcher der Prozess im Manifest für den Zielzustand aktiviert ist. - Aktion: EM instanziiert den Prozess über POSIX-Systemaufrufe (
posix_spawn/execve), wendet Ressourcenlimits an (ProcessExecutionError, CPU-Affinität, cgroups, RT-Scheduling-Attribute).
- Ursache: Anforderung eines Zustandswechsels in einer Function Group (z. B. durch den State Management Cluster via
- Trigger
Schedule/ReportExecutionState(Starting→Running):- Ursache: Der Prozess hat seine statische Initialisierung (z. B.
ara::core::Initialize()) abgeschlossen. - Synchronisation: Der Prozess muss aktiv
ara::exec::ExecutionClient::ReportExecutionState(ara::exec::ExecutionState::kRunning)aufrufen. - Monitoring: EM überwacht diesen Übergang mit einem im Manifest definierten Startup-Timeout (
startupTimeout). Erfolgt die Meldung nicht rechtzeitig, greift das Fehlerbehandlungsregime (SWS_EM_02241).
- Ursache: Der Prozess hat seine statische Initialisierung (z. B.
- Trigger
Terminate(Running→Terminating):- Ursache: Zustandswechsel der Function Group (Prozess wird im Zielzustand nicht mehr benötigt) oder allgemeiner Machine-Shutdown.
- Aktion: EM sendet ein definiertes Terminierungssignal (typischerweise
SIGTERM) an den Prozess.
- Übergang nach
Terminated(Terminating→Terminated):- Regulärer Pfad: Der Prozess fängt
SIGTERMab, schließt Kommunikationsendpunkte (ara::com), beendet Threads und ruftara::core::Deinitialize()auf, gefolgt vom Exit (exit(0)). - Eskalationspfad: Überschreitet der Prozess die konfigurierte
terminationTimeout-Dauer, erzwingt EM die Beendigung viaSIGKILL. - Abschluss: EM registriert den Exit-Status (
waitpid), gibt verbleibende Bindungen frei und überführt den Zustand nachTerminatedbzw. zurück nachIdle.
- Regulärer Pfad: Der Prozess fängt
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag (
ExecutionClientPflicht): Jeder Adaptive-Application-Prozess muss deterministischExecutionClient::ReportExecutionState(kRunning)melden. Ein Unterlassen führt zum Timeout durch das Execution Management und zur Einstufung als fehlerhafter Prozessstart. - Signal-Handling & De-Initialisierung: Applikationen dürfen
SIGTERMnicht blockieren oder ignorieren. Es muss ein Signal-Handler oder Signal-Watcher registriert sein, der den geordneten Abbruch (Shutdown-Phase) innerhalb des im Manifest parametriertenterminationTimeoutsicherstellt. - Manifest-Konfiguration:
startupTimeout: Muss so kalibriert sein, dass Worst-Case-Startzeiten (inkl. TLB-, Cache-Warmup und deterministischer Speicherallokation) abgedeckt sind, ohne Diagnose-Eskalationen unnötig zu verzögern.terminationTimeout: Muss ausreichend dimensioniert sein, um persistente Daten (ara::per) konsistent zu flushen und IPC-Verbindungen sauber abzubauen.
- Ressourcenallokations-Einschränkung: Das Schaubild visualisiert normativ: Dynamische Ressourcenallokation ist im Zustand
Startingzu vollziehen. Im ZustandRunninggilt für ASIL-relevante Systeme das Prinzip der statischen Ressourcenbindung (kein unkontrolliertes dyn. Nachallozieren von Heap/Threads im Regelbetrieb).
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.