AUTOSAR_AP_EXP_SWArchitecture
FIG-a1d50174e494d280
512 × 414 px
1 Release(s)
Figure 9.94: Interfaces required by Update and Configuration Management (part 2)
SHA-256 Inhalts-Fingerabdruck:
a1d50174e494d28017dad5028c6bfb39a846781f30050ee5d6073d92d360cdd8
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Diagrammtyp: UML-Schnittstellen- und Komponentendiagramm mit AUTOSAR Adaptive Platform (AP) Metamodell-Stereotypen.
- Funktionale Einordnung: AUTOSAR Adaptive Platform (Release R22-11), Spezifikation
AUTOSAR_EXP_SWArchitecture. - Technischer Zweck: Spezifikation der vom Update and Configuration Management (UCM, Teil des Foundation-/Service-Layers) zwingend benötigten nativen Plattform-C++-Schnittstellen (Required Interfaces, Part 2). Es dokumentiert die Bindung von UCM an das Prozess-Lebenszyklusmanagement (Execution Management, EM) sowie an das Diagnose- und Betriebs-Logging (Log and Trace, LOG).
2. Komponenten, Entitäten & Schnittstellen
Entitäten / Functional Cluster:
Update and Configuration Management:- Stereotyp:
«aapFunctionalCluster», Ausprägung:daemon-based - Rolle: Konsument (Client) der Plattformdienste.
- Stereotyp:
Execution Management:- Stereotyp:
«aapFunctionalCluster», Ausprägung:daemon-based - Rolle: Plattformdienst zur Prozesskontrolle, Zustandsverwaltung und State-Client-Überwachung.
- Stereotyp:
Log and Trace:- Stereotyp:
«aapFunctionalCluster» - Rolle: Plattformdienst zur Aggregation, Formatierung und Weiterleitung von Log- und Tracing-Nachrichten (z. B. via DLT).
- Stereotyp:
Schnittstellen (AP Native Interfaces / APIs):
Logger(«aapAPI,aapNativeInterface», C++-Namespaceara::log):- Bereitgestellt durch:
Log and Trace(Realisierungsbeziehung, gestrichelte Linie mit geschlossener Dreiecksspitze). - Genutzt von:
Update and Configuration Management(«use»-Abhängigkeit). - Methoden:
+ IsEnabled(): bool: Abfrage mit explizitem booleschem Rückgabetyp, ob das konfigurierte Log-Level aktiv ist.+ Log(MsgId, Params): Strukturiertes Logging mit Message-Identifier.+ LogDebug(): LogStream,+ LogError(): LogStream,+ LogFatal(): LogStream,+ LogInfo(): LogStream,+ LogVerbose(): LogStream,+ LogWarn(): LogStream: Typsichere Methoden zur Erzeugung eines Log-Streams je Severity-Level.+ WithLevel(): LogStream: Dynamische Zuweisung des Log-Levels zur Stream-Erzeugung.
- Bereitgestellt durch:
ExecutionClient(«aapAPI,aapNativeInterface», C++-Namespaceara::exec):- Bereitgestellt durch:
Execution Management(Realisierungsbeziehung, gestrichelte Linie mit geschlossener Dreiecksspitze). - Genutzt von:
Update and Configuration Management(«use»-Abhängigkeit). - Methoden:
+ Create(): Statische Factory-Methode zur Erzeugung einer Instanz desExecutionClient.+ ReportExecutionState(ExecutionState): Zustandsmeldung des UCM-Prozesses an den EM-Daemon (ohne explizit ausgewiesenen Rückgabetyp).
- Bereitgestellt durch:
3. Dynamisches Verhalten & Sequenzablauf
- Bootstrap & Lebenszyklus-Meldung:
- Der UCM-Daemon wird durch das
Execution Managementgestartet. - Nach erfolgreicher interner Initialisierung instanziiert UCM einen
ara::exec::ExecutionClientund setzt synchronReportExecutionState(ExecutionState::kRunning)ab. - Bleibt dieser Aufruf innerhalb des im Execution Manifest definierten Start-up-Timeouts aus, leitet EM deterministische Recovery-Maßnahmen ein (Prozessneustart / Safe State Übergang).
- Der UCM-Daemon wird durch das
- Laufzeit-Protokollierung:
- Während Update-Zyklen (Transfer, Verifikation, Software-Paket-Aktivierung, Rollback) erzeugt UCM über den
ara::log::Loggerkontextbezogene Meldungen. - Über Methoden wie
LogInfo()oderLogError()wird ein flüchtigerLogStreamgeöffnet, via C++ Stream-Operatoren (<<) befüllt und beim Verlassen des Scopes (Destruktor) thread-sicher via prozesslokale Shared-Memory-/Socket-IPC an denLog and Trace-Daemon übergeben.
- Während Update-Zyklen (Transfer, Verifikation, Software-Paket-Aktivierung, Rollback) erzeugt UCM über den
4. Normative Relevanz & Entwickler-Hinweise
- Keine Exceptions /
ara::core::Result: Alle Aufrufe anExecutionClientundLoggerfolgen der AUTOSAR C++14/C++17 Richtlinie. Fehlerpfade werden ohne C++-Exceptions überara::core::Resultundara::core::ErrorCodeabgewickelt. - Manifest-Konfiguration:
- Für UCM muss ein entsprechendes
ProcessDesignundExecutionManifesthinterlegt sein, das den Startup-Pfad, Dependencies und Überwachungs-Timeouts fürReportExecutionStatedeklariert. - Für den Logger ist im Execution/Application Manifest eine
LogTraceProcessDesc-Konfiguration mit fester App-ID und Default-Context-IDs zwingend erforderlich.
- Für UCM muss ein entsprechendes
- Prozessarchitektur (
daemon-based): UCM agiert als persistenter System-Daemon im User-Space des POSIX-Betriebssystems. Die Kommunikation zu EM und LOG erfolgt über plattforminterne IPC-Mechanismen, ist jedoch für den UCM-Entwickler vollständig durch die statisch/dynamisch gelinkten Bibliothekenlibara_exec.soundlibara_log.sogekapselt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.