DEENESPTFRRUARHIKOZHNL

Modul ara::ucm — Update and Configuration Management

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

Modul-GuideKI-GENERIERT

Verwaltet den sicheren Transfer, die Verifikation und die Aktivierung von Softwarepaketen auf der Adaptive Platform.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4ab0b48693a4 Herkunft Offene Fragen (2)
Kausaler Anker: R25-11 Gültig ab R25-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwaltet den sicheren Transfer, die Verifikation und die Aktivierung von Softwarepaketen auf der Adaptive Platform.

Das funktionale Cluster Update and Configuration Management steuert die transaktionale Installation, Verifikation und Aktivierung von Software-Paketen auf einer Adaptive-Maschine (AUTOSAR_AP_EXP_SWArchitecture S. 138). Die Dienstschnittstelle PackageManagement realisiert hierzu eine dreiphasige Pipeline aus Datenübertragung, Paketverarbeitung und anschließender Umschaltung via Activate ([SWS_UCM_00352]). Bei auftretenden Fehlern oder fehlenden Abhängigkeiten gewährleisten standardisierte Mechanismen wie Rollback und RevertProcessedSwPackages die sichere Wiederherstellung des vorherigen Systemzustands ([SWS_UCM_00350], [SWS_UCM_00353]).

Das Update and Configuration Management (UCM) ist ein daemon-basierter Functional Cluster der AUTOSAR Adaptive Platform, der das serviceorientierte Interface PackageManagement über ara::com bereitstellt ([SWS_UCM_00361], AUTOSAR_AP_EXP_SWArchitecture S. 138). UCM fungiert als lokales Ausführungsorgan für OTA-Clients, Diagnoseanwendungen oder das fahrzeugweite Vehicle Update and Configuration Management (V-UCM) und wird bei Multi-ECU-Konfigurationen über eine fahrzeugweit eindeutige Instanzkennung mittels GetId adressiert ([SWS_UCM_00343], TPS_ManifestSpecification S. 631).

Der Aktualisierungsablauf vollzieht sich in drei Phasen: Datenübertragung, Verarbeitung und Aktivierung (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 136). Software-Pakete können jederzeit blockweise via TransferStart, TransferData und TransferExit gestreamt oder über RegisterSoftwarePackage als vorhandener URI-Pfad registriert werden ([SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346]). Nicht mehr benötigte Transfers lassen sich mit DeleteTransfer entfernen ([SWS_UCM_00348]).

Ablauf der Software-PaketübertragungClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopFür jeden DatenblockTransferData(id, data, blockCounter)BestätigungTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Sequenzdiagramm: Übertragung eines Software-Pakets via blockweisem Streaming oder direkter URI-Registrierung. Quellen: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 137.

Die Verarbeitung wird mit ProcessSwPackage ausgelöst, wobei UCM Paketmanifeste und Signaturen prüft, die Ziel-Cluster entpackt und den Fortschritt im Statusfeld CurrentStatus sowie über GetProgress anzeigt ([SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361]). Nach erfolgreicher Vorbereitung schaltet Activate in Abstimmung mit State Management und Execution Management auf die neuen Cluster um, woraufhin Finish temporäre Quelldaten bereinigt ([SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign S. 77).

Aktivierungsworkflow und FinalisierungClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenNeue Prozesse der Software-Cluster startenStopUpdateSession()Activate Rückgabe (Erfolg)Finish()Temporäre Paketquellen löschen & Cluster auf kPresent setzenFinish Rückgabe

Sequenzdiagramm: Aktivierung, Plattform-Zustandsübergang und Bereinigung der Software-Pakete. Quellen: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign S. 77.

Fehlerhafte Verarbeitungen führen in den Zustand kProcessingFailed, während unvollständige Kampagnen vor der Aktivierung mit RevertProcessedSwPackages und nach fehlgeschlagener Umschaltung mit Rollback transaktional auf den Ausgangsstand zurückgesetzt werden ([SWS_UCM_00350], [SWS_UCM_00353], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 38). Zur Statusinspektion und Auditierung dienen GetSwClusterInfo, GetSwClusterChangeInfo sowie GetHistory ([SWS_UCM_00355], [SWS_UCM_00356], [SWS_UCM_00357]).

Rolle und funktionale Systemgrenzen im Plattformverbund

Das funktionale Cluster Update and Configuration Management (UCM) bildet die zentrale Plattformkomponente der AUTOSAR Adaptive Platform zur sicheren, transaktionalen Aktualisierung, Installation und Deinstallation von Anwendungs- und Plattformsoftware auf Maschinenebene (AUTOSAR_AP_EXP_SWArchitecture S. 138). Technisch ist das UCM als systemweiter Hintergrunddienst (daemon-based) realisiert und stellt seine Kernfunktionalität über das primäre ara::com-Service-Interface PackageManagement bereit ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 90). Zu den konsumierenden Entitäten zählen fahrzeuginterne Over-the-Air-Clients (OTA-Clients), Diagnose-Tester via Diagnostic Management sowie übergeordnete Koordinatoren wie das Vehicle Update and Configuration Management (V-UCM) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 17).

Innerhalb einer mehrstufigen Fahrzeugarchitektur fungiert das UCM als lokales Ausführungsorgan (UCM Subordinate), während das fahrzeugzentrale V-UCM softwaregestützte Kampagnen über mehrere Steuergeräte hinweg orchestriert (SWS_VehicleUpdateAndConfigurationManagement S. 16, AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement S. 12). Um dem zentralen Orchestrator die Adressierung mehrerer verteilter UCM-Instanzen auf unterschiedlichen Maschinen zu ermöglichen, stellt jede Instanz über die Methode GetId ihren eindeutigen Bezeichner bereit ([SWS_UCM_00343]). Dieser Bezeichner muss gemäß Manifest-Vorgaben fahrzeugweit maschinenspezifisch eindeutig konfiguriert sein (TPS_ManifestSpecification S. 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 Prozess-Steuerung (Stop/Start) fs Lokaler Speicher / Partitionen ucm->fs Paketablage & A/B-Umschaltung

Kontextdiagramm: Funktionale Einbettung des UCM-Daemons in die Adaptive Platform und Interaktion mit Clients sowie Plattformclustern. Quellen: AUTOSAR_AP_EXP_SWArchitecture S. 138, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 17, SWS_VehicleUpdateAndConfigurationManagement S. 16.

Bereitstellung und Übertragung von Software-Paketen

Der Lebenszyklus einer Softwareaktualisierung gliedert sich standardmäßig in die drei Makro-Phasen Datenübertragung (Data Transmission), Paketverarbeitung (Processing) und Aktivierung (Activation) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 136). Ein wesentliches Architekturmerkmal des UCM ist die Entkopplung der Datenübertragung von den internen Verarbeitungs- und Paketmanagementzuständen: Software-Pakete können zu jedem beliebigen Zeitpunkt während des laufenden Betriebs auf die Maschine übertragen werden (SWS_UpdateAndConfigurationManagement S. 38).

Für die Bereitstellung von Software-Paketen definiert die Schnittstelle PackageManagement zwei komplementäre Mechanismen:

  • Blockweises Streaming: Der Client initiiert die Übertragung durch Aufruf von TransferStart unter Angabe der Gesamtgröße in Bytes und erhält eine eindeutige TransferIdType sowie die maximal zulässige Blockgröße ([SWS_UCM_00345]). Anschließend werden die Datenfragmente sequenziell mit TransferData und fortlaufendem Blockzähler übertragen ([SWS_UCM_00346], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 136). Den formalen Abschluss bildet der Methodenaufruf TransferExit ([SWS_UCM_00347]).
  • URI-basierte Registrierung: Wurde das Paket bereits außerhalb von UCM (z. B. über einen Hintergrund-Download-Manager oder Vorabablage im lokalen Dateisystem) bereitgestellt, kann der Client das Paket über RegisterSoftwarePackage unter Angabe eines standardisierten URI-Pfads registrieren ([SWS_UCM_00344], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 137).

In beiden Fällen weist UCM dem Paket eine eindeutige TransferId zu, über welche alle nachfolgenden Aktionen referenziert werden. Übertragene, aber noch nicht verarbeitete Pakete können bei Abbruch oder Speicherbereinigung mit DeleteTransfer explizit aus dem temporären Speicher entfernt werden ([SWS_UCM_00348]).

Ablauf der Software-PaketübertragungClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopFür jeden DatenblockTransferData(id, data, blockCounter)BestätigungTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

Sequenzdiagramm: Übertragung eines Software-Pakets via blockweisem Streaming oder direkter URI-Registrierung. Quellen: [SWS_UCM_00344], [SWS_UCM_00345], [SWS_UCM_00346], [SWS_UCM_00347], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 136, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 137.

Verarbeitung und Verifikation im lokalen UCM

Nach erfolgreicher Übertragung oder Registrierung stößt der Client über die Methode ProcessSwPackage die Verarbeitung des Pakets an ([SWS_UCM_00349]). Die Verarbeitung umfasst das Extrahieren der Software-Cluster, das Einlesen der Manifeste, Integritäts- und Authentizitätsprüfungen sowie die statische Validierung von Cluster-Abhängigkeiten (EXP_SWArchitecture S. 185). Ein einzelnes Software-Paket kann Executables von Adaptive Applications, Betriebssystem- oder Firmware-Updates sowie Konfigurations- und Kalibrierungsdaten kapseln (SWS_UpdateAndConfigurationManagement S. 27).

Der Aufruf von ProcessSwPackage versetzt das Service-Field CurrentStatus in den Zustand kProcessing ([SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 123). Clients können das Field abonnieren oder den aktuellen Fortschritt über die Abfragemethode GetProgress überwachen ([SWS_UCM_00360]). Zusätzlich gestattet GetSwPackages die Abfrage aller aktuell im UCM bekannten Software-Pakete und deren Bearbeitungsstatus ([SWS_UCM_00359]). Laufende zeitintensive Verarbeitungsschritte lassen sich bei Bedarf mit Suspend unterbrechen und zu einem späteren Zeitpunkt mittels Resume fortführen ([SWS_UCM_00397], [SWS_UCM_00398]). Wird die Verarbeitung abgebrochen, kann der Vorgang mit Cancel kontrolliert gestoppt werden ([SWS_UCM_00351]).

Paketverarbeitung und FortschrittsüberwachungClientUCM: PackageManagementSubscribe(CurrentStatus)CurrentStatus = kReadyProcessSwPackage(transferId)CurrentStatus = kProcessing (Notifier)Rückgabe ProcessSwPackageloopWährend Verarbeitung aktivGetProgress()progressInformationIntegrität prüfen & Cluster entpackenCurrentStatus = kReady (Notifier)

Sequenzdiagramm: Paketverarbeitung mit Statusübergang und Fortschrittsüberwachung. Quellen: [SWS_UCM_00349], [SWS_UCM_00360], [SWS_UCM_00361], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 123.

Aktivierungsworkflow und Plattform-Zustandswechsel

Sind alle für eine Kampagne vorgesehenen Pakete erfolgreich verarbeitet, leitet der Client mit dem synchronen Aufruf von Activate die Scharfschaltung der neuen Software-Cluster ein ([SWS_UCM_00352]). Voraussetzung hierfür ist, dass sich das UCM in einem konsistenten Ruhezustand befindet und keine aktiven Verarbeitungs- oder Abbruchtasks laufen (EXP_SWArchitecture S. 185). UCM koordiniert den Aktivierungsschritt eng mit dem State Management (SM) und dem Execution Management (EM): Laufende Prozesse der alten Version werden geordnet beendet, Persistenzdatenstrukturen migriert und die neuen Applikationsinstanzen gestartet (AUTOSAR_AP_EXP_PlatformDesign S. 77).

Das Manifest-Metamodell der Adaptive Platform unterstützt mehrstufige Aktivierungsschritte (SoftwarePackageStep), wodurch die Reihenfolge der Paketverarbeitung flexibel von der Vorbereitung und dem eigentlichen Umschaltzeitpunkt (activationSwitch=True) entkoppelt werden kann (AUTOSAR_TPS_ManifestSpecification S. 642). Nach erfolgreicher Umschaltung und Verifikation der neuen Softwarestände schließt der Client die Kampagne mit Finish ab ([SWS_UCM_00354]). Dieser Aufruf führt eine endgültige Bereinigung durch, löscht die Quellpakete aus dem temporären Speicher und überführt die Software-Cluster in den dauerhaften Zustand (EXP_SWArchitecture S. 138).

Aktivierungsworkflow und FinalisierungClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenNeue Prozesse der Software-Cluster startenStopUpdateSession()Activate Rückgabe (Erfolg)Finish()Temporäre Paketquellen löschen & Cluster auf kPresent setzenFinish Rückgabe

Sequenzdiagramm: Aktivierung, Plattform-Zustandsübergang und Bereinigung der Software-Pakete. Quellen: [SWS_UCM_00352], [SWS_UCM_00354], AUTOSAR_AP_EXP_PlatformDesign S. 77.

Cluster-Lebenszyklus, Abfrage-APIs und Audit-Historie

Software-Cluster (SwCluster) besitzen einen wohldefinierten Lebenszyklus: Nach erfolgreicher Abarbeitung via ProcessSwPackage wechselt ein neu hinzugefügter Cluster in den Zustand kAdded, während ein aktualisierter Cluster den Zustand kUpdating einnimmt (SWS_UpdateAndConfigurationManagement S. 24). Erst mit dem abschließenden Aufruf von Finish nach der Aktivierung gehen diese Cluster in den stabilen Produktivzustand kPresent über (SWS_UpdateAndConfigurationManagement S. 24). Für Software-Pakete selbst existieren entkoppelte Zustandsautomaten: Der TransferState (Zustände kTransferring, kTransferred) und der ProcessingState (Zustände kReady, kProcessing, kProcessed, kProcessingFailed) gestatten auch reine Streaming-Szenarien ohne vorherige Zwischenspeicherung des gesamten Pakets (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 38).

Zur Laufzeit stellt das UCM umfassende Informationsschnittstellen zur Systeminspektion bereit:

  • GetSwClusterInfo liefert eine Liste aller aktuell aktiven Software-Cluster im Zustand kPresent samt Versionsbezeichnern ([SWS_UCM_00357]).
  • GetSwClusterChangeInfo meldet alle anstehenden Änderungen (hinzuzufügende, zu aktualisierende oder zu entfernende Cluster) vor der finalen Aktivierung ([SWS_UCM_00356]).
  • GetSwClusterManifestInfo erlaubt die gezielte Abfrage von Manifestdetails eines bestimmten installierten Software-Clusters ([SWS_UCM_00358]).
  • GetHistory ermöglicht das Auslesen eines chronologischen Audit-Trails aller UCM-Aktionen innerhalb eines definierten Zeitintervalls zur lückenlosen Nachverfolgung im Flottenmanagement ([SWS_UCM_00355], AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 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

Zustandsdiagramm: Entkoppelte Zustandsautomaten für Datentransfer und Verarbeitung eines Software-Pakets. Quellen: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 38, AUTOSAR_SWS_UpdateAndConfigManagement S. 20.

ucm_cluster_state c_init Start c_added kAdded c_init->c_added ProcessSwPackage (neu hinzugefügt) 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

Zustandsdiagramm: Lebenszyklus eines Software-Clusters von der Vorbereitung bis zur finalen Aktivierung. Quellen: SWS_UpdateAndConfigurationManagement S. 24, AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 87.

Verhalten im Fehlerfall und Transaktionsabsicherung

Um die funktionale Sicherheit und Systemstabilität des Steuergeräts unter allen Betriebsbedingungen zu gewährleisten, erzwingt UCM strikte Konsistenzprüfungen und bietet Rückfallmechanismen für jede Phase des Update-Prozesses. Schlägt die Validierung oder Installation während der Paketverarbeitung fehl, geht das betroffene Paket in den Zustand kProcessingFailed über (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement S. 38). Sollen bereits verarbeitete Pakete vor der Aktivierung verworfen werden, setzt RevertProcessedSwPackages alle temporären Datei- und Konfigurationsänderungen gesammelt zurück ([SWS_UCM_00350]).

Wird während des Aktivierungsschritts ein Fehler festgestellt – etwa durch unauflösbare Abhängigkeiten (kDependencyMissing), fehlgeschlagene Speicherallokationen (kPersistencyAllocationFailed) oder Fehler in der Update-Sitzung mit dem State Management ([SWS_UCM_00352]) –, bricht UCM die Aktivierung ab. In einem solchen Fehlerfall versetzt die Methode Rollback die gesamte Plattform in den exakten Zustand vor Beginn der Paketverarbeitung zurück ([SWS_UCM_00353]). Interpretation: Hierbei dürfte UCM auf redundante Speicherstrukturen wie A/B-Partitionen oder Dateisystem-Snapshots zurückgreifen, um die unveränderten Altversionen ohne Datenverlust wieder in Betrieb zu nehmen (AUTOSAR_AP_EXP_SWArchitecture S. 138). Frage Q-8d85be7343a9aace (offen)

Auf Schnittstellenebene werden unzulässige Aufrufe (z. B. Aktivierungsversuche bei fehlenden Paketen oder parallele Aufrufe während aktiver Operationen) deterministisch über den Fehlercode kOperationNotPermitted abgewiesen ([SWS_UCM_00347], [SWS_UCM_00352]). Interpretation: UCM dürfte während laufender Aktivierungs- oder Rollback-Vorgänge jegliche nebenläufigen Modifikationsaufrufe strikt blockieren, um Race Conditions bei der Partitionsumschaltung zu verhindern (EXP_SWArchitecture S. 185). Frage Q-60859031e6230a65 (offen) Ungültige oder unbekannte Sitzungsbezeichner quittiert UCM mit dem Anwendungsfehler kTransferIdInvalid ([SWS_UCM_00348], [SWS_UCM_00351]).

Weiterführende Detailbelege

Die Architektur des UCM und seine serviceorientierte Einbettung sind in den folgenden Kernspezifikationen verbindlich verankert:

Dieser Leitfaden basiert ausschließlich auf den normativen Anforderungen und Architekturartefakten des AUTOSAR Adaptive Platform Release R25-11.

service method: 20 service field: 1

Themenkarte

Service-Interfaces

1

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Service-Interfaces

PackageManagement service interface

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

Service-Interfaces (ara::com-modelliert)