DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_SWArchitecture FIG-efbec86dbe3925c8 702 × 414 px 2 Release(s)

Figure 9.89: Interfaces required by Vehicle Update and Configuration Management (part 2)

SHA-256 Inhalts-Fingerabdruck: efbec86dbe3925c814ae8bf8a5dd31f09a7124b2e095d9feab7d7a47e4c3cc48
✦ 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 / Komponentenschnittstellen-Diagramm (AUTOSAR Adaptive Platform Architekturmodell, R23-11 / R24-11).
  • Funktionale Einordnung: Spezifikation der plattforminternen, nativen Schnittstellenabhängigkeiten des Functional Clusters Vehicle Update and Configuration Management (VUCM / UCM). Das Diagramm definiert die obligatorischen Basisdienste der Adaptive Core Platform (ara::log, ara::exec, ara::crypto), die der UCM-Daemon zur Erfüllung seiner Aufgaben (Software-Aktualisierung, Rollback, Integritäts- und Zustandsverwaltung) konsumiert.

2. Komponenten, Entitäten & Schnittstellen

Entitäten & Functional Cluster
  • «aapFunctionalCluster» Vehicle Update and Configuration Management (Tag: daemon-based): Konsumierender Cluster. Implementiert die Fahrzeug-Update-Orchestrierung als privilegierter Plattform-Daemon.
  • «aapFunctionalCluster» Log and Trace: Bereitstellender Plattform-Cluster für zentrales Logging und Tracing.
  • «aapFunctionalCluster» Execution Management (Tag: daemon-based): Bereitstellender Plattform-Cluster für Prozess-Lifecycle, Startreihenfolgen und State Management.
  • «aapFunctionalCluster» Cryptography (Tag: daemon-based): Bereitstellender Plattform-Cluster für kryptografische Primitive, Schlüsselverwaltung, Signatur- und Hash-Operationen.
Schnittstellen («aapAPI,aapNativeInterface»)
  • Logger (ara::log):
    • + IsEnabled(): bool – Prüfung, ob die zugewiesene Log-Stufe aktiv geschaltet ist.
    • + Log(MsgId, Params) – Strukturierte Meldungsausgabe basierend auf Message-IDs.
    • + LogDebug(), + LogError(), + LogFatal(), + LogInfo(), + LogVerbose(), + LogWarn(), + WithLevel() – Rückgabetyp jeweils LogStream (RAII-basierter Stream-Operator <<).
  • ExecutionClient (ara::exec):
    • + static Create() – Factory-Methode zur Erzeugung der Client-Instanz.
    • + ReportExecutionState(ExecutionState): Result – Synchrones Melden des Prozesszustands (z. B. kRunning) an den Execution-Management-Daemon.
  • CryptoStack (ara::crypto):
    • Schnittstellenpaket für Hash-Validierung, Signaturprüfung (z. B. ECDSA/Ed25519) und Entschlüsselungsdienste für Software-Pakete.
Beziehungen
  • Verwendungsbeziehung («use»): Gerichtete Abhängigkeit von Vehicle Update and Configuration Management auf die drei Schnittstellen Logger, ExecutionClient und CryptoStack.
  • **Schnittstellen-Realisierung (Interface Realization):** Gestrichelte Generalisierungspfeile (geschlossene weiße Pfeilspitze) von Log and Trace → Logger, Execution Management → ExecutionClient und Cryptography → CryptoStack.

3. Dynamisches Verhalten & Sequenzablauf

  1. Boot- & Prozess-Initialisierung:
    • Nach dem Fork/Exec durch das Execution Management instanziiert der UCM-Prozess über ExecutionClient::Create() seine Client-Verbindung.
    • Der UCM-Daemon meldet seinen betriebsbereiten Zustand synchron via ReportExecutionState(ExecutionState::kRunning) an das Execution Management.
  2. Diagnose- & Ablauf-Protokollierung:
    • Bei Zustandswechseln (Transfer, Process, Apply, Revert) erzeugt UCM über LogInfo(), LogError() etc. temporäre LogStream-Objekte. Das Flashen des Log-Eintrags an den Log-and-Trace-Daemon erfolgt deterministisch mit Zerstörung des LogStream-Temporaries.
  3. Kryptografische Verifikation:
    • Vor Verarbeitung empfangener Update-Pakete greift UCM über CryptoStack auf kryptografische Kontexte zu.
    • Durchführung von Authentizitäts- und Integritätsprüfungen (Validierung von Manifest-Signaturen gegen im Root-of-Trust hinterlegte Zertifikate).
    • Bei Validierungsfehlschlag: Abbruch der Update-Pipeline, Rollback in den Ausgangszustand und Fehlermeldung via LogError().

4. Normative Relevanz & Entwickler-Hinweise

  • Link- & Header-Abhängigkeiten: UCM-Applikationen/Daemons müssen gegen die Adaptive-Standardbibliotheken libara_log.so, libara_exec.so und libara_crypto.so linken; Implementierungen basieren auf dem C++14/C++17 API-Standard der Adaptive Platform.
  • Lifecycle-Timeout: ReportExecutionState(kRunning) unterliegt dem im Manifest (ExecutionManifest) spezifizierten Startup-Timeout. Erfolgt der Aufruf nicht rechtzeitig, initiiert das Execution Management eine Recovery-Aktion (Watchdog-Reaktionspfad, SIGKILL).
  • Security & Trust Anchors: Der Zugriff auf CryptoStack erfordert entsprechende Zugriffsrechte im Manifest (Crypto Key Slots, IAM/Identity and Access Management Policy). UCM darf keine unsignierten Software-Pakete verarbeiten.
  • Logging-Performance: Aufrufe wie IsEnabled() müssen vor rechenintensiven Formatierungen vorgeschaltet werden, um Kontextwechsel und IPC-Overhead im Gutfall zu minimieren.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«aapAPI,aapNativeInterface» | Logger | + IsEnabled() + Log(MsgId, Params) + LogDebug(): LogStream + LogError(): LogStream + LogFatal(): LogStream + LogInfo(): LogStream + LogVerbose(): LogStream + LogWarn(): LogStream + WithLevel(): LogStream | «aapFunctionalCluster» | Log and Trace | «aapAPI,aapNativeInterface» | ExecutionClient | + Create() + ReportExecutionState(ExecutionState): Result | «aapFunctionalCluster» Execution Management daemon-based | «aapFunctionalCluster» Vehicle Update and Configuration Management daemon-based | «aapAPI,aapNativeInterface» | CryptoStack | «aapFunctionalCluster» | Cryptography daemon-based | «use» «use» «use»

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R23-11 AUTOSAR_AP_EXP_SWArchitecture S. 122 9.81 Figure 9.81: Interfaces required by Vehicle Update and Configuration Management (part 2)
R24-11 AUTOSAR_AP_EXP_SWArchitecture S. 138 9.89 Figure 9.89: Interfaces required by Vehicle Update and Configuration Management (part 2)