AUTOSAR_AP_SWS_ExecutionManagement
FIG-e113b69ca925db45
849 × 561 px
1 Release(s)
Figure 5.1: Interfaces provided by Execution Management to other Functional Clusters
SHA-256 Inhalts-Fingerabdruck:
e113b69ca925db45dd54354b3b376761c856aea906c17afc589034ac88c42101
✦
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
- Klassifikation: UML-Komponentendiagramm mit Schnittstellen- und Realisierungsbeziehungen (Interface Realization & Usage Dependencies).
- Architektur-Kontext: Veranschaulicht die funktionale Schnittstellenbereitstellung des Functional Clusters Execution Management (EM) für andere plattforminterne Daemon-Cluster der AUTOSAR Adaptive Platform (AP) gemäß SWS Execution Management (R23-11, R24-11, Kapitel 5.1). EM fungiert als POSIX-basierter Prozess- und Laufzeitmanager; die übrigen Plattform-Cluster laufen als eigenständige OS-Prozesse (Daemons) und unterliegen bezüglich ihres Lebenszyklus der Steuerung und Zustandsüberwachung durch EM.
2. Komponenten, Entitäten & Schnittstellen
- Bereitstellender Cluster (Provider):
Execution Management(«aapFunctionalCluster», Tagged Value:daemon-based): Zentraler Daemon zur Prozessinitiierung, Überwachung und Zustandsverwaltung des Systems.
- Exponierte Schnittstelle (Native Interface):
ExecutionClient(«aapAPI,aapNativeInterface»): C++-Bibliotheksschnittstelle (ara::exec::ExecutionClient), die prozesslokal instanziiert wird und die IPC-Kommunikation zum EM-Daemon kapselt.+ Create(): Factory-Methode zur Erzeugung der Client-Instanz und Aufbau der IPC-Verbindung zum EM-Daemon.+ ReportExecutionState(ExecutionState): Übergibt den aktuellen Prozessstatus (insb.ara::exec::ExecutionState::kRunning) an EM.
- Konsumierende Cluster (Clients):
State Management(«aapFunctionalCluster»,daemon-based)Platform Health Management(«aapFunctionalCluster»,daemon-based)Diagnostic Management(«aapFunctionalCluster»,daemon-based)Update and Configuration Management(«aapFunctionalCluster»,daemon-based)Time Synchronization(«aapFunctionalCluster»,daemon-based)Automotive API Gateway(«aapFunctionalCluster»,daemon-based)Communication Management(«aapFunctionalCluster»,daemon-based)Network Management(«aapFunctionalCluster»,daemon-based)Vehicle Update and Configuration Management(«aapFunctionalCluster»,daemon-based)Intrusion Detection System Manager(«aapFunctionalCluster»,daemon-based)Cryptography(«aapFunctionalCluster»,daemon-based)Firewall(«aapFunctionalCluster»,daemon-based)
- Strukturelle Beziehungen:
- Interface Realization (gestrichelte Linie mit geschlossenem, nicht ausgefülltem Dreieck):
Execution Managementimplementiert serverseitig die Semantik desExecutionClient. - Usage Dependency (
«use», gestrichelte Pfeile): Alle zwölf aufgeführten Daemons binden dieExecutionClient-API statisch/dynamisch ein, um ihren Lebenszyklus an EM zu melden.
- Interface Realization (gestrichelte Linie mit geschlossenem, nicht ausgefülltem Dreieck):
3. Dynamisches Verhalten & Sequenzablauf
- Startup & Prozess-Fork: EM startet den jeweiligen Daemon-Prozess basierend auf dem System-/Machine-Manifest (
StartupConfig). - Client-Initialisierung: Der Plattform-Daemon führt seine internen Setup-Schritte aus und instanziiert frühzeitig den Kommunikationskanal via
ExecutionClient::Create(). - Zustandsmeldung: Sobald der Daemon initialisiert und betriebsbereit ist, setzt er den synchronen Aufruf
ReportExecutionState(ExecutionState::kRunning)ab. - IPC-Verarbeitung & Transition: EM empfängt die Meldung über den prozessübergreifenden Kanal (z. B. Unix Domain Socket/Shared Memory), aktualisiert den internen Zustand des Prozesses auf
Runningund entsperrt abhängige Startup-Stufen (Dependencies im Execution Manifest). - Fehlerbehandlung: Erfolgt die Meldung
kRunningnicht innerhalb des im Manifest parametriertenstartupTimeout, löst EM konfigurierte Recovery-Aktionen aus (z. B. Prozessneustart oder Meldung an das State Management / Platform Health Management).
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag: Für jeden Plattform-Daemon, dessen
reportingBehaviorim Manifest aufreportsExecutionStatekonfiguriert ist, ist das Absetzen vonExecutionState::kRunningviaExecutionClientzwingend erforderlich. Ein Unterlassen führt zum Timeout-Fehler (SIGKILL/SIGTERMdurch EM). - Prozessautonomie vs. Plattformdienst: Obwohl funktionale Cluster wie State Management (SM) oder Platform Health Management (PHM) Steuerungs- bzw. Überwachungsfunktionen wahrnehmen, verhalten sie sich gegenüber EM bezüglich ihres Lebenszyklus wie gewöhnliche Adaptive Applications.
- Deadlock-Prävention: Da EM und SM/PHM zirkuläre funktionale Abhängigkeiten aufweisen können (z. B. SM fordert Funktionsgruppenwechsel an, EM startet Daemons), darf
ReportExecutionState()in dermain()des Daemons nicht durch blockierende Aufrufe an noch nicht aktive Nachbar-Cluster verzögert werden. - Rückgabewert: Das Ergebnis von
ReportExecutionState()muss explizit aufara::core::ErrorCodegeprüft werden; ein fehlerhafter Aufruf indiziert einen Abriss des IPC-Kanals zu EM.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.