Figure 13.9: V-UCM state machine
6ecbddea87a36dbcbeddc59f00586d6100228ae980e1d82b86eed744feaaa860
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.SYNCINGmit Do-Aktivitätdo / ComputeUpdates.TRANSFERRING: Verbundzustand mit den UnterzuständenVEHICLEPACKAGE_TRANSFERRING(do / VehiclePackageReceiving) undSOFTWAREPACKAGE_TRANSFERRING(do / DistributeSoftwarePackages) sowie Entscheidungsknoten zur Manifest- und Ressourcenprüfung.UPDATING: Verbundzustand mit den UnterzuständenPROCESSING(do / ProcessingSoftwarePackages),ACTIVATING(do / UCM.Activate()) undVEHICLE_CHECKING(do / VehicleSanityCheck).CANCELLING(do / Cancelling) undROLLINGBACK_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.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.