DEENESPTFRRUARHIKOZHNL

módulo ara::ucm — Update and Configuration Management

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

Guía del móduloGENERADO POR IA

Gestiona la transferencia segura, la verificación y la activación de paquetes de software en la Adaptive Platform.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4ab0b48693a4 Procedencia Preguntas abiertas (2)
Ancla causal: R25-11 Válido desde R25-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Gestiona la transferencia segura, la verificación y la activación de paquetes de software en la Adaptive Platform.

El Functional Cluster Update and Configuration Management controla la instalación transaccional, verificación y activación de paquetes de software en una máquina Adaptive (AUTOSAR_AP_EXP_SWArchitecture p. 138). La interfaz de servicio PackageManagement implementa para ello una canalización de tres fases compuesta por transferencia de datos, procesamiento de paquetes y posterior conmutación a través de Activate ([SWS_UCM_00352]). En caso de errores o dependencias faltantes, mecanismos estandarizados como Rollback y RevertProcessedSwPackages garantizan la restauración segura del estado anterior del sistema ([SWS_UCM_00350], [SWS_UCM_00353]).

Update and Configuration Management (UCM) es un Functional Cluster basado en daemon de la AUTOSAR Adaptive Platform que proporciona la interfaz orientada a servicios PackageManagement a través de ara::com ([SWS_UCM_00361], AUTOSAR_AP_EXP_SWArchitecture p. 138). UCM actúa como órgano de ejecución local para clientes OTA, aplicaciones de diagnóstico o el Vehicle Update and Configuration Management (V-UCM) a escala de todo el vehículo, y en configuraciones multi-ECU se direcciona mediante un identificador de instancia único en todo el vehículo a través de GetId ([SWS_UCM_00343], TPS_ManifestSpecification p. 631).

El flujo de actualización se desarrolla en tres fases: transferencia de datos, procesamiento y activación (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). Los paquetes de software pueden transmitirse en streaming por bloques en cualquier momento a través de TransferStart, TransferData y TransferExit, o registrarse mediante RegisterSoftwarePackage como una ruta de URI existente ([SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346]). Las transferencias que ya no se necesiten pueden eliminarse con DeleteTransfer ([SWS_UCM_00348]).

Secuencia de la transferencia de paquetes de softwareClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopPara cada bloque de datosTransferData(id, data, blockCounter)ConfirmaciónTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Diagrama de secuencias: Transferencia de un paquete de software mediante streaming por bloques o registro directo de URI. Fuentes: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 137.

El procesamiento se inicia con ProcessSwPackage, con lo cual UCM verifica los manifiestos de paquetes y las firmas, descomprime los clústeres de destino y muestra el progreso en el campo de estado CurrentStatus así como a través de GetProgress ([SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361]). Tras una preparación correcta, Activate conmuta a los nuevos clústeres en coordinación con State Management y Execution Management, tras lo cual Finish limpia los datos de origen temporales ([SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77).

Flujo de trabajo de activación y finalizaciónClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenIniciar nuevos procesos de los Software ClustersStopUpdateSession()Retorno de Activate (éxito)Finish()Eliminar fuentes temporales de paquetes & establecer clústeres en kPresentRetorno de Finish

Diagrama de secuencias: Activación, transición de estado de la plataforma y limpieza de los paquetes de software. Fuentes: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77.

Los procesamientos erróneos conducen al estado kProcessingFailed, mientras que las campañas incompletas se revierten transaccionalmente al estado inicial con RevertProcessedSwPackages antes de la activación y con Rollback tras una conmutación fallida ([SWS_UCM_00350], [SWS_UCM_00353], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38). Para la inspección del estado y la auditoría se utilizan GetSwClusterInfo, GetSwClusterChangeInfo y GetHistory ([SWS_UCM_00355], [SWS_UCM_00356], [SWS_UCM_00357]).

Rol y límites funcionales del sistema en el conjunto de la plataforma

El Functional Cluster Update and Configuration Management (UCM) constituye el componente de plataforma central de la AUTOSAR Adaptive Platform para la actualización, instalación y desinstalación segura y transaccional de software de aplicación y de plataforma a nivel de máquina (AUTOSAR_AP_EXP_SWArchitecture p. 138). Técnicamente, UCM está implementado como un servicio en segundo plano de todo el sistema (daemon-based) y proporciona su funcionalidad principal a través de la interfaz de servicio primaria ara::com PackageManagement ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 90). Entre las entidades consumidoras se incluyen clientes Over-the-Air internos del vehículo (clientes OTA), testers de diagnóstico a través de Diagnostic Management, así como coordinadores de nivel superior como Vehicle Update and Configuration Management (V-UCM) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 17).

Dentro de una arquitectura de vehículo multinivel, UCM actúa como órgano de ejecución local (UCM Subordinate), mientras que V-UCM, centralizado en el vehículo, orquesta campañas basadas en software a través de varias unidades de control (SWS_VehicleUpdateAndConfigurationManagement p. 16, AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement p. 12). Para permitir al orquestador central direccionar múltiples instancias distribuidas de UCM en diferentes máquinas, cada instancia proporciona su identificador único a través del método GetId ([SWS_UCM_00343]). De acuerdo con las especificaciones del manifiesto, este identificador debe configurarse de forma única para cada máquina en todo el vehículo (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 Control de procesos (Stop/Start) fs Lokaler Speicher / Partitionen ucm->fs Paketablage & A/B-Umschaltung

Diagrama de contexto: Integración funcional del daemon UCM en la Adaptive Platform e interacción con clientes y clústeres de la plataforma. Fuentes: AUTOSAR_AP_EXP_SWArchitecture p. 138, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 17, SWS_VehicleUpdateAndConfigurationManagement p. 16.

Provisión y transferencia de paquetes de software

El ciclo de vida de una actualización de software se divide por defecto en las tres macrofases de transferencia de datos (Data Transmission), procesamiento de paquetes (Processing) y activación (Activation) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). Una característica arquitectónica esencial de UCM es el desacoplamiento de la transferencia de datos respecto a los estados internos de procesamiento y gestión de paquetes: los paquetes de software pueden transferirse a la máquina en cualquier momento durante el funcionamiento normal (SWS_UpdateAndConfigurationManagement p. 38).

Para la provisión de paquetes de software, la interfaz PackageManagement define dos mecanismos complementarios:

  • Streaming por bloques: El cliente inicia la transferencia mediante la llamada a TransferStart indicando el tamaño total en bytes y recibe un TransferIdType único, así como el tamaño de bloque máximo permitido ([SWS_UCM_00345]). A continuación, los fragmentos de datos se transmiten secuencialmente con TransferData y un contador de bloques consecutivo ([SWS_UCM_00346], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136). La conclusión formal la constituye la llamada al método TransferExit ([SWS_UCM_00347]).
  • Registro basado en URI: Si el paquete ya se ha proporcionado fuera de UCM (p. ej., a través de un gestor de descargas en segundo plano o almacenamiento previo en el sistema de archivos local), el cliente puede registrar el paquete a través de RegisterSoftwarePackage especificando una ruta de URI estandarizada ([SWS_UCM_00344], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 137).

En ambos casos, UCM asigna al paquete un TransferId único, a través del cual se referencian todas las acciones posteriores. Los paquetes transferidos pero aún no procesados pueden eliminarse explícitamente de la memoria temporal con DeleteTransfer en caso de cancelación o limpieza de memoria ([SWS_UCM_00348]).

Secuencia de la transferencia de paquetes de softwareClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopPara cada bloque de datosTransferData(id, data, blockCounter)ConfirmaciónTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Diagrama de secuencias: Transferencia de un paquete de software mediante streaming por bloques o registro directo de URI. Fuentes: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 137.

Procesamiento y verificación en el UCM local

Tras la transferencia o el registro correcto, el cliente inicia el procesamiento del paquete mediante el método ProcessSwPackage ([SWS_UCM_00349]). El procesamiento comprende la extracción de los clústeres de software, la lectura de los manifiestos, comprobaciones de integridad y autenticidad, así como la validación estática de dependencias de clústeres (EXP_SWArchitecture p. 185). Un único paquete de software puede encapsular ejecutables de Adaptive Applications, actualizaciones del sistema operativo o del firmware, así como datos de configuración y calibración (SWS_UpdateAndConfigurationManagement p. 27).

La llamada a ProcessSwPackage sitúa el Service-Field CurrentStatus en el estado kProcessing ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 123). Los clientes pueden suscribirse al Field o monitorizar el progreso actual a través del método de consulta GetProgress ([SWS_UCM_00360]). Además, GetSwPackages permite consultar todos los paquetes de software conocidos actualmente en UCM y su estado de procesamiento ([SWS_UCM_00359]). Los pasos de procesamiento prolongados en curso pueden interrumpirse en caso necesario con Suspend y continuarse en un momento posterior mediante Resume ([SWS_UCM_00397], [SWS_UCM_00398]). Si se cancela el procesamiento, la operación puede detenerse de forma controlada con Cancel ([SWS_UCM_00351]).

Procesamiento de paquetes y monitorización del progresoClientUCM: PackageManagementSubscribe(CurrentStatus)CurrentStatus = kReadyProcessSwPackage(transferId)CurrentStatus = kProcessing (Notifier)Retorno de ProcessSwPackageloopActivo durante el procesamientoGetProgress()progressInformationComprobar la integridad & descomprimir el clústerCurrentStatus = kReady (Notifier)

Diagrama de secuencias: Procesamiento de paquetes con transición de estado y monitorización del progreso. Fuentes: [SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 123.

Flujo de trabajo de activación y cambio de estado de la plataforma

Si todos los paquetes previstos para una campaña se han procesado correctamente, el cliente inicia la puesta en servicio de los nuevos clústeres de software con la llamada síncrona a Activate ([SWS_UCM_00352]). El requisito previo para ello es que UCM se encuentre en un estado de reposo consistente y no haya tareas activas de procesamiento o cancelación en ejecución (EXP_SWArchitecture p. 185). UCM coordina estrechamente el paso de activación con State Management (SM) y Execution Management (EM): los procesos en ejecución de la versión anterior se finalizan de forma ordenada, las estructuras de datos de persistencia se migran y se inician las nuevas instancias de aplicación (AUTOSAR_AP_EXP_PlatformDesign p. 77).

El metamodelo de manifiesto de la Adaptive Platform admite pasos de activación multinivel (SoftwarePackageStep), con lo cual el orden del procesamiento de paquetes puede desacoplarse de forma flexible respecto a la preparación y el momento efectivo de la conmutación (activationSwitch=True) (AUTOSAR_TPS_ManifestSpecification p. 642). Tras una conmutación correcta y la verificación de las nuevas versiones de software, el cliente concluye la campaña con Finish ([SWS_UCM_00354]). Esta llamada realiza una limpieza definitiva, elimina los paquetes de origen del almacenamiento temporal y transfiere los clústeres de software al estado permanente (EXP_SWArchitecture p. 138).

Flujo de trabajo de activación y finalizaciónClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenIniciar nuevos procesos de los Software ClustersStopUpdateSession()Retorno de Activate (éxito)Finish()Eliminar fuentes temporales de paquetes & establecer clústeres en kPresentRetorno de Finish

Diagrama de secuencias: Activación, transición de estado de la plataforma y limpieza de los paquetes de software. Fuentes: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign p. 77.

Ciclo de vida de clústeres, APIs de consulta e historial de auditoría

Los clústeres de software (SwCluster) poseen un ciclo de vida bien definido: tras un procesamiento correcto mediante ProcessSwPackage, un clúster recién añadido pasa al estado kAdded, mientras que un clúster actualizado adopta el estado kUpdating (SWS_UpdateAndConfigurationManagement p. 24). Solo con la llamada final a Finish tras la activación, estos clústeres pasan al estado productivo estable kPresent (SWS_UpdateAndConfigurationManagement p. 24). Para los propios paquetes de software existen autómatas de estados desacoplados: el TransferState (estados kTransferring, kTransferred) y el ProcessingState (estados kReady, kProcessing, kProcessed, kProcessingFailed) permiten también escenarios de streaming puro sin almacenamiento intermedio previo de todo el paquete (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38).

En tiempo de ejecución, UCM proporciona completas interfaces de información para la inspección del sistema:

  • GetSwClusterInfo proporciona una lista de todos los clústeres de software actualmente activos en el estado kPresent junto con los identificadores de versión ([SWS_UCM_00357]).
  • GetSwClusterChangeInfo notifica todos los cambios pendientes (clústeres por añadir, actualizar o eliminar) antes de la activación final ([SWS_UCM_00356]).
  • GetSwClusterManifestInfo permite la consulta selectiva de detalles del manifiesto de un determinado clúster de software instalado ([SWS_UCM_00358]).
  • GetHistory permite la lectura de un registro de auditoría cronológico de todas las acciones del UCM dentro de un intervalo de tiempo definido para un seguimiento exhaustivo en la gestión de flotas ([SWS_UCM_00355], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 86).
ucm_package_lifecycle cluster_transfer TransferState cluster_processing ProcessingState t_init comenzar 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 comenzar 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

Diagrama de estados: máquinas de estados desacopladas para la transferencia de datos y el procesamiento de un paquete de software. Fuentes: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38, AUTOSAR_SWS_UpdateAndConfigManagement p. 20.

ucm_cluster_state c_init comenzar c_added kAdded c_init->c_added ProcessSwPackage (añadido recientemente) 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

Diagrama de estados: ciclo de vida de un cluster de software desde la preparación hasta la activación final. Fuentes: SWS_UpdateAndConfigurationManagement p. 24, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 87.

Comportamiento en caso de error y aseguramiento de transacciones

Para garantizar la seguridad funcional y la estabilidad del sistema de la ECU bajo todas las condiciones de funcionamiento, UCM impone comprobaciones de consistencia estrictas y ofrece mecanismos de repliegue para cada fase del proceso de actualización. Si la validación o la instalación fallan durante el procesamiento del paquete, el paquete afectado pasa al estado kProcessingFailed (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement p. 38). Si se deben descartar paquetes ya procesados antes de la activación, RevertProcessedSwPackages revierte de forma conjunta todos los cambios temporales de archivos y de configuración ([SWS_UCM_00350]).

Si durante el paso de activación se detecta un error —por ejemplo, debido a dependencias irresolubles (kDependencyMissing), asignaciones de memoria fallidas (kPersistencyAllocationFailed) o errores en la sesión de actualización con el State Management ([SWS_UCM_00352])—, UCM cancela la activación. En tal caso de error, el método Rollback restablece toda la plataforma al estado exacto previo al inicio del procesamiento del paquete ([SWS_UCM_00353]). Interpretación: en este caso, es probable que UCM recurra a estructuras de almacenamiento redundantes, como particiones A/B o instantáneas del sistema de archivos, para volver a poner en funcionamiento las versiones anteriores inalteradas sin pérdida de datos (AUTOSAR_AP_EXP_SWArchitecture p. 138). Pregunta Q-8d85be7343a9aace (abierta)

En el nivel de interfaz, las llamadas no permitidas (p. ej., intentos de activación con paquetes faltantes o llamadas paralelas durante operaciones activas) se rechazan de forma determinista mediante el código de error kOperationNotPermitted ([SWS_UCM_00347], [SWS_UCM_00352]). Interpretación: es probable que UCM bloquee estrictamente cualquier llamada concurrente de modificación durante las operaciones de activación o de reversión en curso para evitar condiciones de carrera al conmutar particiones (EXP_SWArchitecture p. 185). Pregunta Q-60859031e6230a65 (abierta) UCM responde a identificadores de sesión inválidos o desconocidos con el error de aplicación kTransferIdInvalid ([SWS_UCM_00348], [SWS_UCM_00351]).

Más evidencia detallada

La arquitectura del UCM y su integración orientada a servicios están formalizadas de manera vinculante en las siguientes especificaciones principales:

Esta guía se basa exclusivamente en los requisitos normativos y los artefactos de arquitectura de la Adaptive Platform Release R25-11 de AUTOSAR.

service method: 20 service field: 1

Mapa de temas

Interfaces de servicio

1

Vista de detalle

Selecciona una entrada en el índice.

Interfaces de servicio

PackageManagement interfaz de servicio

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

Interfaces de servicio (modeladas vía ara::com)