DEENESPTFRRUARHIKOZHNL

module ara::ucm — Update and Configuration Management

Spezifikation: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement.pdf (R25-11) · 21 API-Records

Module guideAI-GENERATED

Manages the secure transfer, verification, and activation of software packages on the Adaptive Platform.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 4ab0b48693a4 Provenance Open questions (2)
Causal anchor: R25-11 Valid from R25-11 Synthesized for this specification release.
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Manages the secure transfer, verification, and activation of software packages on the Adaptive Platform.

The Functional Cluster Update and Configuration Management controls the transactional installation, verification, and activation of software packages on an Adaptive Machine (AUTOSAR_AP_EXP_SWArchitecture p. 138). For this purpose, the service interface PackageManagement implements a three-phase pipeline consisting of data transmission, package processing, and subsequent switching via Activate ([SWS_UCM_00352]). If errors occur or dependencies are missing, standardized mechanisms such as Rollback and RevertProcessedSwPackages ensure the safe recovery of the previous system state ([SWS_UCM_00350], [SWS_UCM_00353]).

Update and Configuration Management (UCM) is a daemon-based Functional Cluster of the AUTOSAR Adaptive Platform that provides the service-oriented interface PackageManagement via ara::com ([SWS_UCM_00361], AUTOSAR_AP_EXP_SWArchitecture p. 138). UCM acts as the local execution entity for OTA clients, diagnostic applications, or the vehicle-wide Vehicle Update and Configuration Management (V-UCM) and is addressed in multi-ECU configurations via a vehicle-wide unique instance identifier using GetId ([SWS_UCM_00343], TPS_ManifestSpecification p. 631).

The update sequence takes place in three phases: data transmission, processing, and activation (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). Software packages can be streamed block by block at any time via TransferStart, TransferData, and TransferExit, or registered as an existing URI path via RegisterSoftwarePackage ([SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346]). Transfers that are no longer needed can be removed with DeleteTransfer ([SWS_UCM_00348]).

Software package transfer sequenceClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopFor each data blockTransferData(id, data, blockCounter)ConfirmationTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Sequence diagram: Transfer of a software package via block-by-block streaming or direct URI registration. Sources: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 137.

Processing is triggered with ProcessSwPackage, during which UCM verifies package manifests and signatures, unpacks the target clusters, and indicates progress in status field CurrentStatus as well as via GetProgress ([SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361]). After successful preparation, Activate switches to the new clusters in coordination with State Management and Execution Management, whereupon Finish cleans up temporary source data ([SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77).

Activation workflow and finalizationClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenStart new processes of software clustersStopUpdateSession()Activate return (success)Finish()Delete temporary package sources & set cluster to kPresentFinish return

Sequence diagram: Activation, platform state transition, and cleanup of software packages. Sources: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77.

Erroneous processing leads to state kProcessingFailed, whereas incomplete campaigns are transactionally reverted to the initial state using RevertProcessedSwPackages before activation and using Rollback after a failed switch ([SWS_UCM_00350], [SWS_UCM_00353], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38). For status inspection and auditing, GetSwClusterInfo, GetSwClusterChangeInfo, and GetHistory are used ([SWS_UCM_00355], [SWS_UCM_00356], [SWS_UCM_00357]).

Role and Functional System Boundaries within the Platform Network

The Functional Cluster Update and Configuration Management (UCM) forms the central platform component of the AUTOSAR Adaptive Platform for the secure, transactional update, installation, and uninstallation of application and platform software at machine level (AUTOSAR_AP_EXP_SWArchitecture p. 138). Technically, the UCM is implemented as a system-wide background service (daemon-based) and provides its core functionality via the primary ara::com service interface PackageManagement ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 90). Consuming entities include in-vehicle Over-the-Air clients (OTA clients), diagnostic testers via Diagnostic Management, and higher-level coordinators such as Vehicle Update and Configuration Management (V-UCM) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 17).

Within a multi-tier vehicle architecture, the UCM acts as a local execution entity (UCM Subordinate), while the vehicle-central V-UCM orchestrates software-supported campaigns across multiple ECUs (SWS_VehicleUpdateAndConfigurationManagement p. 16, AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement p. 12). To enable the central orchestrator to address multiple distributed UCM instances on different machines, each instance provides its unique identifier via the method GetId ([SWS_UCM_00343]). In accordance with manifest specifications, this identifier must be configured to be vehicle-wide machine-specifically unique (TPS_ManifestSpecification p. 631).

ucm_kontext client Client (OTA / V-UCM / Diagnose) ucm Update & Configuration Management (UCM) client->ucm PackageManagement (ara::com) sm State Management ucm->sm UpdateSession Request em Execution Management ucm->em Process control (Stop/Start) fs Lokaler Speicher / Partitionen ucm->fs Paketablage & A/B-Umschaltung

Context diagram: Functional embedding of the UCM daemon into the Adaptive Platform and interaction with clients as well as platform clusters. Sources: AUTOSAR_AP_EXP_SWArchitecture p. 138, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 17, SWS_VehicleUpdateAndConfigurationManagement p. 16.

Provisioning and Transfer of Software Packages

The lifecycle of a software update is divided by default into three macro phases: Data Transmission, Processing, and Activation (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). An essential architectural feature of UCM is the decoupling of data transmission from internal processing and package management states: software packages can be transferred to the machine at any time during ongoing operation (SWS_UpdateAndConfigurationManagement p. 38).

For the provisioning of software packages, the interface PackageManagement defines two complementary mechanisms:

In both cases, UCM assigns a unique TransferId to the package, via which all subsequent actions are referenced. Transferred but not yet processed packages can be explicitly removed from temporary storage using DeleteTransfer in the event of cancellation or storage cleanup ([SWS_UCM_00348]).

Software package transfer sequenceClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopFor each data blockTransferData(id, data, blockCounter)ConfirmationTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Sequence diagram: Transfer of a software package via block-by-block streaming or direct URI registration. Sources: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 137.

Processing and Verification in Local UCM

After successful transfer or registration, the client initiates the processing of the package via the method ProcessSwPackage ([SWS_UCM_00349]). Processing comprises extracting the software clusters, parsing the manifests, performing integrity and authenticity checks, and statically validating cluster dependencies (EXP_SWArchitecture p. 185). A single software package can encapsulate executables of Adaptive Applications, operating system or firmware updates, as well as configuration and calibration data (SWS_UpdateAndConfigurationManagement p. 27).

Calling ProcessSwPackage transitions the service field CurrentStatus to the state kProcessing ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 123). Clients can subscribe to the field or monitor the current progress via the query method GetProgress ([SWS_UCM_00360]). In addition, GetSwPackages allows querying all software packages currently known in UCM and their processing status ([SWS_UCM_00359]). Ongoing time-consuming processing steps can be interrupted if needed using Suspend and resumed at a later time via Resume ([SWS_UCM_00397], [SWS_UCM_00398]). If processing is canceled, the operation can be stopped in a controlled manner with Cancel ([SWS_UCM_00351]).

Package processing and progress monitoringClientUCM: PackageManagementSubscribe(CurrentStatus)CurrentStatus = kReadyProcessSwPackage(transferId)CurrentStatus = kProcessing (Notifier)Return ProcessSwPackageloopWhile processing activeGetProgress()progressInformationCheck integrity & unpack clusterCurrentStatus = kReady (Notifier)

Sequence diagram: Package processing with state transition and progress monitoring. Sources: [SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 123.

Activation Workflow and Platform State Transition

Once all packages intended for a campaign have been successfully processed, the client initiates the activation of the new software clusters with the synchronous call to Activate ([SWS_UCM_00352]). The prerequisite for this is that the UCM is in a consistent quiescent state and no active processing or cancellation tasks are running (EXP_SWArchitecture p. 185). UCM closely coordinates the activation step with State Management (SM) and Execution Management (EM): running processes of the old version are terminated in an orderly fashion, persistency data structures are migrated, and the new application instances are started (AUTOSAR_AP_EXP_PlatformDesign p. 77).

The manifest metamodel of the Adaptive Platform supports multi-step activation steps (SoftwarePackageStep), allowing the sequence of package processing to be flexibly decoupled from preparation and the actual switchover time (activationSwitch=True) (AUTOSAR_TPS_ManifestSpecification p. 642). After successful switchover and verification of the new software states, the client completes the campaign with Finish ([SWS_UCM_00354]). This call performs final cleanup, deletes the source packages from temporary storage, and transfers the software clusters to the permanent state (EXP_SWArchitecture p. 138).

Activation workflow and finalizationClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenStart new processes of software clustersStopUpdateSession()Activate return (success)Finish()Delete temporary package sources & set cluster to kPresentFinish return

Sequence diagram: Activation, platform state transition, and cleanup of software packages. Sources: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77.

Cluster lifecycle, query APIs, and audit history

Software clusters (SwCluster) have a well-defined lifecycle: After successful processing via ProcessSwPackage, a newly added cluster transitions to the state kAdded, while an updated cluster assumes the state kUpdating (SWS_UpdateAndConfigurationManagement p. 24). Only with the final call to Finish after activation do these clusters transition to the stable production state kPresent (SWS_UpdateAndConfigurationManagement p. 24). For software packages themselves, decoupled state machines exist: The TransferState (states kTransferring, kTransferred) and the ProcessingState (states kReady, kProcessing, kProcessed, kProcessingFailed) also permit pure streaming scenarios without prior intermediate buffering of the entire package (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38).

At runtime, UCM provides comprehensive information interfaces for system inspection:

  • GetSwClusterInfo provides a list of all currently active software clusters in the state kPresent along with version identifiers ([SWS_UCM_00357]).
  • GetSwClusterChangeInfo reports all pending changes (clusters to be added, updated, or removed) prior to final activation ([SWS_UCM_00356]).
  • GetSwClusterManifestInfo permits targeted querying of manifest details of a specific installed software cluster ([SWS_UCM_00358]).
  • GetHistory enables reading a chronological audit trail of all UCM actions within a defined time interval for seamless tracking in fleet management ([SWS_UCM_00355], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 86).
ucm_package_lifecycle cluster_transfer TransferState cluster_processing ProcessingState t_init Start t_transferring kTransferring t_init->t_transferring TransferStart / RegisterSoftwarePackage t_transferring->t_transferring TransferData t_transferred kTransferred t_transferring->t_transferred TransferExit t_final Ende t_transferring->t_final DeleteTransfer t_transferred->t_final DeleteTransfer / Finish p_init Start p_ready kReady p_init->p_ready p_processing kProcessing p_ready->p_processing ProcessSwPackage p_processed kProcessed p_processing->p_processed Verarbeitung erfolgreich p_failed kProcessingFailed p_processing->p_failed Fehler / Cancel p_processed->p_ready RevertProcessedSwPackages / Finish p_failed->p_ready RevertProcessedSwPackages

State diagram: Decoupled state machines for data transfer and processing of a software package. Sources: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38, AUTOSAR_SWS_UpdateAndConfigManagement p. 20.

ucm_cluster_state c_init Start c_added kAdded c_init->c_added ProcessSwPackage (newly added) c_added->c_init Revert / Rollback c_present kPresent c_added->c_present Activate + Finish c_updating kUpdating c_updating->c_present Activate + Finish c_updating->c_present Revert / Rollback c_present->c_updating ProcessSwPackage (Update vorhanden) c_removed kRemoved c_present->c_removed ProcessSwPackage (Deinstallation) c_removed->c_init Activate + Finish c_removed->c_present Revert / Rollback

State diagram: Lifecycle of a software cluster from preparation to final activation. Sources: SWS_UpdateAndConfigurationManagement p. 24, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 87.

Behavior in case of errors and transactional protection

To ensure the functional safety and system stability of the ECU under all operating conditions, UCM enforces strict consistency checks and provides fallback mechanisms for each phase of the update process. If validation or installation fails during package processing, the affected package transitions to the state kProcessingFailed (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38). If already processed packages are to be discarded prior to activation, RevertProcessedSwPackages rolls back all temporary file and configuration changes collectively ([SWS_UCM_00350]).

If an error is detected during the activation step—for instance due to unresolvable dependencies (kDependencyMissing), failed memory allocations (kPersistencyAllocationFailed), or errors in the update session with State Management ([SWS_UCM_00352])—UCM aborts the activation. In such an error scenario, the method Rollback reverts the entire platform to the exact state prior to the start of package processing ([SWS_UCM_00353]). Interpretation: In this case, UCM likely relies on redundant storage structures such as A/B partitions or file system snapshots to return the unchanged previous versions to operation without data loss (AUTOSAR_AP_EXP_SWArchitecture p. 138). Question Q-8d85be7343a9aace (open)

At the interface level, invalid calls (e.g. activation attempts when packages are missing or concurrent calls during active operations) are rejected deterministically via error code kOperationNotPermitted ([SWS_UCM_00347], [SWS_UCM_00352]). Interpretation: During ongoing activation or rollback operations, UCM likely blocks any concurrent modification calls strictly in order to prevent race conditions during partition switchover (EXP_SWArchitecture p. 185). Question Q-60859031e6230a65 (open) UCM acknowledges invalid or unknown session identifiers with the application error kTransferIdInvalid ([SWS_UCM_00348], [SWS_UCM_00351]).

Further detailed evidence

The architecture of UCM and its service-oriented embedding are normatively anchored in the following core specifications:

This guide is based exclusively on the normative requirements and architectural artifacts of AUTOSAR Adaptive Platform Release R25-11.

service method: 20 service field: 1

Topic map

Service interfaces

1

Detail view

Select an entry in the outline.

Service interfaces

PackageManagement service interface

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

Service interfaces (modelled via ara::com)