DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_PlatformDesign FIG-9ba085fdb2e9d37f 799 × 1163 px 1 Release(s)

Figure 13.10: State Management during an update process

SHA-256 Inhalts-Fingerabdruck: 9ba085fdb2e9d37f006c4fe351704eacec3342214ac66f6df545e7c4c1634087
✦ 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:
    • V-UCM (from V-UCM sequences): Vehicle Update and Config Management Master-Instanz.
    • UCM 1 (from V-UCM sequences): Untergeordnete UCM-Instanz auf der Maschine / Partition.
    • SM: State Management.
    • EM: Execution Management.
    • Application: Ausführende Benutzerapplikation.
    • Persistency: Functional Cluster für Datenspeicherung und Datenmigration.
  • Schnittstellen / Aufrufe:
    • Activate(), :Activate success: Aktivierungskommunikation zwischen V-UCM und UCM 1.
    • DependencyCheck(): Lokale Abhängigkeitsprüfung.
    • RequestUpdateSession(), :ReadyForUpdate, StopUpdateSession(): Update-Session-Verwaltung zwischen UCM 1 und SM.
    • PrepareUpdate(vector<FunctionGroup>), :Prepared: Vorbereitung der Funktionsgruppenaktualisierung.
    • SetState(Off), SetState(Verify), SetState(): Zustandswechselaufrufe von SM an EM.
    • SIGTERM(), :exitstatus: Prozessbeendigung durch EM.
    • ara::core::Deinitialize(), Close storages & Free resources(): Herunterfahren und Ressourcenfreigabe der Applikation.
    • ResetMachine(), ResetMachineNotifier(): kSucessful: Schnittstelle für Maschinen-Reset und Erfolgsquittierung.
    • Machine restarts(): Durch SM ausgelöster Neustart der Maschine / Ausführungsebene.
    • Symlinks or A/B switch(): Umschalten auf die neuen Software-Stände.
    • Reparse Manifests(): Lokales Parsen der aktualisierten Manifeste.
    • VerifyUpdate(vector<FunctionGroup>), :Verified: Anforderung der Funktionsgruppenverifikation.
    • FG = Verify(): EM-Zustandsübergang der Funktionsgruppe in den Verifikationszustand.
    • UpdatePersistency(), Data backup(), Install and/or update persistent data(): Persistenzaktualisierung und Migration.
    • Finish(): Abschlussaufruf durch V-UCM.
    • Normal(), OpenXXX(), CleanUp backup data(): Normalbetrieb und Bereinigung von Backup-Daten.

3. Dynamisches Verhalten & Sequenzablauf

  1. Activating: V-UCM sendet Activate() an UCM 1. UCM 1 führt DependencyCheck() durch und sendet RequestUpdateSession() an SM, welches mit :ReadyForUpdate antwortet.
  2. loop for each SoftwareCluster (Prepare): UCM 1 sendet PrepareUpdate(vector<FunctionGroup>) an SM. SM schaltet über EM mittels SetState(Off) die Funktionsgruppe ab. EM sendet SIGTERM() an Application. Application ruft ara::core::Deinitialize() auf, schließt Speicher via Persistency (Close storages & Free resources()) und meldet :exitstatus an EM. SM antwortet mit :Prepared an UCM 1. UCM 1 signalisiert :Activate success an V-UCM.
  3. Verifying: UCM 1 führt Symlinks or A/B switch() aus.
    • alt ReparseManifest:
      • Zweig [Reset]: UCM 1 ruft ResetMachine() an SM auf. SM veranlasst Machine restarts() und benachrichtigt UCM 1 über ResetMachineNotifier(): kSucessful.
      • Zweig [No Reset]: UCM 1 führt intern Reparse Manifests() aus.
  4. loop for each SoftwareCluster (Verify): UCM 1 sendet VerifyUpdate(vector<FunctionGroup>) an SM. SM weist EM via SetState(Verify) an. EM aktiviert die Verifikation mit FG = Verify(), woraufhin Application UpdatePersistency() bei Persistency auslöst (Data backup(), Install and/or update persistent data()). Nach erfolgreicher Verifikation meldet SM :Verified an UCM 1.
  5. Activated & Cleaning-up: V-UCM ruft Finish() an UCM 1 auf. UCM 1 beendet die Update-Sitzung mit StopUpdateSession() an SM. SM signalisiert EM SetState(), woraufhin EM die Application über Normal() in den Regelbetrieb überführt. Application greift über OpenXXX() auf Persistency zu, welche CleanUp backup data() ausführt.

4. Normative Relevanz & Entwickler-Hinweise

  • Das Persistency-Manifest wird zusammen mit der Applikation installiert oder aktualisiert.
  • ara::core::Deinitialize() muss als letzter Aufruf erfolgen, um persistente Speicher geordnet zu schließen.
  • Der Maschinen-Reset ist optional und im SWP-Manifest festgelegt; nach dem Reset setzt UCM den Ablauf an der Stelle des Resets fort.
  • Das Neu-Parsen der Manifeste ist implementationsabhängig; bei fehlender Bestätigung abhängiger Functional Cluster muss UCM einen Rollback einleiten.
  • V-UCM koordiniert das Warten auf die Aktivierung weiterer UCM-Sub-Instanzen über Finish().

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R23-11 → R24-11 normative Änderung Vorgänger: FIG-166629c1f00adf68
  • Akteure / Lebenslinien:
    • UCM master umbenannt zu V-UCM (Stereotyp geändert von (from Actors) zu (from V-UCM sequences)).
    • UCM sub 1 umbenannt zu UCM 1 (Stereotyp geändert von (from Actors) zu (from V-UCM sequences)).
    • Bei SM entfällt der Stereotyp (from Actors).
  • Sitzungsaufbau:
    • StartUpdateSession() zwischen UCM 1 und SM ersetzt durch RequestUpdateSession().
  • Maschinen-Reset & Neustart:
    • Aufruf ResetMachine() von UCM 1 an SM löst nun den asynchronen/rückwärtigen Aufruf Machine restarts() an EM/SM aus sowie die Benachrichtigung ResetMachineNotifier(): kSucessful zurück an UCM 1.
    • Notiztext zu Machine Reset ergänzt um: „After Reset, UCM continues from where the reset“.
  • Verifikationsphase:
    • Signal von EM an die Anwendung bei SetState(Verify) umbenannt von Spawn process() zu FG = Verify().
    • Notiz/Typo-Korrektur: Install and/or update persisten data() korrigiert zu Install and/or update persistent data().
R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-e6b8981575852030

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Activating | Verifying | Activated | Ready | Cleaning-up | EM V-UCM | (from V-UCM | sequences) | UCM 1 | (from V-UCM | sequences) | SM | loop for each SoftwareCluster | loop for each SoftwareCluster | alt ReparseManifest | [Reset] | [No Reset] | Persistency Application |                     |  |      |  |   |  |  |  |         |  |      |  |                  |     |  |  |  |  |  |    |        |  |   |  |   |  |    |  |        |  |  |  |        |  |    |  |     |    |  |         |  |      |  |             |  |       |  |  |    |  |     |  |  |  |         |    |      |   |        |  |     |     |  |    |  |   |   |  |  |    |  |     |  |   |          |     |    |  |   |  |     |  !" |  ##     # #$       %   |  |  |  |    |  |  |       |  |  |  |                          & ' ( |  |    |  | ) |    |  |   |   |      |  |     |   |    |  |       |  |       |  | FG = Verify () | Finish () | Close storages & Free resources() | ResetMachine () | : Prepared | ResetMachineNotifier(): | kSucessful | Machine restarts | () | CleanUp backup data() | Symlinks or A/B switch() | : exitstatus | SIGTERM () | SetState (Off) | : ReadyForUpdate | Activate () | DependencyCheck () | StopUpdateSession () | PrepareUpdate (vector<FunctionGroup>) | Normal () | RequestUpdateSession () | SetState () | ara::core:: Deinitialize() | Data backup () | SetState (Verify) | VerifyUpdate (vector<FunctionGroup>) | :Activate success | Install and/or update persistent data() | : Verified | UpdatePersistency () | Reparse Manifests() | OpenXXX ()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_AP_EXP_PlatformDesign S. 75 13.10 Figure 13.10: State Management during an update process