AUTOSAR_AP_SWS_UpdateAndConfigurationManagement
FIG-2b83f262a89dbd57
929 × 496 px
1 Release(s)
Figure 7.4: State machines for transferring and processing state which, in combination, are representing the lifecycle of Software Packages. This diagram only represents the life cycle without storing a Software Package (usually referred to as streaming).
SHA-256 Inhalts-Fingerabdruck:
2b83f262a89dbd572b8e8a660edabb3b77271a6ebbbac36dbe8133f94eecc38d
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Zustandsdiagramm (State Machine Diagram) mit zwei nebenläufigen/entkoppelten Zustandsautomaten (
TransferStateundProcessingState). - Funktionale Einordnung: AUTOSAR Adaptive Platform (AP), Functional Cluster Update and Configuration Management (UCM) (
AUTOSAR_AP_SWS_UpdateAndConfigurationManagement, Release R24-11). - Technischer Zweck: Spezifikation des Lebenszyklus eines Software-Pakets (Software Package Lifecycle) für den Anwendungsfall Streaming (Verarbeitung ohne persistente Zwischenspeicherung des gesamten Pakets im Dateisystem/Puffer). Es visualisiert die Entkopplung von Datenübertragung (
TransferState) und eigentlicher Paketverarbeitung/Installation (ProcessingState).
2. Komponenten, Entitäten & Schnittstellen
- Zustandsautomaten & Zustandsvariablen:
TransferState(Zustände gem.TransferStateType):Initial(Pseudo-Startzustand)kTransferring(Datenübertragung aktiv)kTransferred(Übertragung formal beendet)Final(Pseudo-Endzustand / Bereinigung)
ProcessingState(Zustände gem.ProcessingStateType):Initial(Pseudo-Startzustand)kReady(Paket registriert / vorbereitet, Verarbeitung noch nicht gestartet)kProcessing(Verifikation, Dekompression, Streaming-Installation aktiv)kProcessed(Inhalte erfolgreich ins Ziel-Layout geschrieben/vorbereitet)kProcessingFailed(Fehler während Verarbeitung aufgetreten)Final(Pseudo-Endzustand / Bereinigung)
- Schnittstellen & Methoden (
ara::comServicePackageManagement):- Methoden/Trigger:
TransferStart,TransferData,TransferExit,ProcessSwPackage,DeleteTransfer,Finish,Cancel,RegisterSoftwarePackage,RevertProcessedSwPackages.
- Methoden/Trigger:
- Guards & interne Ereignisse:
[ProcessSwPackageDone]: Asynchroner Abschluss der Paketverarbeitung.[AuthenticationFailed]: Kryptografische Signaturprüfung/Zertifikatsvalidierung fehlgeschlagen.[ProcessingError]: Hardware-, Signatur-, Downgrade- (gem. SWS_UCM_00103) oder I/O-Fehler während des Streamings.
3. Dynamisches Verhalten & Sequenzablauf
A. TransferState-Ablauf:
- Initialisierung: Aufruf von
TransferStart(SWS_UCM_00088) oderRegisterSoftwarePackageerzeugt eineTransferIdund überführt den Automaten vonInitialnachkTransferring. - Chunk-Übertragung: Zyklischer/sequentieller Aufruf von
TransferData(TransferId, ...)verbleibt im ZustandkTransferring(Self-Transition). - Abschluss:
TransferExit(TransferId)signalisiert das Ende des Datenstroms und schaltet nachkTransferred. - Terminierung/Abbruch:
- Aus
kTransferringführt ein Client-Abbruch (DeleteTransfer) oder eine fehlgeschlagene Authentifizierung (AuthenticationFailed) direkt nachFinal. - Aus
kTransferredführtDeleteTransferoder der Abschluss des Gesamtauftrags (Finish) nachFinal.
- Aus
B. ProcessingState-Ablauf (Streaming-Betrieb):
- Bereitstellung:
- Über
TransferStart/RegisterSoftwarePackagewechselt der Automat vonInitialnachkReady. - Alternativ kann bei direktem Streaming
ProcessSwPackagevonInitialdirekt nachkProcessingführen.
- Über
- Aktive Verarbeitung (
kProcessing):- Die Nutzdaten werden während des Streamings validiert und geschrieben.
- Erfolg: Bei erfolgreichem Durchlauf feuert das interne Event
[ProcessSwPackageDone]→ Wechsel nachkProcessed. - Fehler/Abbruch:
Cancel(Client-gesteuert) oder interne Fehler[ProcessingError]führen nachkProcessingFailed.[AuthenticationFailed]führt direkt in den EndzustandFinal.RevertProcessedSwPackagesverwirft Teilzustände direkt nachFinal.
- Fehlerzustand (
kProcessingFailed):- Wiederholungsversuch: Erneuter Aufruf von
ProcessSwPackageführt zurück nachkProcessing(sofern die Paketdaten/Session noch gültig sind). - Bereinigung:
DeleteTransferoderRevertProcessedSwPackagesüberführt in den ZustandFinal.
- Wiederholungsversuch: Erneuter Aufruf von
- Verarbeitetes Paket (
kProcessed):- Der Zustand
Finalwird erreicht durch:Finish: Übernahme in die Aktivierungsphase (Activation Phase, UCM Gesamtzyklus).DeleteTransferoderRevertProcessedSwPackages: Rollback und Bereinigung der temporären Artefakte.
- Der Zustand
4. Normative Relevanz & Entwickler-Hinweise
- Streaming-Restriktion (Flash/RAM-Footprint): Da kein lokaler Zwischenspeicher für das Gesamtpaket vorliegt (No Storing), muss das UCM-Backend Paketinhalte "on-the-fly" dekodieren, verifizieren und in die Zielpartitionen schreiben. Ein Abbruch in
kProcessingerfordert strikte Rollback-Mechanismen überRevertProcessedSwPackages. - Blockgrößen-Aushandlung (SWS_UCM_00272): Der Aufrufer (OTA-Client / Diagnostic Client) muss die bei
TransferStartzurückgegebeneBlockSizeexakt einhalten, um Pufferüberläufe im UCM-Streaming-Puffer zu verhindern. - Downgrade-Protection (SWS_UCM_00103): Die Versionsprüfung muss erfolgen, sobald das Manifest im Datenstrom verfügbar ist (spätestens vor Beginn des eigentlichen Schreibens in
kProcessing). Schlägt die Versionsprüfung fehl, muss die Methode mitkOldVersionabbrechen und den Zustand nachkProcessingFailedbzw.Finalüberführen. - Asynchrones API-Design (
ara::core::Future): Die UCM-MethodenProcessSwPackageundTransferExitsind langlaufende Operationen. Der Stack liefert typischerweise einara::core::Futurezurück; der Client muss den Fortschritt über die FelderProcessingStateundTransferStatebzw.GetProgresspollen oder per Event abonnieren. - Gleichzeitigkeit (SWS_UCM_00007): Datentransfer (
TransferData) und Verarbeitung (ProcessSwPackage) können im Streaming-Modus parallel laufen; Entwickler müssen Race Conditions auf dem gemeinsamenTransferId-Kontext durch adäquates Locking absichern.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.