AUTOSAR_AP_SWS_UpdateAndConfigurationManagement
FIG-6a8703e390c71798
977 × 1019 px
1 Release(s)
Figure 9.4: UCM composite structure - Information related (Part 2)
SHA-256 Inhalts-Fingerabdruck:
6a8703e390c71798fe75462ebf4dfa0f5a000b412d62772d7437d0916a6b710d
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Klassendiagramm / Datenstruktur- & Schnittstellendiagramm (AUTOSAR Adaptive Platform, Service Interface & Data Type Definition).
- Funktionale Einordnung: Spezifiziert die Informations- und Abfrageschnittstellen (
Getter) des Funktionsclusters Update and Configuration Management (UCM) gemäßAUTOSAR_AP_SWS_UpdateAndConfigurationManagement(R25-11). Es modelliert die Metadatenstrukturen für Software-Cluster (SwCluster), deren Versionsstände, Manifest-Informationen sowie die relationale Abhängigkeitsauflösung (Dependency Modeling) und Versionsvergleichslogik für OTA-Updates und Konsistenzprüfungen.
2. Komponenten, Entitäten & Schnittstellen
Service Interface
«interface» PackageManagement (Getter)(SWS_UCM_00131): Service-Schnittstelle zur statusfreien Zustands- und Metadatenabfrage:GetHistory(unsigned long, unsigned long): HistoryVectorTypeGetId(): UCMIdentifierAndVersionTypeGetProgress(TransferIdType): charGetSwClusterInfo(): SwClusterInfoVectorTypeGetSwClusterManifestInfo(SwNameType): SwClusterManifestInfoTypeGetSwClustersChangeInfo(): SwClusterInfoVectorTypeGetSwPackages(): SwPackageInfoVectorType
Datenstrukturen für Software-Cluster-Zustände & Identifikation
«dataType» SwClusterInfoVectorType(SWS_UCM_00079):- Aggregiert
swInfoTypes: SwClusterInfoType [1..n].
- Aggregiert
«dataType» SwClusterInfoType(SWS_UCM_00078):- Attribute:
name: SwClusterNameType,size: uint64,state: SwClusterStateType,version: StrongRevisionLabelString.
- Attribute:
«enumeration» SwClusterStateType(SWS_UCM_00077):- Literale:
kPresent = 0x00,kAdded = 0x01,kUpdating = 0x02,kRemoved = 0x03.
- Literale:
«dataType» UCMIdentifierAndVersionType(SWS_UCM_00309):- Attribute:
id: UCMIdentifierType,version: StrongRevisionLabelString.
- Attribute:
«primitive» UCMIdentifierType(SWS_UCM_00173): Eindeutige primitive Instanz-ID des UCM.
Abhängigkeitsmodellierung (Dependency Model)
«dataType» SwClusterManifestInfoType(SWS_UCM_00312):- Attribute:
name: SwClusterNameType,version: StrongRevisionLabelString,dependencyModel: DependencyVectorType,license: string,releaseNotes: string,typeApproval: string.
- Attribute:
«dataType» DependencyVectorType(SWS_UCM_00313):- Aggregation von
dependency: DependencyType [1..n] {ordered}.
- Aggregation von
«dataType» DependencyType(SWS_UCM_00314):- Attribute:
category: string,compareCondition: DependencyCompareConditionType,dependencyRole: DependencyRoleType,logicalOperator: LogicalOperationType.
- Attribute:
«enumeration» DependencyRoleType(SWS_UCM_00318):dependsOn = 0x00(Voraussetzung für Lauffähigkeit/Installation),conflictsTo = 0x01(Inkompatibilität/Ausschluss).
«enumeration» LogicalOperationType(SWS_UCM_00317):kLogicalAnd = 0x00,kLogicalOr = 0x01zur Verknüpfung aufeinanderfolgender Terme im ordered Vector.
«dataType» DependencyCompareConditionType(SWS_UCM_00315):- Attribute:
considerBuildNumber: bool,dependencyOperator: DependencyOperatorType,targetSwCluster: SwNameVersionType.
- Attribute:
«enumeration» DependencyOperatorType(SWS_UCM_00316):kGreaterThan = 0x00,kEqual = 0x01,kLessThan = 0x02,kGreaterThanOrEqual = 0x03,kLessThanOrEqual = 0x04.
«dataType» SwNameVersionType(SWS_UCM_00176):- Attribute:
name: SwClusterNameType,version: StrongRevisionLabelString.
- Attribute:
3. Dynamisches Verhalten & Auswertungssemantik
- Query-Pattern (Pull-Prinzip): UCM-Clients (z. B. UCM Master, Diagnostic Client oder Update-Orchestrator) fragen vor einer Paketaktivierung via
GetSwClusterInfobzw.GetSwClusterManifestInfoden Ist-Zustand und die Zielmanifeste ab. - Evaluierung der Abhängigkeiten:
- Iteration über den geordneten Vektor
DependencyVectorType({ordered}). - Prüfung der Cluster-Identität (
targetSwCluster.name) und Versionsvergleich (version) basierend aufDependencyOperatorType. IstconsiderBuildNumber == false, wird die Build-Metadatenkomponente des SemVer-basiertenStrongRevisionLabelStringignoriert. - Rollenbewertung (
DependencyRoleType):- Bei
dependsOn: Bedingung muss erfüllt sein (true). - Bei
conflictsTo: Bedingung darf nicht zutreffen (false), andernfalls liegt ein harter Versionskonflikt vor.
- Bei
- Verknüpfung der Zwischenergebnisse über
LogicalOperationType(kLogicalAnd,kLogicalOr).
- Iteration über den geordneten Vektor
- Fehler- und Abbruchkriterien: Schlägt die Prädikatauswertung fehl, verweigert der UCM die nachfolgenden Transitionen (
ProcessSwPackage/Activate) und meldet Inkompatibilität.
4. Normative Relevanz & Entwickler-Hinweise
- ara::com API & Serialisierung: Die Typen werden direkt in C++-Strukturen und -Enums im Namespace
ara::ucm::pkgmgrprojiziert. Vector-Typen entsprechenara::core::Vector<T>, Stringsara::core::String. - Versionsformat:
StrongRevisionLabelStringerzwingt standardkonforme semantische Versionierung (AUTOSAR-spezifisch an SemVer 2.0 angelehnt). Entwickler müssen sicherstellen, dass Versionsvergleiche streng monoton implementiert werden. - Zustandsüberwachung:
SwClusterStateTypeunterscheidet installierte Cluster (kPresent), in der aktuellen Transaktion hinzugefügte (kAdded), modifizierte (kUpdating) oder zur Deinstallation markierte (kRemoved) Cluster. Diese Information ist deterministisch für die Generierung von Rollback- und Commit-Strategien im UCM. - Manifest-Parsing:
DependencyVectorTypeverlangt deterministische Auswertung in Index-Reihenfolge ({ordered}). Eine Vertauschung der Elemente verändert bei gemischtenAND/OR-Operatoren das logische Gesamtergebnis.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.