AUTOSAR_AP_EXP_PlatformDesign
FIG-166629c1f00adf68
933 × 1105 px
3 Release(s)
Figure 13.10: State Management during an update process
SHA-256 Inhalts-Fingerabdruck:
166629c1f00adf6893639657d0e522aa8d7bc6c93945d78a0f9bd877392ea426
✦
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
UML-Sequenzdiagramm zur Orchestrierung des State Management (SM) während eines Update-Prozesses in der AUTOSAR Adaptive Platform (AP). Das Diagramm stellt das Zusammenspiel zwischen Update and Config Management (UCM Master / UCM Sub), State Management, Execution Management (EM), einer Benutzeranwendung (Application) und dem Functional Cluster Persistency über verschiedene Aktualisierungsphasen (Ready, Activating, Verifying, Activated, Cleaning-up) dar.
2. Komponenten, Entitäten & Schnittstellen
- Lebenslinien / Akteure:
UCM master (from Actors): Übergeordneter Koordinator des Update-Vorgangs.UCM sub 1 (from Actors): Lokale Instanz zur Durchführung der SoftwareCluster-Aktualisierung.SM (from Actors): State Management, verwaltet Zustandsübergänge der Funktionsgruppen und initiiert Maschinenaktionen.EM: Execution Management, steuert Prozesslebenszyklen und Zustandswechsel auf Betriebssystem-/Prozessebene.Application: Ausführende Benutzerapplikation bzw. betroffener Prozess.Persistency: Functional Cluster für persistente Datenspeicherung und Datenmigration/Backup.
- Schnittstellen / Aufrufe:
Activate(),:Activate success: Aktivierungsbefehl und Quittierung zwischen UCM Master und UCM Sub.DependencyCheck(): Interne Prüfung auf UCM-Ebene.StartUpdateSession(),StopUpdateSession(): Session-Verwaltung zwischen UCM und SM.PrepareUpdate(vector<FunctionGroup>),:Prepared: Update-Vorbereitung der Funktionsgruppen.SetState(Off),SetState(Verify),SetState(): Zustandssteuerungsaufrufe von SM an EM.SIGTERM(),:exitstatus: Prozessbeendigung durch EM.ara::core::Deinitialize(),Close storages & Free resources(): Geordnetes Herunterfahren und Freigabe von Persistenzressourcen durch die Applikation.ResetMachine(): Maschinenreset-Anforderung von UCM an SM.Symlinks or A/B switch(): Umschalten der Software-Partitionen/Verzeichnisse.Reparse Manifests(): Lokales Neueinlesen der Manifeste.VerifyUpdate(vector<FunctionGroup>),:Verified: Verifikationsanforderung an SM.Spawn process(): Prozessstart durch EM.UpdatePersistency(),Data backup(),Install and/or update persisten data(): Datenaktualisierungs- und Migrationsroutinen der Persistenz.Finish(): Abschlusskoordination zwischen UCM Master und UCM Sub.Normal(),OpenXXX(),CleanUp backup data(): Wiederanlauf der Applikation und Bereinigung temporärer Backup-Daten.
3. Dynamisches Verhalten & Sequenzablauf
- Activating: UCM Master sendet
Activate()an UCM Sub 1. UCM Sub 1 führtDependencyCheck()aus und öffnet mitStartUpdateSession()eine Session bei SM (:ReadyForUpdate). - loop for each SoftwareCluster (Prepare): UCM Sub 1 sendet
PrepareUpdate(vector<FunctionGroup>)an SM. SM beauftragt EM viaSetState(Off)mit dem Herunterfahren betroffener Prozesse. EM sendetSIGTERM()an die Application. Diese ruftara::core::Deinitialize()auf, schließt Speicher/Ressourcen via Persistency (Close storages & Free resources()) und meldet:exitstatusan EM zurück, woraufhin SM das:Preparedan UCM Sub 1 zurückliefert. UCM Sub 1 meldet:Activate successan UCM Master. - Verifying: UCM Sub 1 schaltet Versionen um (
Symlinks or A/B switch()).- alt ReparseManifest:
- Zweig
[Reset]: UCM Sub 1 ruftResetMachine()an SM auf. - Zweig
[No Reset]: UCM Sub 1 führt internReparse Manifests()aus.
- Zweig
- alt ReparseManifest:
- loop for each SoftwareCluster (Verify): UCM Sub 1 ruft
VerifyUpdate(vector<FunctionGroup>)an SM auf. SM signalisiert EMSetState(Verify), worauf EM mitSpawn process()die Application startet. Diese stößtUpdatePersistency()an Persistency an (beinhaltetData backup()sowieInstall and/or update persisten data()). Nach Rückkehr meldet SM:Verifiedan UCM Sub 1. - Activated & Cleaning-up: UCM Master koordiniert mit
Finish()die Aktivierung. UCM Sub 1 ruftStopUpdateSession()an SM auf. SM setzt via EM mitSetState()den Normalbetrieb; EM startet oder versetzt die Application viaNormal()in Betrieb, woraufhin Persistenz geöffnet (OpenXXX()) und Sicherungsdaten entfernt werden (CleanUp backup data()).
4. Normative Relevanz & Entwickler-Hinweise
- Das Persistency-Manifest muss zusammen mit der Applikation installiert oder aktualisiert werden.
ara::core::Deinitialize()muss zwingend der letzte Funktionsaufruf vor Prozessbeendigung sein, um geordnete Speicherschließung und Ressourcenfreigabe sicherzustellen.- Ein Machine Reset ist optional und wird im SWP-Manifest (Software Package Manifest) spezifiziert.
- Das Reparsing von Manifesten ist implementationsspezifisch. UCM muss gegebenenfalls mit weiteren Functional Clustern interagieren, um das Gelingen des Verifikationsschritts abzusichern; verweigern diese eine positive Rückmeldung, muss UCM einen Rollback auslösen.
- Die Aktivierung mehrerer UCM Subs wird vom UCM Master über
Finish()synchronisiert.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.