AUTOSAR_SWS_UpdateAndConfigurationManagement
FIG-469e0c0880b8fb0c
821 × 1007 px
2 Release(s)
Figure 10.3: Sequence diagram showing the package processing
SHA-256 Inhalts-Fingerabdruck:
469e0c0880b8fb0cf3777790c5783354b4befac983033dab6647a213270daa12
✦
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
- Diagrammtyp: UML-Sequenzdiagramm mit kombinierten Fragmenten (
opt,loop). - Architektur-Kontext: AUTOSAR Adaptive Platform (UCM – Update and Configuration Management nach
AUTOSAR_SWS_UpdateAndConfigurationManagement, R21-11/R22-11). - Funktionaler Zweck: Modellierung des Protokollablaufs zur Verarbeitung empfangener Software-Pakete (Software Package Processing) über die UCM-Dienstschnittstelle
PackageManagement. Es visualisiert den Zustandsübergang vonIDLEüberPROCESSINGzuREADYsowie die Fortschrittsüberwachung für inkrementell oder parallel übertragene Pakete (TransferId).
2. Komponenten, Entitäten & Schnittstellen
- Akteure & Instanzen:
Diagnostic Application (OEM specific): Service-Consumer (Client/Applikationsebene; OTA-Client oder Diagnose-Tester/UDS-Router), der den Software-Update-Workflow steuert.«ServiceProvider» :External Reference(UCM / Package Management Service): Server-Instanz, die das Service Interfaceara::ucm::pkgmgr::PackageManagementüberara::combereitstellt.
- Service-Elemente & Methoden:
CurrentStatus: Service-Field/Event zur Übertragung des aggregierten UCM-Lebenszyklusstatus (PackageManagementStatusType:IDLE,PROCESSING,READY).GetSwPackages(): Synchrone Read-Methode, RückgabeSwPackageInfoVectorType(Metadaten über im UCM vorhandene/übertragene Software-Pakete).ProcessSwPackage(TransferId): Asynchrone Anforderung zur Validierung, Dekompression und Vorbereitung des Software-Pakets mit angegebener Kennung. Rückgabetyp:ProcessSwPackageReturnType(Ergebnisstatus/Fehlercode viaara::core::Future).GetSwProcessProgress(TransferId): Abfrage des Abarbeitungsgrads für ein konkretes Paket; Rückgabeuint8(0–100%).
- Datenstrukturen & Typen:
TransferId: Eindeutiger Bezeichner des Software-Pakets (vergeben während der vorherigen TransferphaseTransferStart).SwPackageInfoVectorType: Liste/Vektor serialisierter Metadatenstrukturen vorhandener Pakete.ProcessSwPackageReturnType: Spezifisches UCM-Fehler-/Ergebnis-Enum bzw.ara::core::Result<void>.
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung & Status-Abonnement:
- Client sendet
Subscribe(CurrentStatus)an den UCM-Dienst. - UCM bestätigt/notifiziert den Initialzustand
CurrentStatus = IDLE(keine aktive Verarbeitung).
- Client sendet
- Paket-Enumeration (
opt):- Optional ruft die Diagnoseapplikation
GetSwPackages()ab, um verifizierte Paket-Handles (TransferId) und Abhängigkeiten zu prüfen. - UCM antwortet synchron mit
SwPackageInfoVectorType.
- Optional ruft die Diagnoseapplikation
- Verarbeitungsschleife (
loop for each TransferId):- Pro übertragenem Paket ruft der Client
ProcessSwPackage(TransferId)auf. - Zustandswechsel: UCM emittiert sofort das Event
CurrentStatus = PROCESSING. - Fortschrittsabfrage (
opt continuously): Während die Verarbeitung asynchron im Hintergrund läuft (Signaturen prüfen, Dekomprimieren, Delta-Patching, A/B-Partitionen vorbereiten), pollt der Client zyklischGetSwProcessProgress(TransferId)und erhält den aktuellen Stand (:progressin %). - UCM signalisiert den Abschluss der Paketverarbeitung über das asynchrone Methoden-Return
:ProcessSwPackageReturnType.
- Pro übertragenem Paket ruft der Client
- Abschluss & Folgezustand:
- Nach Abarbeitung aller relevanten Transfer-IDs wechselt UCM in den Zustand
CurrentStatus = READY. - Bedeutung: Das System ist nun bereit für die Aktivierungsphase (
Activate), gefolgt vonVerifyundCommit.
- Nach Abarbeitung aller relevanten Transfer-IDs wechselt UCM in den Zustand
4. Normative Relevanz & Entwickler-Hinweise
- Asynchrones API-Design (
ara::com):ProcessSwPackageist langlaufend und darf den Client-Thread nicht blockieren. In Adaptive C++ muss die Applikation das zurückgelieferteara::core::Futureauswerten oder Callbacks registrieren. - Status-getriebenes Zustandsmodell: Der Wechsel auf
CurrentStatus = READYerfolgt erst, wenn alle referenzierten Pakete fehlerfrei verarbeitet sind. Scheitert ein Paket (ProcessSwPackageReturnType != kSuccess), bleibt UCM im Fehlerzustand; nachfolgende Aufrufe vonActivate()sind unzulässig und werden abgewiesen. - Polling-Budgetierung:
GetSwProcessProgressist synchron. Um IPC-/Bus-Last (z. B. SOME/IP über Ethernet) nicht zu überlasten, muss der Client Rate-Limiting/Entprellzeiten bei der Abfrage vonopt continuouslyeinhalten. - Voraussetzung: Dem Diagramm muss zwingend ein erfolgreicher Transfer-Zyklus (
TransferStart,TransferData,TransferExit) vorausgegangen sein; unbekannteTransferId-Werte quittiertProcessSwPackagemit Fehlern (z. B.UcmErrorDomain::kInvalidTransferId).
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.