модуль ara::ucm — Update and Configuration Management
Руководство по модулюСОЗДАНО ИИ
Управляет безопасной передачей, верификацией и активацией пакетов программного обеспечения на Adaptive Platform.
Управляет безопасной передачей, верификацией и активацией пакетов программного обеспечения на Adaptive Platform.
Функциональный кластер Update and Configuration Management управляет транзакционной установкой, верификацией и активацией пакетов программного обеспечения на машине Adaptive (AUTOSAR_AP_EXP_SWArchitecture с. 138). Сервисный интерфейс PackageManagement реализует для этого трехфазный конвейер из передачи данных, обработки пакетов и последующего переключения через Activate ([SWS_UCM_00352]). При возникновении ошибок или отсутствии зависимостей стандартизированные механизмы, такие как Rollback и RevertProcessedSwPackages, гарантируют безопасное восстановление предыдущего состояния системы ([SWS_UCM_00350], [SWS_UCM_00353]).
Update and Configuration Management (UCM) представляет собой основанный на демоне Functional Cluster платформы AUTOSAR Adaptive Platform, который предоставляет сервис-ориентированный интерфейс PackageManagement через ara::com ([SWS_UCM_00361], AUTOSAR_AP_EXP_SWArchitecture с. 138). UCM выступает в качестве локального исполнительного органа для OTA-клиентов, диагностических приложений или общеавтомобильного Vehicle Update and Configuration Management (V-UCM) и в конфигурациях с несколькими ECU адресуется через глобально уникальный для автомобиля идентификатор экземпляра с помощью GetId ([SWS_UCM_00343], TPS_ManifestSpecification с. 631).
Процесс обновления протекает в три этапа: передача данных, обработка и активация (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 136). Пакеты программного обеспечения можно в любой момент передавать потоком блоками через TransferStart, TransferData и TransferExit либо регистрировать через RegisterSoftwarePackage как существующий путь URI ([SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346]). Более ненужные передачи можно удалить с помощью DeleteTransfer ([SWS_UCM_00348]).
Диаграмма последовательности: передача пакета программного обеспечения посредством блочной потоковой передачи или прямой регистрации URI. Источники: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 137.
Обработка запускается с помощью ProcessSwPackage, при этом UCM проверяет манифесты пакетов и подписи, распаковывает целевые кластеры и отображает ход выполнения в поле состояния CurrentStatus, а также через GetProgress ([SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361]). После успешной подготовки Activate по согласованию со State Management и Execution Management переключается на новые кластеры, после чего Finish очищает временные исходные данные ([SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign с. 77).
Диаграмма последовательности: активация, переход состояния платформы и очистка пакетов программного обеспечения. Источники: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign с. 77.
Ошибочные обработки приводят в состояние kProcessingFailed, тогда как незавершенные кампании до активации транзакционно откатываются к исходному состоянию с помощью RevertProcessedSwPackages, а после неудачного переключения — с помощью Rollback ([SWS_UCM_00350], [SWS_UCM_00353], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 38). Для инспекции состояния и аудита служат GetSwClusterInfo, GetSwClusterChangeInfo, а также GetHistory ([SWS_UCM_00355], [SWS_UCM_00356], [SWS_UCM_00357]).
Роль и функциональные границы системы в комплексе платформы
Функциональный кластер Update and Configuration Management (UCM) образует центральный платформенный компонент AUTOSAR Adaptive Platform для безопасного, транзакционного обновления, установки и удаления прикладного и платформенного программного обеспечения на уровне машины (AUTOSAR_AP_EXP_SWArchitecture с. 138). Технически UCM реализован как общесистемная фоновая служба (daemon-based) и предоставляет свою базовую функциональность через первичный сервисный интерфейс ara::com PackageManagement ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 90). К потребляющим сущностям относятся внутриавтомобильные клиенты Over-the-Air (OTA-клиенты), диагностические тестеры через Diagnostic Management, а также вышестоящие координаторы, такие как Vehicle Update and Configuration Management (V-UCM) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 17).
В рамках многоуровневой архитектуры автомобиля UCM действует как локальный исполнительный орган (UCM Subordinate), тогда как центральный для автомобиля V-UCM оркестрирует кампании на базе программного обеспечения по нескольким блокам управления (SWS_VehicleUpdateAndConfigurationManagement с. 16, AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement с. 12). Чтобы дать центральному оркестратору возможность адресовать несколько распределенных экземпляров UCM на разных машинах, каждый экземпляр предоставляет свой уникальный идентификатор через метод GetId ([SWS_UCM_00343]). Этот идентификатор должен быть сконфигурирован в соответствии с требованиями манифеста как уникальный для машины во всем автомобиле (TPS_ManifestSpecification с. 631).
Контекстная диаграмма: функциональное встраивание демона UCM в Adaptive Platform и взаимодействие с клиентами, а также кластерами платформы. Источники: AUTOSAR_AP_EXP_SWArchitecture с. 138, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 17, SWS_VehicleUpdateAndConfigurationManagement с. 16.
Предоставление и передача пакетов программного обеспечения
Жизненный цикл обновления программного обеспечения стандартно делится на три макрофазы: передача данных (Data Transmission), обработка пакетов (Processing) и активация (Activation) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 136). Важной архитектурной особенностью UCM является развязка передачи данных и внутренних состояний обработки и управления пакетами: пакеты программного обеспечения могут передаваться на машину в любой произвольный момент времени в ходе текущей эксплуатации (SWS_UpdateAndConfigurationManagement с. 38).
Для предоставления пакетов программного обеспечения интерфейс PackageManagement определяет два взаимодополняющих механизма:
- Блочная потоковая передача: клиент инициирует передачу вызовом
TransferStartс указанием общего размера в байтах и получает уникальныйTransferIdType, а также максимально допустимый размер блока ([SWS_UCM_00345]). Затем фрагменты данных передаются последовательно с помощьюTransferDataи непрерывного счетчика блоков ([SWS_UCM_00346], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 136). Формальное завершение образует вызов методаTransferExit([SWS_UCM_00347]). - Регистрация на основе URI: если пакет уже был предоставлен вне UCM (например, через фоновый менеджер загрузок или предварительное размещение в локальной файловой системе), клиент может зарегистрировать пакет через
RegisterSoftwarePackageс указанием стандартизированного пути URI ([SWS_UCM_00344], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 137).
В обоих случаях UCM присваивает пакету уникальный TransferId, через который адресуются все последующие действия. Переданные, но еще не обработанные пакеты могут быть явно удалены из временного хранилища с помощью DeleteTransfer при отмене или очистке памяти ([SWS_UCM_00348]).
Диаграмма последовательности: передача пакета программного обеспечения посредством блочной потоковой передачи или прямой регистрации URI. Источники: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 137.
Обработка и верификация в локальном UCM
После успешной передачи или регистрации клиент инициирует обработку пакета через метод ProcessSwPackage ([SWS_UCM_00349]). Обработка включает извлечение программных кластеров, считывание манифестов, проверки целостности и подлинности, а также статическую валидацию зависимостей кластеров (EXP_SWArchitecture с. 185). Отдельный пакет программного обеспечения может инкапсулировать исполняемые файлы Adaptive Applications, обновления операционной системы или прошивки, а также данные конфигурации и калибровки (SWS_UpdateAndConfigurationManagement с. 27).
Вызов ProcessSwPackage переводит поле службы CurrentStatus в состояние kProcessing ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 123). Клиенты могут подписаться на поле или отслеживать текущий ход выполнения через метод запроса GetProgress ([SWS_UCM_00360]). Дополнительно GetSwPackages позволяет запрашивать все известные в настоящее время в UCM пакеты программного обеспечения и их статус обработки ([SWS_UCM_00359]). Текущие трудоемкие шаги обработки при необходимости можно прервать с помощью Suspend и продолжить в более поздний момент времени с помощью Resume ([SWS_UCM_00397], [SWS_UCM_00398]). Если обработка отменяется, операцию можно контролируемо остановить с помощью Cancel ([SWS_UCM_00351]).
Диаграмма последовательности: обработка пакета со сменой состояния и мониторингом хода выполнения. Источники: [SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 123.
Рабочий процесс активации и смена состояния платформы
Когда все предусмотренные для кампании пакеты успешно обработаны, клиент инициирует активацию новых программных кластеров с помощью синхронного вызова Activate ([SWS_UCM_00352]). Необходимым условием для этого является нахождение UCM в согласованном состоянии покоя и отсутствие активных задач обработки или отмены (EXP_SWArchitecture с. 185). UCM тесно координирует этап активации со State Management (SM) и Execution Management (EM): работающие процессы старой версии корректно завершаются, структуры сохраняемых данных мигрируют и запускаются новые экземпляры приложений (AUTOSAR_AP_EXP_PlatformDesign с. 77).
Метамодель манифеста Adaptive Platform поддерживает многоэтапные шаги активации (SoftwarePackageStep), благодаря чему порядок обработки пакетов может гибко отделяться от подготовки и фактического момента переключения (activationSwitch=True) (AUTOSAR_TPS_ManifestSpecification с. 642). После успешного переключения и верификации новых версий ПО клиент завершает кампанию вызовом Finish ([SWS_UCM_00354]). Этот вызов выполняет окончательную очистку, удаляет исходные пакеты из временного хранилища и переводит программные кластеры в постоянное состояние (EXP_SWArchitecture с. 138).
Диаграмма последовательности: активация, переход состояния платформы и очистка пакетов программного обеспечения. Источники: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign с. 77.
Жизненный цикл кластеров, API запросов и история аудита
Программные кластеры (SwCluster) обладают четко определенным жизненным циклом: после успешной обработки через ProcessSwPackage вновь добавленный кластер переходит в состояние kAdded, тогда как обновленный кластер принимает состояние kUpdating (SWS_UpdateAndConfigurationManagement с. 24). Лишь после заключительного вызова Finish после активации эти кластеры переходят в стабильное рабочее состояние kPresent (SWS_UpdateAndConfigurationManagement с. 24). Для самих программных пакетов существуют раздельные автоматы состояний: TransferState (состояния kTransferring, kTransferred) и ProcessingState (состояния kReady, kProcessing, kProcessed, kProcessingFailed) допускают также чисто потоковые сценарии без предварительного промежуточного сохранения всего пакета (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 38).
Во время выполнения UCM предоставляет обширные информационные интерфейсы для инспекции системы:
GetSwClusterInfoвозвращает список всех активных в данный момент программных кластеров в состоянииkPresentвместе с идентификаторами версий ([SWS_UCM_00357]).GetSwClusterChangeInfoсообщает обо всех предстоящих изменениях (добавляемых, обновляемых или удаляемых кластерах) перед финальной активацией ([SWS_UCM_00356]).GetSwClusterManifestInfoпозволяет выполнять целевой запрос сведений манифеста определенного установленного программного кластера ([SWS_UCM_00358]).GetHistoryдает возможность считывать хронологический журнал аудита всех действий UCM в пределах заданного временного интервала для сквозного отслеживания в управлении автопарком ([SWS_UCM_00355], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 86).
Диаграмма состояний: Раздельные автоматы состояний для передачи данных и обработки программного пакета. Источники: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 38, AUTOSAR_SWS_UpdateAndConfigManagement с. 20.
Диаграмма состояний: Жизненный цикл программного кластера от подготовки до финальной активации. Источники: SWS_UpdateAndConfigurationManagement с. 24, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 87.
Поведение при ошибках и транзакционная безопасность
Чтобы гарантировать функциональную безопасность и стабильность системы блока управления во всех режимах работы, UCM применяет строгие проверки согласованности и предоставляет механизмы отката для каждой фазы процесса обновления. Если при обработке пакета валидация или установка завершается сбоем, затронутый пакет переходит в состояние kProcessingFailed (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 38). Если уже обработанные пакеты необходимо отклонить до активации, RevertProcessedSwPackages выполняет пакетный сброс всех временных изменений файлов и конфигурации ([SWS_UCM_00350]).
Если во время этапа активации обнаруживается ошибка — например, из-за неразрешимых зависимостей (kDependencyMissing), неудачных выделений памяти (kPersistencyAllocationFailed) или ошибок в сеансе обновления со State Management ([SWS_UCM_00352]), — UCM прерывает активацию. В таком случае сбоя метод Rollback возвращает всю платформу в точное состояние, предшествовавшее началу обработки пакетов ([SWS_UCM_00353]). Интерпретация: при этом UCM, вероятно, задействует избыточные структуры хранения, такие как разделы A/B или моментальные снимки файловой системы, чтобы возобновить работу неизмененных старых версий без потери данных (AUTOSAR_AP_EXP_SWArchitecture с. 138). Вопрос Q-8d85be7343a9aace (открытый)
На уровне интерфейса недопустимые вызовы (например, попытки активации при отсутствующих пакетах или параллельные вызовы во время активных операций) детерминированно отклоняются с кодом ошибки kOperationNotPermitted ([SWS_UCM_00347], [SWS_UCM_00352]). Интерпретация: UCM, вероятно, строго блокирует любые параллельные модифицирующие вызовы во время текущих процессов активации или отката, чтобы предотвратить состояния гонки при переключении разделов (EXP_SWArchitecture с. 185). Вопрос Q-60859031e6230a65 (открытый) Недействительные или неизвестные идентификаторы сеансов UCM квитирует прикладной ошибкой kTransferIdInvalid ([SWS_UCM_00348], [SWS_UCM_00351]).
Дальнейшие подробные доказательства
Архитектура UCM и ее сервисно-ориентированное встраивание нормативно закреплены в следующих ключевых спецификациях:
PackageManagementСервисный интерфейс и протокол передачи: [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 85.- Обработка, переходы состояний и обработка ошибок: [SWS_UCM_00349], [SWS_UCM_00350], [SWS_UCM_00352], [SWS_UCM_00353], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 38.
- Инспекция состояния, модель данных программных кластеров и история: [SWS_UCM_00355], [SWS_UCM_00356], [SWS_UCM_00357], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 86, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 87.
- Координация нескольких ECU и взаимодействие с Vehicle UCM: [SWS_UCM_00343], SWS_VehicleUpdateAndConfigurationManagement с. 16, TPS_ManifestSpecification с. 631.
Настоящее руководство основано исключительно на нормативных требованиях и архитектурных артефактах релиза AUTOSAR Adaptive Platform R25-11.
service method: 20 service field: 1
Сервисные интерфейсы
PackageManagementСервисные интерфейсы
PackageManagementКарта тем
Для этого релиза нет данных об элементах
Сервисные интерфейсы
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Сервисные интерфейсы (моделируются через ara::com)
- PackageManagement 21 Mitglieder
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал