AUTOSAR_AP_SWS_StateManagement
FIG-906bbc8f7a366916
887 × 467 px
1 Release(s)
Figure 7.1: Start-up Sequence – from Startup to initial running state Driving
SHA-256 Inhalts-Fingerabdruck:
906bbc8f7a366916795449417aa0143b6e2e1907d0444f91b5f630cff6208c7b
✦
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
- Klassifikation: UML-Sequenzdiagramm (rahmenloses Sequenzdiagramm mit Zeitsprüngen/Unterbrechungen) unter dem Titel
Startup to initial StateXYZ. - Architektur-Kontext: AUTOSAR Adaptive Platform (AP), Release R25-11. Dargestellt ist der deterministische Hochlauf der Machine vom OS-Bootstrap über die Prozessinitiierung des State Management durch das Execution Management bis zur Abfrage des Machine-Startup-Ergebnisses und der anschließenden Anforderung des Folgezustands (
StateXYZ) via C++-API.
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lifelines:
Operating System(vormalsOS): Host-/POSIX-Betriebssystem zum Starten des Execution Management; Kopf- und Fußboxen vorhanden.Execution Management(vormalsEM): Zentraler Plattformcluster für Prozessverwaltung und Zustandsausführung.State Management(vormalsSM, farblich hervorgehoben): Plattformcluster für Zustandsentscheidungen.
- Schnittstellen & Interaktionspfade:
main(): Entry-Point-Aufruf des OS zum Start von Execution Management.CreateProcess(SM): Prozesserzeugung von State Management durch Execution Management.ReportExecutionState(kRunning): ara::core::Result<void>: Meldung der Betriebsbereitschaft von SM an EM mit standardisiertem Ergebnistypara::core::Result<void>.GetInitialMachineStateTransitionResult(): ara::core::Future<void>: Asynchrone Abfragemethode von SM an EM zur Ermittlung des Abschlusses der initialen Machine-State-Transition.<<future invocation from GetInitialMachineStateTransitionResult>>: Asynchrone Einlösung des Futures durch EM bei Erreichen des initialen Zustands.SetState(FunctionGroupState &stateXYZ): ara::core::Future<void>: Asynchroner Zustandswechselaufruf mit stark typisiertem Referenzparameter (FunctionGroupState &stateXYZ) anstelle von Zeichenketten.<<future invocation from SetState>>: Asynchrone Signalisierung der abgeschlossenen Zustandstransition durch EM an SM.
3. Dynamisches Verhalten & Sequenzablauf
- OS-Bootstrap & EM-Start: Das Betriebssystem initialisiert die Plattform und ruft
main()des Execution Management auf. - SM-Instanziierung & Statusmeldung:
- Execution Management startet State Management über
CreateProcess(SM). - State Management meldet seine Betriebsbereitschaft über
ReportExecutionState(kRunning)und erhält synchron einara::core::Result<void>zurück.
- Execution Management startet State Management über
- Synchronisation auf initialen Machine-Zustand:
- State Management ruft
GetInitialMachineStateTransitionResult()an EM auf und erhält einara::core::Future<void>. - Sobald EM den initialen Maschinenzustand stabil eingenommen hat, wird das Future asynchron aufgelöst (
<<future invocation from GetInitialMachineStateTransitionResult>>).
- State Management ruft
- Asynchrone Zustandstransition:
- State Management stößt den Wechsel in den Zielzustand via
SetState(FunctionGroupState &stateXYZ)an. - Nach Vollzug aller Prozessstarts/-stopps für
stateXYZsignalisiert EM den Abschluss asynchron an SM (<<future invocation from SetState>>).
- State Management stößt den Wechsel in den Zielzustand via
4. Normative Relevanz & Entwickler-Hinweise
- Typsicherheit der Zustands-API: Statt untypisierter Zeichenketten (
"MachineFG", String-Zustände) erfordertSetStateeine typisierte C++-Referenz (FunctionGroupState &stateXYZ), wodurch Fehlkonfigurationen zur Compile-Zeit verhindert werden. - Fehler- und Synchronisationsmodell (
ara::core):- Synchrone Aufrufe wie
ReportExecutionStateliefernara::core::Result<void>, was eine standardisierte Fehlerbehandlung ohne C++-Exceptions erzwingt. - Asynchrone Abläufe (
GetInitialMachineStateTransitionResult,SetState) nutzenara::core::Future<void>; SM darf nachfolgende Aktionen erst nach erfolgreichem Future-Callback ausführen.
- Synchrone Aufrufe wie
- Initial-State-Synchronisation: Die Notwendigkeit des aktiven Wartens auf
GetInitialMachineStateTransitionResult()verhindert Race Conditions beim Hochlauf, indem sichergestellt wird, dass alle Prozesse des Initialzustands stabil laufen, bevor Folgezustände angefordert werden. - Fokus auf SM-Interaktion: Die Reduktion der Schleife über alle Plattformprozesse verdeutlicht normativ das Zusammenspiel zwischen EM und SM als zentralem Kontrollpfad.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.