DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_PlatformDesign FIG-6ecbddea87a36dbc 928 × 1299 px 1 Release(s)

Figure 13.9: V-UCM state machine

SHA-256 Inhalts-Fingerabdruck: 6ecbddea87a36dbcbeddc59f00586d6100228ae980e1d82b86eed744feaaa860
✦ 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 elementare und zusammengesetzte Zustände:

  • IDLE: Grundzustand vor Start einer Kampagne.
  • SYNCING mit Do-Aktivität do / ComputeUpdates.
  • TRANSFERRING: Verbundzustand mit den Unterzuständen VEHICLEPACKAGE_TRANSFERRING (do / VehiclePackageReceiving) und SOFTWAREPACKAGE_TRANSFERRING (do / DistributeSoftwarePackages) sowie Entscheidungsknoten zur Manifest- und Ressourcenprüfung.
  • UPDATING: Verbundzustand mit den Unterzuständen PROCESSING (do / ProcessingSoftwarePackages), ACTIVATING (do / UCM.Activate()) und VEHICLE_CHECKING (do / VehicleSanityCheck).
  • CANCELLING (do / Cancelling) und ROLLINGBACK_FAILED.

Schnittstellen und Operationen umfassen SwPackageInventory(), GetSwClusterInfo(), transferVehiclePackage(), transferData(), transferExit(), TransferStart, DriverApproval(True), cancelCampaign() und UCMMaster.deleteTransfer(). Als Datenelemente und Statusvariablen treten CurrentStatus, SoftwarePackageStates, ApprovalRequired bzw. Vektoren approvalRequired[transfer|process|activate] auf.

3. Dynamisches Verhalten & Sequenzablauf

Ausgehend von IDLE führt ein Zustandswechsel nach SYNCING zur Bestimmung anstehender Updates. Nach Abschluss ([SyncingDone]) kehrt der Ablauf nach IDLE zurück. Der Kampagnenstart triggert transferVehiclePackage() nach TRANSFERRING in den Unterzustand VEHICLEPACKAGE_TRANSFERRING, vorausgesetzt [All CurrentStatus == Idle].

Innerhalb von TRANSFERRING erfolgt der Empfang des Fahrzeugpakets. Bei Manifestfehlern, Ressourcenmangel oder Abhängigkeitskonflikten (InvalidPackageManifest, LackResources, FailedDependency) verzweigt der Ablauf über einen Entscheidungsknoten direkt unter Abbruch (cancelCampaign()) in den Abort-Knoten Campaign aborted nach CANCELLING. Bei Validität wird abhängig vom Flag approvalRequired[transfer] entweder Fahrergenehmigung (DriverApproval(True)) eingeholt oder direkt zu SOFTWAREPACKAGE_TRANSFERRING gewechselt. Nach Übertragung aller Softwarepakete wird bei gesetztem approvalRequired[process] Fahrergenehmigung angefordert; sind alle Vorbedingungen erfüllt ([All CurrentStatus == Idle]), wechselt der Zustand über Transfer finished / Update start in den Verbundzustand UPDATING.

In UPDATING verarbeitet PROCESSING die Softwarepakete. Nach fehlerfreier Verarbeitung (All Packages processed successfully) und optionaler Freigabe (DriverApproval(True)) erfolgt der Übergang nach ACTIVATING. Bei erfolgreicher Aktivierung (All CurrentStatus == Activated) geht die Kontrolle zu VEHICLE_CHECKING über. Fällt der Sanity-Check positiv aus (VehicleCheck(True)), endet die Kampagne in Campaign successful und führt zurück nach IDLE. Schlagen Teilschritte fehl (ActivationFailure, VehicleCheck(False), NonRecoverableFailure), erfolgt der Übergang über Campaign failed nach CANCELLING und von dort zurück zu IDLE bzw. bei Rollback-Fehlern zu ROLLINGBACK_FAILED.

4. Normative Relevanz & Entwickler-Hinweise

Normativ bindend ist die koordinierende Kontrollflusslogik für V-UCM-Implementierungen zur Kampagnenabwicklung über verteilte Steuergeräte (UCMs). Guards auf Vektorvariablen (approvalRequired[...]) erzwingen synchrone Interaktionspunkte mit externen Systemen (HMI/Fahrer). Fehlerpfade fordern zwingend atomare Bereinigungs- und Abbruchoperationen (cancelCampaign(), UCMMaster.deleteTransfer()). Rollback-Fehlerzustände (ROLLINGBACK_FAILED) bedingen eine gesonderte Fehlerbehandlung außerhalb des regulären Kampagnenzyklus.

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

R23-11 → R24-11 normative Änderung Nachfolger: FIG-aed7612a40a36901
  • Zustandsprüfungen & Guards: Rückkehrbedingungen aus CANCELLING sowie der Start von transferVehiclePackage() prüfen nicht mehr [All CurrentStatus == Idle], sondern [All CurrentStatus == kPreparing].
  • Zustandsprüfungen in PROCESSING & UPDATING: Guard-Bedingungen prüfen statt SoftwarePackageStates bzw. CurrentStatus nun ProcessingStates (kProcessed, kReady).
  • Approval-Interaktion: DriverApproval(True) wurde durch die generische Operation Approve() ersetzt.
  • Entscheidungsknoten VEHICLEPACKAGE_TRANSFERRING: Die Verzweigung nach dem Empfang des Fahrzeugpakets wurde restrukturiert; Ausführung von transferExit() mit Guard /Check vehicle package integrity, available resources and dependencies sowie Rückkopplung über Successful VP check und explizites Setzen von ApprovalRequired durch Approve().
  • Fehlerbehandlung ROLLINGBACK_FAILED: Fehlerzustand ROLLINGBACK_FAILED führt bei [Any CurrentStatus == kRollingBackFailed] in CANCELLING.
  • Bedingungslogik für PROCESSING-Übergang: Übergangsbedingung [(Start Proc. first SWP || All SWPs transferred) & ApprovalRequired[process]==False & All ProcessingState==kReady] bindet den Verarbeitungsstatus kReady explizit ein.

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 | All SWPs transferred [approvalRequired | [process]==True] /ApprovalRequired := True | [not (InvalidPackageManifest | | LackResources | FailedDependency) & | approvalRequired | [transfer]==True)] /ApprovalRequired := True [InvalidPackageManifest | | LackResources | FailedDependency | NonRecoverableFailure] DriverApproval(True) [ApprovalRequired==True] | /ApprovalRequired := | False | [All CurrentStatus | == Idle] | DriverApproval(True) [approvalRequired[process]==True | && All CurrentStatus==Idle] | /ApprovalRequired := False | All Packages processed successfully [All SoftwarePackageStates == kProcessed & | approvalRequired[activate]==True] | /ApprovalRequired := True | NonRecoverableFailure, | cancelCampaign() | All CurrentStatus == Activated | ActivationFailure, cancelCampaign() | VehicleCheck(False), | cancelCampaign() | [All CurrentStatus==Idle] | transferData() | transferData(), | transferExit(), | TransferStart | transferVehiclePackage() [All CurrentStatus==Idle] /ApprovalRequired:=False | cancelCampaign(), UCMMaster.deleteTransfer() | transferData(), | transferExit(), | TransferStart | SwPackageInventory(), | GetSwClusterInfo() | cancelCampaign(), NonRecoverableFailure [InvalidPackageManifest] | All CurrentStatus == Activated | VehicleCheck(True) | [not (InvalidPackageManifest | LackResources | FailedDependency) & | approvalRequired[transfer]==False)] | DriverApproval(True) [approvalRequired[activate]==True] | /ApprovalRequired := False | [SyncingDone] | [Any CurrentStatus == | kRollingBackFailed] | All Packages processed successfully [All SoftwarePackageStates == kProcessed & | approvalRequired[activate]==False] | transferExit() | [(Start Proc. first SWP || A ll SWPs transferred) & | ApprovalRequired[process]==False & All | CurrentStatus==Idle]

Vorkommen in AUTOSAR-Releases (1)

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