DEENESPTFRRUARHIKOZHNL
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 (TransferState und ProcessingState).
  • 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::com Service PackageManagement):
    • Methoden/Trigger: TransferStart, TransferData, TransferExit, ProcessSwPackage, DeleteTransfer, Finish, Cancel, RegisterSoftwarePackage, RevertProcessedSwPackages.
  • 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:
  1. Initialisierung: Aufruf von TransferStart (SWS_UCM_00088) oder RegisterSoftwarePackage erzeugt eine TransferId und überführt den Automaten von Initial nach kTransferring.
  2. Chunk-Übertragung: Zyklischer/sequentieller Aufruf von TransferData(TransferId, ...) verbleibt im Zustand kTransferring (Self-Transition).
  3. Abschluss: TransferExit(TransferId) signalisiert das Ende des Datenstroms und schaltet nach kTransferred.
  4. Terminierung/Abbruch:
    • Aus kTransferring führt ein Client-Abbruch (DeleteTransfer) oder eine fehlgeschlagene Authentifizierung (AuthenticationFailed) direkt nach Final.
    • Aus kTransferred führt DeleteTransfer oder der Abschluss des Gesamtauftrags (Finish) nach Final.
B. ProcessingState-Ablauf (Streaming-Betrieb):
  1. Bereitstellung:
    • Über TransferStart / RegisterSoftwarePackage wechselt der Automat von Initial nach kReady.
    • Alternativ kann bei direktem Streaming ProcessSwPackage von Initial direkt nach kProcessing führen.
  2. Aktive Verarbeitung (kProcessing):
    • Die Nutzdaten werden während des Streamings validiert und geschrieben.
    • Erfolg: Bei erfolgreichem Durchlauf feuert das interne Event [ProcessSwPackageDone] → Wechsel nach kProcessed.
    • Fehler/Abbruch:
      • Cancel (Client-gesteuert) oder interne Fehler [ProcessingError] führen nach kProcessingFailed.
      • [AuthenticationFailed] führt direkt in den Endzustand Final.
      • RevertProcessedSwPackages verwirft Teilzustände direkt nach Final.
  3. Fehlerzustand (kProcessingFailed):
    • Wiederholungsversuch: Erneuter Aufruf von ProcessSwPackage führt zurück nach kProcessing (sofern die Paketdaten/Session noch gültig sind).
    • Bereinigung: DeleteTransfer oder RevertProcessedSwPackages überführt in den Zustand Final.
  4. Verarbeitetes Paket (kProcessed):
    • Der Zustand Final wird erreicht durch:
      • Finish: Übernahme in die Aktivierungsphase (Activation Phase, UCM Gesamtzyklus).
      • DeleteTransfer oder RevertProcessedSwPackages: Rollback und Bereinigung der temporären Artefakte.

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 kProcessing erfordert strikte Rollback-Mechanismen über RevertProcessedSwPackages.
  • Blockgrößen-Aushandlung (SWS_UCM_00272): Der Aufrufer (OTA-Client / Diagnostic Client) muss die bei TransferStart zurückgegebene BlockSize exakt 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 mit kOldVersion abbrechen und den Zustand nach kProcessingFailed bzw. Final überführen.
  • Asynchrones API-Design (ara::core::Future): Die UCM-Methoden ProcessSwPackage und TransferExit sind langlaufende Operationen. Der Stack liefert typischerweise ein ara::core::Future zurück; der Client muss den Fortschritt über die Felder ProcessingState und TransferState bzw. GetProgress pollen 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 gemeinsamen TransferId-Kontext durch adäquates Locking absichern.

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

R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-87710a474645a6f3

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

ProcessingState TransferState | kTransferring | kTransferred | kReady | kProcessed | Initial | Final | kProcessing | Final | Initial | kProcessingFailed | DeleteTransfer, AuthenticationFailed | DeleteTransfer, | Finish | TransferExit | TransferData | ProcessSwPackage | TransferStart, RegisterSoftwarePackage | [AuthenticationFailed] | [ProcessingError] | DeleteTransfer, Finish, RevertProcessedSwPackages | RevertProcessedSwPackages | RevertProcessedSwPackages, | DeleteTransfer | DeleteTransfer | Cancel | TransferStart, RegisterSoftwarePackage | ProcessSwPackage | [ProcessSwPackageDone]

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 36 7.4 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).