AUTOSAR_EXP_PlatformDesign
FIG-5b942f9084b65a92
931 × 991 px
1 Release(s)
Figure 5: 3 Interaction between States
SHA-256 Inhalts-Fingerabdruck:
5b942f9084b65a92b8e88e2f39c513c9b96c666e6596446921da541b259eb898
✦
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: Hybrides Interaktions- und Zustandskorrelationsdiagramm (Swimlane-basierte Darstellung paralleler Zustandsautomaten mit synchronen/asynchronen Kontrollflüssen).
- Architektur-Kontext: AUTOSAR Adaptive Platform (Release R18-03 / R1.4.0), Functional Cluster Execution Management (EM) in Kooperation mit State Management (SM).
- Technischer Zweck: Spezifikation der hierarchischen Kausalitätskette zwischen:
- Function Group States (High-Level-Systemzustände, durch SM angefordert),
- Process States (Betriebssystem-Lebenszyklus aus Sicht des EM),
- Application States (interne Software-Zustände der Adaptive Application).
2. Komponenten, Entitäten & Schnittstellen
- Akteure & Funktionscluster:
- State Management (SM): Führt die Arbitrierung externer Requests durch (z. B. Fahrzeugzustand, Diagnose, Fehlermanagement via
ara::com) und bestimmt Zielzustände von Funktionsgruppen. - Execution Management (EM): Verantwortlich für Start-/Stopp-Orchestrierung, Ressourcenallokation und Überwachung auf OS-Ebene.
- Application Process: Die konkrete Prozessinstanz einer Adaptive Application (AA) im POSIX-Adressraum.
- State Management (SM): Führt die Arbitrierung externer Requests durch (z. B. Fahrzeugzustand, Diagnose, Fehlermanagement via
- Zustandsebenen:
- FG1 State: Diskrete Zustände einer Funktionsgruppe (
FG1:State1,FG1:State2,FG1:State3), verwaltet durch EM. - Process State (EM-Sicht):
Idle→Starting→Running→Terminating→Terminated. - Application State (Prozess-Sicht):
Initializing→Running→Terminating.
- FG1 State: Diskrete Zustände einer Funktionsgruppe (
- Schnittstellen & Interaktionspfade:
SetState(FunctionGroup, State)/return (success): Steuer- und Quittierungsschnittstelle zwischen SM und EM (asynchrones Pattern via Future/Callback).ara::exec::ExecutionClient::ReportApplicationState(): IPC-Schnittstelle der Anwendung zum EM zur Statussignalisierung (Running,Terminating).- POSIX OS-Primitives:
- Prozessinstanziierung:
fork()/exec(), Ressourcenlimitierung (Cgroups, Quotas). - Signalisierung:
Terminate()(typischerweiseSIGTERM, bei TimeoutSIGKILL). - Synchronisation/Reaping:
waitpid()zur Erkennung des Beendens und Freigabe von Kernelstrukturen.
- Prozessinstanziierung:
3. Dynamisches Verhalten & Sequenzablauf
Phase 1: Aktivierung / Hochlauf (Übergang zu FG1:State2)
- Trigger: SM empfängt Events/Requests, arbitriert diese und triggert EM via
*SetState*(FG1, State2). - Manifest-Lookup: EM ermittelt über das Execution Manifest, dass die Applikation für
FG1:State2konfiguriert ist. - Prozessgenerierung: EM überführt den Process State von
IdlenachStarting: erzeugt den OS-Prozess (create process), bindet Ressourcen/Rechte ein und schedult den Thread/Prozess. - Initialisierung: Der Prozess startet in
Initializing(BSS/Data, lokale Variablen, Initialisierung interner Stacks/Services). - Aktivmeldung: Nach Abschluss der Initialisierung ruft die Anwendung
ReportApplicationState(Running)auf. - Zustandskonsolidierung: EM schaltet den Process State auf
Running. - Bestätigung: Sobald alle Prozesse der Gruppe stabil in
Runningsind, schließt EM die Transition ab (FG1:State2) und sendetreturn (success)an SM.
Phase 2: Deaktivierung / Herunterfahren (Übergang zu FG1:State3)
- Trigger: SM fordert Zustandswechsel auf
FG1:State3an, in dem der Prozess nicht mehr ausgeführt werden soll. - Terminierungssignal: EM initiiert die Transition, wechselt den Process State auf
Terminatingund sendetTerminate()(SIGTERM) an den Prozess. - Shutdown der Applikation: Prozess fängt das Signal ab, geht in den internen Zustand
Terminating, sichert persistente Daten und bereinigt Ressourcen. - Statusmeldung (optional): Der Prozess meldet
ReportApplicationState(Terminating)an EM. - OS-Exit & Reaping: Der Prozess terminiert (
exit()). EM fängt dies über POSIXwaitpidab. - Ressourcenfreigabe: EM überführt den Process State nach
Terminatedund gibt reservierte OS-Ressourcen frei. - Transition-Abschluss: EM schaltet die Funktionsgruppe auf
FG1:State3und quittiert an SM viareturn (success).
4. Normative Relevanz & Entwickler-Hinweise
- API-Meldepflicht (
ara::exec): Jede Adaptive Application muss nach Abschluss der Initialisierungsphase explizitara::exec::ExecutionClient::ReportApplicationState(ara::exec::ApplicationState::kRunning)absetzen. - Timeout-Überwachung (Startup): Das Melden von
kRunningunterliegt einem im Manifest definiertenstartupTimeout. Erfolgt die Meldung nicht rechtzeitig, stuft EM den Prozessstart als fehlgeschlagen ein (führt ggf. zum Neustart oder Recovery-Eskalation). - Signal Handling & Graceful Termination:
- Applikationen müssen Signal-Handler für
SIGTERMbereitstellen. - Das Herunterfahren (Speichern in NVM/Persistency, Schließen von
ara::com-Instanzen) muss innerhalb des im Execution Manifest parametriertenterminationTimeouterfolgen. - Verstreicht der Timeout ohne Prozessende, sendet EM normativ
SIGKILL.
- Applikationen müssen Signal-Handler für
- Manifest-Modellierung: Das Verhalten des Prozesses bezüglich Start/Stopp ist deklarativ an
FunctionGroupState-Instanzen gebunden. Ein Prozess darf sich nicht selbstständig über Standard-POSIX-Mittel in andere Systemmodi befördern; die Führungsrolle liegt strikt beim SM.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.