DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_PlatformDesign FIG-09024b0d4f60fc36 927 × 1303 px 1 Release(s)

Figure 13.9: V-UCM state machine

SHA-256 Inhalts-Fingerabdruck: 09024b0d4f60fc36ae7ce132de1259ba5cf9f8118f778775ffa8e1fc90bd8b69
✦ 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-Zustandsdiagramm (stm DOC_V-UCM_StM_CampaignState) zur Modellierung der Update-Kampagnen-Zustandsmaschine des Vehicle Update and Configuration Management (V-UCM) innerhalb der AUTOSAR Adaptive Platform. Das Diagramm spezifiziert die hierarchischen und sequenziellen Makro- und Mikrozustände von der Kampagneninitiierung über die Verteilung und Paketverarbeitung bis zur Aktivierung und Verifikation auf Gesamtfahrzeugebene.

2. Komponenten, Entitäten & Schnittstellen

Das Diagramm umfasst als Zustände:

  • IDLE: Grundzustand.
  • SYNCING mit do / ComputeUpdates.
  • TRANSFERRING: Verbundzustand mit VEHICLEPACKAGE_TRANSFERRING (do / VehiclePackageReceiving) und SOFTWAREPACKAGE_TRANSFERRING (do / DistributeSoftwarePackages).
  • UPDATING: Verbundzustand mit PROCESSING (do / ProcessingSoftwarePackages), ACTIVATING (do / UCM.Activate()) und VEHICLE_CHECKING (do / VehicleSanityCheck).
  • CANCELLING (do / Cancelling) und ROLLINGBACK_FAILED.

Schnittstellen, Methoden und Trigger umfassen SwPackageInventory(), GetSwClusterInfo(), TransferVehiclePackage(), TransferData(), TransferExit(), TransferStart(), RegisterSoftwarePackage(), Approve(), VehicleCheck(True|False), CancelCampaign() und UCMMaster.deleteTransfer(). Zustandsvariablen sind CurrentStatus (kPreparing), ProcessingStates / ProcessingState (kProcessed, kReady) sowie ApprovalRequired / approvalRequired[transfer|process|activate].

3. Dynamisches Verhalten & Sequenzablauf

Aus IDLE wird über SYNCING ([SyncingDone]) die Aktualisierung ermittelt. transferVehiclePackage() führt bei [All CurrentStatus == kPreparing] nach TRANSFERRING in den Unterzustand VEHICLEPACKAGE_TRANSFERRING.

Im Zustand VEHICLEPACKAGE_TRANSFERRING wird das Fahrzeugpaket empfangen. Über den Selbstübergang transferExit() / Check vehicle package integrity, available resources and dependencies erfolgt die Prüfung. Das Ergebnis führt über Successful VP check / ApprovalRequired := approvalRequired[transfer] und gegebenenfalls Approve() / ApprovalRequired := False zur Freigabe. Bei Validität (ApprovalRequired set False [All CurrentStatus == kPreparing & not(InvalidPackageManifest | LackResources | FailedDependency)]) geht die Steuerung zu SOFTWAREPACKAGE_TRANSFERRING über; Fehler leiten über Campaign aborted nach CANCELLING.

In SOFTWAREPACKAGE_TRANSFERRING werden Softwarepakete übertragen. Nach Paketübertragung wird bei Bedarf über Approve() bestätigt. Sind alle Bedingungen erfüllt ([(Start Proc. first SWP || All SWPs transferred) & ApprovalRequired[process]==False & All ProcessingState==kReady]), verlässt die Zustandsmaschine TRANSFERRING über Transfer finished / Update start nach UPDATING.

In UPDATING verarbeitet PROCESSING die Pakete. Sind alle Pakete prozessiert (All Packages processed successfully [All ProcessingStates == kProcessed ...]), führt der Pfad direkt oder nach Approve() [approvalRequired[activate]==True] zu ACTIVATING. Nach Aktivierung (All CurrentStatus == Activated) führt VEHICLE_CHECKING den Sanity-Check aus: VehicleCheck(True) markiert die Kampagne als erfolgreich (Campaign successful) mit Rückkehr nach IDLE. Bei Fehlern (ActivationFailure, VehicleCheck(False), NonRecoverableFailure) wird Campaign failed ausgelöst, wodurch CANCELLING betreten wird. Bei Rollback-Fehlern führt [Any CurrentStatus == kRollingBackFailed] von ROLLINGBACK_FAILED ebenfalls nach CANCELLING, von wo aus bei [All CurrentStatus == kPreparing] die Rückkehr nach IDLE erfolgt.

4. Normative Relevanz & Entwickler-Hinweise

Normativ bindend ist die Verwendung der typspezifischen Statuswerte kPreparing, kProcessed und kReady für die Synchronisation verteilter UCM-Zustände. Die Autorisierung ist über die standardisierte Operation Approve() spezifiziert. Fehler- und Rollback-Pfade fordern explizite Konsistenzbedingungen vor der Rückkehr in den Zustand IDLE.

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

R24-11 → R25-11 redaktionell Vorgänger: FIG-aed7612a40a36901
  • Schreibweise Methodenaufrufe (Groß-/Kleinschreibung): cancelCampaign() wurde zu CancelCampaign() vereinheitlicht.
  • Methodenaufrufe an SOFTWAREPACKAGE_TRANSFERRING & PROCESSING: Ergänzung von RegisterSoftwarePackage() zu den Selbstübergängen (TransferData(), TransferExit(), TransferStart(), RegisterSoftwarePackage()).
  • Methodenaufrufe an VEHICLEPACKAGE_TRANSFERRING: CamelCase-Anpassungen (TransferData(), TransferExit(), TransferVehiclePackage()).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

stm DOC_V-UCM_StM_CampaignState | TRANSFERRING Campaign | start | Campaign | aborted | Transfer finished | IDLE | SYNCING | do / ComputeUpdates | VEHICLEPACKAGE_TRANSFERRING | do / VehiclePackageReceiving | UPDATING | Campaign | failed Update | start | Campaign | successful | PROCESSING | do / ProcessingSoftwarePackages | ACTIVATING | do / UCM.Activate() | VEHICLE_CHECKING | do / VehicleSanityCheck | CANCELLING | do / Cancelling | SOFTWAREPACKAGE_TRANSFERRING | do / DistributeSoftwarePackages | ROLLINGBACK_FAILED | TransferExit() /Check vehicle package integrity, available resources | and dependencies | TransferData | () | Successful VP check /ApprovalRequired := | approvalRequired | [transfer] | [InvalidPackageManifest | | LackResources | FailedDependency | NonRecoverableFailure] | Approve() /ApprovalRequired := | False | Approve() [approvalRequired | [activate]==True] /ApprovalRequired := False | CancelCampaign(), UCMMaster.deleteTransfer | () | TransferData(), | TransferExit(), TransferStart(), RegisterSoftwarePackage | () | ApprovalRequired set False [All | CurrentStatus == kPreparing & | not(InvalidPackageManifest | | LackResources | FailedDependency)] | ActivationFailure,CancelCampaign | () | All CurrentStatus == | Activated | All Packages processed successfully [All ProcessingStates | == kProcessed & approvalRequired | [activate]==True] /ApprovalRequired := True | NonRecoverableFailure,CancelCampaign | () | VehicleCheck (False),CancelCampaign | () | All CurrentStatus == | Activated | [All CurrentStatus==kPreparing] | [(Start Proc. first SWP || A ll SWPs | transferred) & ApprovalRequired | [process]==False & All ProcessingState==kReady] | VehicleCheck | (True) | [Any CurrentStatus | == kRollingBackFailed] | Approve() [approvalRequired[process]==True | && All ProcessingState==kReady] | /ApprovalRequired := False | CancelCampaign(), NonRecoverableFailure [InvalidPackageManifest] | [All CurrentStatus | == kPreparing] | All SWPs transferred | [approvalRequired | [process]==True] /ApprovalRequired := True | SwPackageInventory (), GetSwClusterInfo() | TransferData(), | TransferExit(), TransferStart(), RegisterSoftwarePackage | () | [SyncingDone] | All Packages processed successfully [All ProcessingStates | == kProcessed & approvalRequired | [activate]==False] | TransferVehiclePackage | () /ApprovalRequired: | =False

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_EXP_PlatformDesign S. 73 13.9 Figure 13.9: V-UCM state machine