DEENESPTFRRUARHIKOZHNL

модуль ara::ucm — Update and Configuration Management

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

Руководство по модулюСОЗДАНО ИИ

Управляет безопасной передачей, верификацией и активацией пакетов программного обеспечения на Adaptive Platform.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4ab0b48693a4 Происхождение Открытые вопросы (2)
Причинный якорь: R25-11 Действует с R25-11 Заново синтезировано для этой версии спецификации.
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Управляет безопасной передачей, верификацией и активацией пакетов программного обеспечения на 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]).

Последовательность передачи пакета ПОClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopДля каждого блока данныхTransferData(id, data, blockCounter)ПодтверждениеTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Диаграмма последовательности: передача пакета программного обеспечения посредством блочной потоковой передачи или прямой регистрации 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).

Рабочий процесс активации и финализацияClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenЗапуск новых процессов программных кластеровStopUpdateSession()Возврат Activate (успех)Finish()Удаление временных источников пакетов & перевод кластера в kPresentВозврат Finish

Диаграмма последовательности: активация, переход состояния платформы и очистка пакетов программного обеспечения. Источники: [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_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 Управление процессами (останов/запуск) fs Lokaler Speicher / Partitionen ucm->fs Paketablage & A/B-Umschaltung

Контекстная диаграмма: функциональное встраивание демона 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]).

Последовательность передачи пакета ПОClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopДля каждого блока данныхTransferData(id, data, blockCounter)ПодтверждениеTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Диаграмма последовательности: передача пакета программного обеспечения посредством блочной потоковой передачи или прямой регистрации 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]).

Обработка пакета и мониторинг прогрессаClientUCM: PackageManagementSubscribe(CurrentStatus)CurrentStatus = kReadyProcessSwPackage(transferId)CurrentStatus = kProcessing (Notifier)Возврат ProcessSwPackageloopАктивно во время обработкиGetProgress()progressInformationПроверка целостности & распаковка кластераCurrentStatus = kReady (Notifier)

Диаграмма последовательности: обработка пакета со сменой состояния и мониторингом хода выполнения. Источники: [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).

Рабочий процесс активации и финализацияClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenЗапуск новых процессов программных кластеровStopUpdateSession()Возврат Activate (успех)Finish()Удаление временных источников пакетов & перевод кластера в kPresentВозврат Finish

Диаграмма последовательности: активация, переход состояния платформы и очистка пакетов программного обеспечения. Источники: [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).
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

Диаграмма состояний: Раздельные автоматы состояний для передачи данных и обработки программного пакета. Источники: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement с. 38, AUTOSAR_SWS_UpdateAndConfigManagement с. 20.

ucm_cluster_state c_init Start c_added kAdded c_init->c_added ProcessSwPackage (добавлен новый) 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

Диаграмма состояний: Жизненный цикл программного кластера от подготовки до финальной активации. Источники: 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 и ее сервисно-ориентированное встраивание нормативно закреплены в следующих ключевых спецификациях:

Настоящее руководство основано исключительно на нормативных требованиях и архитектурных артефактах релиза AUTOSAR Adaptive Platform R25-11.

service method: 20 service field: 1

Карта тем

Сервисные интерфейсы

1

Подробный вид

Выберите элемент в оглавлении.

Сервисные интерфейсы

PackageManagement сервисный интерфейс

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

Сервисные интерфейсы (моделируются через ara::com)