AUTOSAR_AP_SWS_StateManagement
FIG-5cada4612e926b2e
932 × 943 px
4 Release(s)
Figure 7.16: Parallel ActionListItem execution and SYNC
SHA-256 Inhalts-Fingerabdruck:
5cada4612e926b2ef71d63851dca836ebfdd0a90ce6271552c16f962e5c01118
✦
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: Zeitliches Ablauf- und Zustandsüberführungsdiagramm (Timing / Execution State Diagram).
- Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Functional Cluster State Management (SM) in Interaktion mit dem Execution Management (EM).
- Technischer Zweck: Spezifikation der Ausführungssemantik von
ActionListundActionListItembei Zustandswechseln. Das Diagramm demonstriert die asynchrone, nicht-blockierende Beauftragung mehrerer Funktionsgruppen-Zustandswechsel (FunctionGroupStateRequest) sowie die Barriere-Wirkung des SynchronisationselementsSYNC.
2. Komponenten, Entitäten & Schnittstellen
- StateMachine1 (SM1): Übergeordnete Zustandsmaschine im SM mit den Makro-Zuständen
SM1:OffundSM1:Running. Sie instanziiert und triggert die zugeordneteActionList. - Function Groups (FG1, FG2, FG3, FG4): Durch das Execution Management verwaltete logische Gruppierungen von Prozessen (
Process) mit den diskreten ZuständenOff,RunningundFallback. - ActionList & ActionListItems:
- Geordnete Liste von Aktionen zur Überführung der Funktionsgruppen:
FG1 : Running(Asynchroner Zustandswechselauftrag)FG2 : Running(Asynchroner Zustandswechselauftrag)SYNC(Synchronisationsbarriere / Kontrollfluss-Primitiv)FG3 : Running(Asynchroner Zustandswechselauftrag nach Barrierendurchlauf)
FG4ist nicht Bestandteil der modifizierenden Aktionen und verharrt konstant aufOff.
- Geordnete Liste von Aktionen zur Überführung der Funktionsgruppen:
- Schnittstellen (AP-intern): IPC-Schnittstelle zwischen SM und EM via
ara::exec::StateClient::SetStatebzw. Interaktion überara::exec::FunctionGroupunter Rückgabe vonara::core::Future-Instanzen.
3. Dynamisches Verhalten & Sequenzablauf
- Initialzustand:
StateMachine1befindet sich im ZustandSM1:Off. Sämtliche Funktionsgruppen (FG1..FG4) sind im ZustandOff. - Transition & Parallele Beauftragung (Phase 1):
- Zustandswechsel von
StateMachine1nachSM1:Runningtriggert die sequenzielle Abarbeitung derActionList. - Die Anforderungen
FG1 -> RunningundFG2 -> Runningwerden in definierter Reihenfolge unmittelbar hintereinander abgesetzt. - Nicht-blockierender Pfad: SM wartet nicht auf die Quittierung oder Fertigstellung der Transition durch das EM (Ordered requests, without waiting for request to be finished). Beide FGs führen ihre Transition parallel aus; FG2 erreicht den Zielzustand schneller als FG1.
- Zustandswechsel von
- Synchronisationsbarriere (Phase 2):
- Das Auftreten des Elements
SYNCunterbricht die Dispatching-Schleife derActionList. - Das SM blockiert die Ausführung nachfolgender
ActionListItems, bis alle vor demSYNCinitiierten Transitionen erfolgreich abgeschlossen und vom EM quittiert sind. - Der Synchronisationszeitpunkt (strichpunktierte Linie) wird durch den langsamsten Vorläufer bestimmt (hier: Quittierung von FG1).
- Das Auftreten des Elements
- Sequenzfortsetzung (Phase 3):
- Nach erfolgreichem Abschluss aller Vorläuferoperationen wird die nächste Aktion
FG3 -> Runningabgesetzt (Next request only when previous ones are finished, due to "SYNC"). - FG3 wechselt in den Zustand
Running.
- Nach erfolgreichem Abschluss aller Vorläuferoperationen wird die nächste Aktion
- Endzustand:
StateMachine1verbleibt inSM1:Running. FG1, FG2 und FG3 befinden sich inRunning, FG4 bleibt unverändert inOff.
4. Normative Relevanz & Entwickler-Hinweise
- Parallelisierung & Bootzeit-Optimierung: Standardmäßig werden
ActionListItemsasynchron angestoßen (Fire-and-Observe). Dies ermöglicht maximale Nebenläufigkeit beim Hochfahren von Funktionsgruppen und kompensiert heterogene Initialisierungs- und I/O-Laufzeiten im EM. - Deterministische Abhängigkeitssteuerung: Bestehen funktionale Abhängigkeiten (z. B. Basiskommunikations- oder Logging-Dämonen in FG1/FG2 müssen vollständig einsatzbereit sein, bevor Applikationen in FG3 starten), muss im Modell ein explizites
SYNC-Element in dieActionListeingefügt werden. - Manifest-Konfiguration: Entwickler modellieren diese Kette im ARXML über die Reihenfolge der Elemente in der
ActionList. Das Fehlen vonSYNCbei impliziten Abhängigkeiten führt zu Race Conditions im Prozessstart; unnötig gesetzteSYNC-Barrieren serialisieren die Ausführung und degradieren die Hochlaufzeit. - Fehlersemantik: Schlägt eine Transition vor der
SYNC-Barriere fehl (z. B. Timeout oderara::exec::ExecErrc::kSetStateFailed), muss die Fehlerbehandlung derActionListgreifen (Rollback, Eintritt inFallback-Zustand oder Abbruch des Makro-Zustandswechsels). DerSYNC-Knoten dient hierbei als Aggregationspunkt für den Status vorangegangener Futures.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.