AUTOSAR_AP_EXP_PlatformDesign
FIG-5423a621f11923ac
930 × 737 px
2 Release(s)
Figure 13.8: Overview of Processing and Activation of Software Package
SHA-256 Inhalts-Fingerabdruck:
5423a621f11923acc0fdc845ff8fa0e641d6781fba71adecfdf7bba29d1780ce
✦
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-Zustandsdiagramm (State Machine Diagram / Statechart) des Composite-Zustandsraums
PackageManagerStatus. - Technischer Zweck & Einordnung: Spezifiziert den zentralen Lebenszyklus der Paketverarbeitung im Functional Cluster Update and Configuration Management (UCM) der AUTOSAR Adaptive Platform (Interface
ara::ucm::pkgmgr::PackageManager). Es definiert die formalen Zustandsübergänge bei OTA- und Werkstatt-Updates von Software-Paketen über die Phasen Bereitstellung, Validierung, Aktivierung, Laufzeitverifikation, Rollback und Ressourcenfreigabe.
2. Komponenten, Entitäten & Schnittstellen
- Zustandsautomat & Phasen-Submachines (
PackageManagerStatus):Preparation phase: Kapselt die Bereitstellung und Vorbereitung von Software-Paketen als Submachine (UML-Symboloo). Verfügt über die Entry-PointsPreparationundActivation failuresowie die Exit-PointsRevertingundActivating.Activation Phase: Kapselt Abhängigkeitsprüfung, Laufzeitverifikation und Rollback als Submachine (UML-Symboloo). Verfügt über den Entry-PointActivatingsowie die Exit-PointsFinishingundFailure.CleaningUp phase: Kapselt die Aufräum- und Bereinigungsprozesse als Submachine (UML-Symboloo). Verfügt über den Entry-PointCleaningUpund den Exit-PointPreparation.
- Zustände und Do-Aktivitäten:
kPreparing(inPreparation phase): Zentraler Vorbereitungs- und Transferzustand (ersetzt die vormaligen ZuständekIdle,kProcessing,kReady).kActivating(inActivation Phase,do / DependencyCheck): Validierung statischer und dynamischer Abhängigkeiten, Kompatibilität der Manifeste und Vorbereitung der Partitionsumschaltung.kVerifying(inActivation Phase,do / MonitorApplicationRestart): Überwachung des Anwendungsneustarts in Kooperation mit State Management (SM) und Execution Management (EM).kActivated(inActivation Phase): Zielversion erfolgreich aktiviert und verifiziert; wartet auf Finalisierung (Finish) oder manuellenRollback.kRollingBack(inActivation Phase,do / roll back to old version): Wiederherstellung der ursprünglichen Software-Version bzw. passive Partition.kRolledBack(inActivation Phase): Rollback erfolgreich abgeschlossen; wartet aufFinish.kRollingBackFailed(inActivation Phase): Kritischer Fehlerzustand bei fehlgeschlagenem Rollback; ermöglicht erneuten Retry viaRollback.kCleaningUp(inCleaningUp phase,do / clean up): Bereinigung temporärer Artefakte, alter Paketbestände und Cache-Bereiche.
- Service-Methoden / Trigger (
ara::ucm::pkgmgr::PackageManager):TransferStart,TransferData,TransferExit: Blockweises Streaming / Übertragung des Software-Pakets als Selbsttransition ankPreparing.ProcessSwPackage,Cancel: Start bzw. Abbruch der Paketprüfung/-dekompression als Selbsttransition ankPreparing.Activate: Initiiert Aktivierungssequenz; verlässtPreparation phaseüber Exit-PointActivating.RevertProcessedSwPackages: Verwirft vorbereitete Pakete; verlässtPreparation phaseüber Exit-PointReverting.Rollback: Initiiert Rollback-Vorgang auskVerifying,kActivatedoderkRollingBackFailed.Finish: Schließt Aktivierung (kActivated) oder Rollback (kRolledBack) verbindlich ab; verlässtActivation Phaseüber Exit-PointFinishing.
- Pseudozustände & Interne Signale:
Initial: Startpseudozustand der Gesamt-State-Machine.- Entry-Points (offener Kreis):
Preparation,Activation failure,Activating,CleaningUp. - Exit-Points (Kreis mit Kreuz
X):Preparation,Reverting,Activating,Failure,Finishing. - Interne Signale:
OnSuccess,OnFailure.
3. Dynamisches Verhalten & Sequenzablauf
Nominaler Update-Ablauf (Happy Path)
- Initialisierung & Pakettransfer:
- Der Startknoten (
Initial) führt über den Entry-PointPreparationdirekt in den ZustandkPreparingderPreparation phase. - Die Übertragung von Software-Paketen erfolgt blockweise über
TransferStart,TransferDataundTransferExitals Selbsttransitionen aufkPreparing. - Die Dekompression und Signatur-/Integritätsprüfung wird über
ProcessSwPackage(ebenfalls als Self-Transition ankPreparing) ausgeführt.
- Der Startknoten (
- Aktivierungsphase:
- Nach erfolgreicher Vorbereitung löst
Activatedas Verlassen derPreparation phaseüber den Exit-PointActivatingaus. - Der Übergang verbindet zum Entry-Point
ActivatingderActivation Phase, welcher direkt in den ZustandkActivatingmündet (do / DependencyCheck).
- Nach erfolgreicher Vorbereitung löst
- Verifikation & Zielzustand:
- Verläuft der Dependency-Check erfolgreich (
OnSuccess), wechselt der Automat nachkVerifying(do / MonitorApplicationRestart). UCM überwacht in Kooperation mit State Management und Execution Management das Hochlaufen der aktualisierten Prozesse. - Melden alle überwachten Instanzen fehlerfreien Betrieb (
OnSuccess), geht das System in den ZustandkActivated.
- Verläuft der Dependency-Check erfolgreich (
- Finalisierung & Bereinigung:
- Der Aufruf
FinishauskActivatedverlässt dieActivation Phaseüber den Exit-PointFinishing. - Die Transition führt zum Entry-Point
CleaningUpderCleaningUp phasein den ZustandkCleaningUp(do / clean up). - Nach erfolgreicher Bereinigung führt die Transition über den Exit-Point
Preparationund den Entry-PointPreparationzurück in den ZustandkPreparingderPreparation phase, womit UCM für neue Paketübertragungen bereit ist.
- Der Aufruf
Abbruch- und Revert-Pfade
- Cancel in
kPreparing: Der MethodenaufrufCancelverbleibt als Self-Transition im ZustandkPreparingund bricht laufende Parsing- oder Transferoperationen ab. - Revert: Vor Beginn der Aktivierung verwirft
RevertProcessedSwPackagesalle gepufferten Paketdaten und verlässt diePreparation phaseüber den Exit-PointReverting. Die Transition führt direkt zum Entry-PointCleaningUpderCleaningUp phase. Nach Durchlauf vonkCleaningUpkehrt der Automat via Exit-PointPreparationnachkPreparingzurück.
Fehler- und Rollback-Pfade
- Aktivierungsfehler (Dependency Check): Schlägt der
DependencyCheckinkActivatingfehl (OnFailure), verlässt der Ablauf dieActivation Phaseüber den Exit-PointFailureund kehrt über den Entry-PointActivation failurederPreparation phasezurück nachkPreparing. - Fehlschlag der Verifikation / Manuelles Rollback:
- Schlägt
MonitorApplicationRestartinkVerifyingfehl (OnFailure) oder wird auskVerifyingbzw.kActivateddie MethodeRollbackgetriggert, wechselt der Automat nachkRollingBack(do / roll back to old version). - Verläuft der Rollback erfolgreich (
OnSuccess), wird der ZustandkRolledBackeingenommen. Von dort überführtFinishüber den Exit-PointFinishingin dieCleaningUp phaseund anschließend zurück nachkPreparing. - Schlägt die Wiederherstellung fehl (
OnFailure), wechselt UCM nachkRollingBackFailed. Über einen erneuten Aufruf vonRollbackkann ein weiterer Wiederherstellungsversuch nachkRollingBackunternommen werden.
- Schlägt
4. Normative Relevanz & Entwickler-Hinweise
- Streaming- und Transfer-Protokoll: Die Einführung der Service-Methoden
TransferStart,TransferDataundTransferExitbindet das blockweise Chunk-Streaming von Software-Paketen normativ an den ZustandkPreparing. Clients müssen die Übertragungssequenz vollständig durchlaufen und mitTransferExitabschließen, bevorProcessSwPackageoderActivateausgeführt werden darf. - Phasenkapselung & Statusabfrage: Durch die Kapselung in
Preparation phase,Activation PhaseundCleaningUp phasemit hierarchischen Entry-/Exit-Points werden Teilzustände modularisiert. Die vormaligen EinzelzuständekIdle,kProcessingundkReadysind im übergeordneten Statusmodell zukPreparingverschmolzen; detaillierte Verarbeitungszustände müssen von UCM intern oder über spezifische Fortschritts-Felder signalisiert werden. - API-Vertrag & Fehlersignalisierung: Jeder Methodenaufruf an das Interface
ara::ucm::pkgmgr::PackageManageraußerhalb des im Modell erlaubten Kontexts bzw. Phasenzustands muss nach AUTOSAR-Spezifikation mitUcmErrorDomain::kInvalidPackageStatusbzw.kOperationNotAllowedzurückgewiesen werden. - Transaktionale Persistenz & A/B-Umschaltung: Bis zum erfolgreichen Erreichen von
kActivatedverbleiben alle Änderungen in inaktiven Banken/Verzeichnissen. Ein Fehlschlag des Dependency-Checks (Failure->Activation failure) setzt die Bereitstellung ohne Systemneustart aufkPreparingzurück. - Verbindlicher Aufruf von
Finish(): Speicherbereinigung und Freigabe alter Software-Versionen erfolgen ausschließlich in derCleaningUp phase. Nach erfolgreicher Verifikation (kActivated) oder erfolgreichem Rollback (kRolledBack) ist der explizite Aufruf vonFinish()verpflichtend, da das System andernfalls in derActivation Phaseverharrt und keine neuen Pakete für nachfolgende Updates entgegennehmen kann.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.