Figure 7.9: State Change Sequence – Transition to machine state StateXYZ
01d08d16414aaa8a6396fa04482dec9de7185e358b538960a5fe51bd00718745
1. Diagrammtyp & Architektur-Kontext
UML-Sequenzdiagramm zur Spezifikation des dynamischen Verhaltens im AUTOSAR-Adaptive-Platform-Modul Execution Management (EM). Das Diagramm stellt die maschinelle Zustandsänderung (Transition to Machine State <<StateXYZ>>) dar, die durch den State Management (SM) initiiert wird und das geordnete Herunterfahren nicht mehr benötigter Anwendungen sowie das Starten neuer Prozesse umfasst.
2. Komponenten, Entitäten & Schnittstellen
Instanzen und Schnittstellen im Rahmen sd Transition to Machine State <<StateXYZ>>:
EM: Execution Management.SM: State Management.App1: Zu terminierender Prozess (Lebenslinie endet mitX).App2: Dynamisch erzeugter Prozess (Lebenslinie endet mitX).
Spezifizierte Schnittstellen:
SetState(FunctionGroupState &stateXYZ): ara::core::Future<void>: C++-API-Methode des State Managements an Execution Management mit synchroner Rückgabe einesara::core::Future<void>.SIGTERM(allProcesses): Signal vonEManApp1.:EXIT_SUCCESS: OS-Prozessbeendigungsmeldung vonApp1anEM.CreateProcess(allApps): Prozessinstanziierungsnachricht anApp2.ReportExecutionState(kRunning): Statusmeldung vonApp2anEM.- Gestrichelte Bestätigungsnachricht von
EManApp2. SetState(): Transition completed <<future invocation>>: Asynchrone Einlösung des Future-Objekts vonEManSM.
3. Dynamisches Verhalten & Sequenzablauf
SMruftSetState(FunctionGroupState &stateXYZ): ara::core::Future<void>aufEMauf;EMgibt synchron das Future-Objekt zurück.- Schleife
loop [Terminating]:EMsendetSIGTERM(allProcesses)anApp1.App1beendet sich mit:EXIT_SUCCESS(Lebenslinie endet mitX).
- Schleife
loop [Starting]:EMsendetCreateProcess(allApps)zur Instanziierung vonApp2.App2sendetReportExecutionState(kRunning)anEM.EMquittiert den Erhalt asynchron anApp2.
- Nach Abschluss aller Transitionen löst
EMdas Future über die asynchrone BenachrichtigungSetState(): Transition completed <<future invocation>>anSMein.
4. Normative Relevanz & Entwickler-Hinweise
Normative Festlegung der ara::core-basierten Programmierschnittstelle: Der Zustandswechsel wird über typsichere C++-Objekte (FunctionGroupState) gesteuert und liefert ein ara::core::Future<void>, das bei Erreichen des Zielzustands aufgelöst wird. Schleifenzustände sind formal als [Terminating] und [Starting] deklariert. Applikationen melden ihren Zustand über ReportExecutionState(kRunning) und erhalten eine Quittierung durch EM.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.