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 jeweilsLogStream(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 vonVehicle Update and Configuration Managementauf die drei SchnittstellenLogger,ExecutionClientundCryptoStack. - **Schnittstellen-Realisierung (Interface Realization):**
Gestrichelte Generalisierungspfeile (geschlossene weiße Pfeilspitze) von
Log and Trace→Logger,Execution Management→ExecutionClientundCryptography→CryptoStack.
3. Dynamisches Verhalten & Sequenzablauf
- 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.
- Nach dem Fork/Exec durch das Execution Management instanziiert der UCM-Prozess über
- Diagnose- & Ablauf-Protokollierung:
- Bei Zustandswechseln (Transfer, Process, Apply, Revert) erzeugt UCM über
LogInfo(),LogError()etc. temporäreLogStream-Objekte. Das Flashen des Log-Eintrags an den Log-and-Trace-Daemon erfolgt deterministisch mit Zerstörung desLogStream-Temporaries.
- Bei Zustandswechseln (Transfer, Process, Apply, Revert) erzeugt UCM über
- Kryptografische Verifikation:
- Vor Verarbeitung empfangener Update-Pakete greift UCM über
CryptoStackauf 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().
- Vor Verarbeitung empfangener Update-Pakete greift UCM über
4. Normative Relevanz & Entwickler-Hinweise
- Link- & Header-Abhängigkeiten: UCM-Applikationen/Daemons müssen gegen die Adaptive-Standardbibliotheken
libara_log.so,libara_exec.soundlibara_crypto.solinken; 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
CryptoStackerfordert entsprechende Zugriffsrechte imManifest(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.