AUTOSAR_AP_SWS_StateManagement
FIG-3b9d3ffb76b95f80
887 × 532 px
2 Release(s)
Figure 7.2: State Change Sequence – Transition to machine state StateXYZ
SHA-256 Inhalts-Fingerabdruck:
3b9d3ffb76b95f8010ec8c4d64dfe7376d6c2e5f58fb9eab32ec2eb8e1cd5d07
✦
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
Sequenzdiagramm (Titel: FunctionGroup State transition to StateXYZ) zur Spezifikation des Zustandswechsels einer Function Group in der AUTOSAR Adaptive Platform. Das Diagramm modelliert die Interaktion zwischen State Management, Execution Management und Applikationsprozessen unter Verwendung typsicherer C++-Schnittstellensignaturen (ara::core::Future, ara::core::Result).
2. Komponenten, Entitäten & Schnittstellen
- Execution Management: Plattforminstanz zur Prozessüberwachung, Signalübermittlung und Prozessinitiierung.
- State Management: Plattforminstanz zur Festlegung und Beauftragung des Zielzustands.
- App1: Prozess, der durch das Signal
SIGTERMbeendet wird und terminiert. - App2: Neu instanziierter Prozess, der seinen Ausführungsstatus an das Execution Management meldet.
- Schnittstellen & Methoden:
SetState(FunctionGroupState &stateXYZ): ara::core::Future<void>: Asynchroner Methodenaufruf von State Management an Execution Management.SIGTERM: Signal von Execution Management an App1.exit: Prozessinterne Terminierung von App1.WaitingForTermination(App1): Interner Wartezustand im Execution Management.CreateProcess(App2): Aufruf zum Starten des Prozesses App2.ReportExecutionState(kRunning): ara::core::Result<void>: Ausführungsstatusmeldung von App2 an Execution Management.Success <<future invocation from SetState>>: Asynchrone Einlösung des Promises/Futures zur Erfolgsbestätigung an State Management.
3. Dynamisches Verhalten & Sequenzablauf
- State Management ruft
SetState(FunctionGroupState &stateXYZ)auf Execution Management auf und erhält einara::core::Future<void>zurück. - Kombiniertes Fragment
loop [Shutdown]:- Execution Management sendet das Signal
SIGTERMan App1. - App1 führt die interne Beendigung
exitdurch und terminiert (gekennzeichnet durch das Termination-Kreuz auf der Lebenslinie). - Execution Management führt
WaitingForTermination(App1)aus, um das Ende des Prozesses zu registrieren.
- Execution Management sendet das Signal
- Kombiniertes Fragment
loop [Startup]:- Execution Management instanziiert den Prozess über
CreateProcess(App2). - App2 meldet seinen Status über
ReportExecutionState(kRunning)an Execution Management und empfängt einara::core::Result<void>.
- Execution Management instanziiert den Prozess über
- Nach erfolgreichem Hochfahren aller Prozesse wird das zuvor übergebene Future aufgelöst (
Success <<future invocation from SetState>>).
4. Normative Relevanz & Entwickler-Hinweise
Normativ verbindliche Spezifikation der C++-Plattform-Schnittstellen für State Management und Execution Management:
- Das Setzen des Zustands erfolgt asynchron über
ara::core::Future<void>. - Applikationen melden ihren Zustand direkt über
ReportExecutionStatemit dem Rückgabetypara::core::Result<void>zurück. - Die Terminierung der Prozesse im Shutdown erfolgt nach
SIGTERMdirekt durch Prozessende (exit) ohne separaten Statusreport via ExecutionClient. - Die Auflösung des Futures signalisiert dem State Management die vollständige Vollendung aller Shutdown- und Startup-Loops.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.