module ara::ucm — Update and Configuration Management
Guide du moduleGÉNÉRÉ PAR IA
Gère le transfert sécurisé, la vérification et l'activation de paquets logiciels sur l'Adaptive Platform.
Gère le transfert sécurisé, la vérification et l'activation de paquets logiciels sur l'Adaptive Platform.
Le Functional Cluster Update and Configuration Management pilote l'installation transactionnelle, la vérification et l'activation de paquets logiciels sur une machine Adaptive (AUTOSAR_AP_EXP_SWArchitecture p. 138). L'interface de service PackageManagement met en œuvre à cet effet un pipeline en trois phases composé du transfert de données, du traitement des paquets et de la commutation consécutive via Activate ([SWS_UCM_00352]). En cas d'erreurs ou de dépendances manquantes, des mécanismes standardisés tels que Rollback et RevertProcessedSwPackages garantissent la restauration sécurisée de l'état antérieur du système ([SWS_UCM_00350], [SWS_UCM_00353]).
L'Update and Configuration Management (UCM) est un Functional Cluster basé sur un démon de l'AUTOSAR Adaptive Platform, qui met à disposition l'interface orientée services PackageManagement via ara::com ([SWS_UCM_00361], AUTOSAR_AP_EXP_SWArchitecture p. 138). UCM agit en tant qu'organe d'exécution local pour les clients OTA, les applications de diagnostic ou le Vehicle Update and Configuration Management (V-UCM) à l'échelle du véhicule, et est adressé dans les configurations multi-ECU au moyen d'un identifiant d'instance unique à l'échelle du véhicule via GetId ([SWS_UCM_00343], TPS_ManifestSpecification p. 631).
Le processus de mise à jour s'effectue en trois phases : transfert de données, traitement et activation (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). Les paquets logiciels peuvent être transmis en continu par blocs à tout moment via TransferStart, TransferData et TransferExit ou enregistrés via RegisterSoftwarePackage sous la forme d'un chemin d'URI existant ([SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346]). Les transferts qui ne sont plus nécessaires peuvent être supprimés avec DeleteTransfer ([SWS_UCM_00348]).
Diagramme de séquence : transfert d'un paquet logiciel par streaming par blocs ou par enregistrement direct d'URI. 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.
Le traitement est déclenché avec ProcessSwPackage, UCM vérifiant les manifestes de paquets et les signatures, décompressant les clusters cibles et affichant la progression dans le champ d'état CurrentStatus ainsi que via GetProgress ([SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361]). Après une préparation réussie, Activate commute vers les nouveaux clusters en coordination avec State Management et Execution Management, après quoi Finish nettoie les données sources temporaires ([SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77).
Diagramme de séquence : activation, transition d'état de la plateforme et nettoyage des paquets logiciels. Sources : [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77.
Les traitements défaillants conduisent à l'état kProcessingFailed, tandis que les campagnes incomplètes sont restaurées de manière transactionnelle à l'état initial avec RevertProcessedSwPackages avant l'activation et avec Rollback après un échec de la commutation ([SWS_UCM_00350], [SWS_UCM_00353], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38). GetSwClusterInfo, GetSwClusterChangeInfo ainsi que GetHistory servent à l'inspection de l'état et à l'audit ([SWS_UCM_00355], [SWS_UCM_00356], [SWS_UCM_00357]).
Rôle et frontières fonctionnelles du système au sein de la plateforme
Le Functional Cluster Update and Configuration Management (UCM) constitue le composant de plateforme central de l'AUTOSAR Adaptive Platform pour la mise à jour, l'installation et la désinstallation sécurisées et transactionnelles des logiciels d'application et de plateforme au niveau de la machine (AUTOSAR_AP_EXP_SWArchitecture p. 138). D'un point de vue technique, l'UCM est réalisé sous la forme d'un service d'arrière-plan à l'échelle du système (daemon-based) et fournit sa fonctionnalité principale via l'interface de service primaire ara::com PackageManagement ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 90). Parmi les entités consommatrices figurent les clients Over-the-Air internes au véhicule (clients OTA), les testeurs de diagnostic via Diagnostic Management ainsi que les coordinateurs de niveau supérieur comme le Vehicle Update and Configuration Management (V-UCM) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 17).
Au sein d'une architecture de véhicule à plusieurs niveaux, l'UCM agit comme organe d'exécution local (UCM Subordinate), tandis que le V-UCM central au véhicule orchestre les campagnes logicielles sur plusieurs calculateurs (SWS_VehicleUpdateAndConfigurationManagement p. 16, AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement p. 12). Afin de permettre à l'orchestrateur central d'adresser plusieurs instances d'UCM distribuées sur différentes machines, chaque instance fournit son identifiant unique via la méthode GetId ([SWS_UCM_00343]). Conformément aux spécifications du manifeste, cet identifiant doit être configuré de manière unique à l'échelle du véhicule et spécifique à la machine (TPS_ManifestSpecification p. 631).
Diagramme de contexte : intégration fonctionnelle du démon UCM dans l'Adaptive Platform et interaction avec les clients ainsi que les clusters de plateforme. Sources : AUTOSAR_AP_EXP_SWArchitecture p. 138, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 17, SWS_VehicleUpdateAndConfigurationManagement p. 16.
Mise à disposition et transfert de paquets logiciels
Le cycle de vie d'une mise à jour logicielle se divise par défaut en trois macro-phases : transfert de données (Data Transmission), traitement de paquets (Processing) et activation (Activation) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). Une caractéristique architecturale essentielle de l'UCM est le découplage du transfert de données vis-à-vis des états internes de traitement et de gestion des paquets : les paquets logiciels peuvent être transférés vers la machine à tout moment pendant le fonctionnement (SWS_UpdateAndConfigurationManagement p. 38).
Pour la mise à disposition de paquets logiciels, l'interface PackageManagement définit deux mécanismes complémentaires :
- Streaming par blocs : le client initie le transfert en appelant
TransferStartavec indication de la taille totale en octets et reçoit unTransferIdTypeunique ainsi que la taille de bloc maximale autorisée ([SWS_UCM_00345]). Les fragments de données sont ensuite transférés séquentiellement avecTransferDataet un compteur de blocs incrémenté ([SWS_UCM_00346], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). L'appel de méthodeTransferExitconstitue la clôture formelle ([SWS_UCM_00347]). - Enregistrement basé sur URI : si le paquet a déjà été mis à disposition en dehors d'UCM (par ex. via un gestionnaire de téléchargement en arrière-plan ou un pré-dépôt dans le système de fichiers local), le client peut enregistrer le paquet via
RegisterSoftwarePackageen spécifiant un chemin d'URI standardisé ([SWS_UCM_00344], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 137).
Dans les deux cas, UCM attribue au paquet un TransferId unique au moyen duquel toutes les actions ultérieures sont référencées. Les paquets transférés mais pas encore traités peuvent être explicitement supprimés de la mémoire temporaire avec DeleteTransfer en cas d'annulation ou de nettoyage de la mémoire ([SWS_UCM_00348]).
Diagramme de séquence : transfert d'un paquet logiciel par streaming par blocs ou par enregistrement direct d'URI. 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.
Traitement et vérification dans l'UCM local
Après un transfert ou un enregistrement réussi, le client déclenche le traitement du paquet via la méthode ProcessSwPackage ([SWS_UCM_00349]). Le traitement comprend l'extraction des clusters de logiciels, la lecture des manifestes, les contrôles d'intégrité et d'authenticité ainsi que la validation statique des dépendances entre clusters (EXP_SWArchitecture p. 185). Un paquet logiciel individuel peut encapsuler des exécutables d'Adaptive Applications, des mises à jour de système d'exploitation ou de micrologiciel, ainsi que des données de configuration et de calibrage (SWS_UpdateAndConfigurationManagement p. 27).
L'appel de ProcessSwPackage fait passer le service field CurrentStatus à l'état kProcessing ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 123). Les clients peuvent s'abonner au field ou surveiller la progression actuelle via la méthode d'interrogation GetProgress ([SWS_UCM_00360]). De plus, GetSwPackages permet d'interroger tous les paquets logiciels actuellement connus dans l'UCM ainsi que leur statut de traitement ([SWS_UCM_00359]). Les étapes de traitement intensives en cours peuvent, en cas de besoin, être interrompues avec Suspend et reprises ultérieurement au moyen de Resume ([SWS_UCM_00397], [SWS_UCM_00398]). Si le traitement est interrompu, l'opération peut être arrêtée de manière contrôlée avec Cancel ([SWS_UCM_00351]).
Diagramme de séquence : Traitement de paquet avec transition d'état et surveillance de la progression. Sources : [SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 123.
Flux de travail d'activation et changements d'état de la plateforme
Si tous les paquets prévus pour une campagne ont été traités avec succès, le client déclenche l'activation effective des nouveaux clusters de logiciels par l'appel synchrone de Activate ([SWS_UCM_00352]). La condition préalable est que l'UCM se trouve dans un état de repos cohérent et qu'aucune tâche active de traitement ou d'annulation ne soit en cours d'exécution (EXP_SWArchitecture p. 185). L'UCM coordonne étroitement l'étape d'activation avec le State Management (SM) et l'Execution Management (EM) : les processus en cours de l'ancienne version sont terminés de manière ordonnée, les structures de données de persistance sont migrées et les nouvelles instances d'application sont démarrées (AUTOSAR_AP_EXP_PlatformDesign p. 77).
Le métamodèle de manifeste de l'Adaptive Platform prend en charge des étapes d'activation à plusieurs niveaux (SoftwarePackageStep), ce qui permet de découpler de manière flexible l'ordre de traitement des paquets de la préparation et du moment effectif de basculement (activationSwitch=True) (AUTOSAR_TPS_ManifestSpecification p. 642). Après un basculement réussi et la vérification des nouvelles versions logicielles, le client clôture la campagne avec Finish ([SWS_UCM_00354]). Cet appel effectue un nettoyage final, supprime les paquets sources de la mémoire temporaire et fait passer les clusters de logiciels à l'état permanent (EXP_SWArchitecture p. 138).
Diagramme de séquence : activation, transition d'état de la plateforme et nettoyage des paquets logiciels. Sources : [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77.
Cycle de vie des clusters, API d'interrogation et historique d'audit
Les clusters de logiciels (SwCluster) possèdent un cycle de vie bien défini : après un traitement réussi via ProcessSwPackage, un cluster nouvellement ajouté passe à l'état kAdded, tandis qu'un cluster mis à jour prend l'état kUpdating (SWS_UpdateAndConfigurationManagement p. 24). Ce n'est qu'avec l'appel final de Finish après l'activation que ces clusters passent à l'état productif stable kPresent (SWS_UpdateAndConfigurationManagement p. 24). Pour les paquets logiciels eux-mêmes, il existe des automates d'états découplés : le TransferState (états kTransferring, kTransferred) et le ProcessingState (états kReady, kProcessing, kProcessed, kProcessingFailed) permettent également des scénarios de streaming pur sans mise en mémoire tampon préalable de l'ensemble du paquet (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38).
À l'exécution, l'UCM met à disposition des interfaces d'information complètes pour l'inspection du système :
GetSwClusterInfofournit une liste de tous les clusters de logiciels actuellement actifs à l'étatkPresentavec leurs identifiants de version ([SWS_UCM_00357]).GetSwClusterChangeInfosignale toutes les modifications en attente (clusters à ajouter, à mettre à jour ou à supprimer) avant l'activation finale ([SWS_UCM_00356]).GetSwClusterManifestInfopermet l'interrogation ciblée des détails de manifeste d'un cluster logiciel installé spécifique ([SWS_UCM_00358]).GetHistorypermet la lecture d'une piste d'audit chronologique de toutes les actions de l'UCM au sein d'un intervalle de temps défini pour une traçabilité sans faille dans la gestion de flotte ([SWS_UCM_00355], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 86).
Diagramme d'états : Automates d'états découplés pour le transfert de données et le traitement d'un paquet logiciel. Sources : AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38, AUTOSAR_SWS_UpdateAndConfigManagement p. 20.
Diagramme d'états : Cycle de vie d'un cluster logiciel, de la préparation à l'activation finale. Sources : SWS_UpdateAndConfigurationManagement p. 24, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 87.
Comportement en cas d'erreur et sécurisation transactionnelle
Afin de garantir la sécurité fonctionnelle et la stabilité du système du calculateur dans toutes les conditions de fonctionnement, l'UCM applique des contrôles de cohérence stricts et propose des mécanismes de repli pour chaque phase du processus de mise à jour. Si la validation ou l'installation échoue pendant le traitement du paquet, le paquet concerné passe à l'état kProcessingFailed (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38). Si des paquets déjà traités doivent être rejetés avant l'activation, RevertProcessedSwPackages réinitialise de manière groupée toutes les modifications temporaires de fichiers et de configuration ([SWS_UCM_00350]).
Si une erreur est constatée pendant l'étape d'activation — par exemple en raison de dépendances insolubles (kDependencyMissing), d'allocations de mémoire ayant échoué (kPersistencyAllocationFailed) ou d'erreurs dans la session de mise à jour avec le State Management ([SWS_UCM_00352]) —, l'UCM interrompt l'activation. Dans un tel cas d'erreur, la méthode Rollback rétablit l'ensemble de la plateforme dans l'état exact précédant le début du traitement des paquets ([SWS_UCM_00353]). Interprétation : à cette fin, l'UCM devrait s'appuyer sur des structures de stockage redondantes telles que des partitions A/B ou des instantanés de système de fichiers afin de remettre en service les anciennes versions non modifiées sans perte de données (AUTOSAR_AP_EXP_SWArchitecture p. 138). Question Q-8d85be7343a9aace (ouverte)
Au niveau de l'interface, les appels non autorisés (par exemple, les tentatives d'activation en cas de paquets manquants ou les appels parallèles pendant des opérations actives) sont rejetés de manière déterministe par le code d'erreur kOperationNotPermitted ([SWS_UCM_00347], [SWS_UCM_00352]). Interprétation : pendant les opérations d'activation ou de retour arrière en cours, l'UCM devrait bloquer strictement tout appel de modification concurrent afin d'éviter les situations de compétition lors du basculement de partition (EXP_SWArchitecture p. 185). Question Q-60859031e6230a65 (ouverte) L'UCM acquitte les identifiants de session non valides ou inconnus par l'erreur applicative kTransferIdInvalid ([SWS_UCM_00348], [SWS_UCM_00351]).
Preuves détaillées supplémentaires
L'architecture de l'UCM et son intégration orientée services sont obligatoirement ancrées dans les spécifications fondamentales suivantes :
PackageManagementInterface de service et protocole de transfert : [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 85.- Traitement, transitions d'état et traitement des erreurs : [SWS_UCM_00349], [SWS_UCM_00350], [SWS_UCM_00352], [SWS_UCM_00353], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38.
- Inspection de statut, modèle de données de cluster logiciel et historique : [SWS_UCM_00355], [SWS_UCM_00356], [SWS_UCM_00357], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 86, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 87.
- Coordination multi-ECU et interaction avec le Vehicle UCM : [SWS_UCM_00343], SWS_VehicleUpdateAndConfigurationManagement p. 16, TPS_ManifestSpecification p. 631.
Ce guide repose exclusivement sur les exigences normatives et les artefacts d'architecture de l'AUTOSAR Adaptive Platform Release R25-11.
service method: 20 service field: 1
Interfaces de service
PackageManagementInterfaces de service
PackageManagementCarte des thèmes
Aucune donnée d'élément pour cette version
Interfaces de service
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Interfaces de service (modélisées via ara::com)
- PackageManagement 21 Mitglieder
gemini-3.8-flash-low· 2026-10-13 · Original allemand