AUTOSAR_AP_SWS_ExecutionManagement
FIG-1a7d041b3f9ace4f
660 × 657 px
2 Release(s)
Figure 7.6: AUTOSAR Adaptive Platform Boundary
SHA-256 Inhalts-Fingerabdruck:
1a7d041b3f9ace4f630f0fb927c57746c8c54cb305ed77c621f918ce28b97340
✦
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: Informelles Systemgrenzen- und Prozessabstammungsdiagramm (System Boundary & Architectural Deployment Model).
- Technischer Zweck & funktionale Einordnung:
- Spezifiziert die System- und Laufzeitgrenzen einer
AUTOSAR Adaptive Instanceauf einer logischen oder physischen Ausführungseinheit (A Machine) innerhalb der AUTOSAR Adaptive Platform (AP). - Definiert die Prozesshierarchie ausgehend vom POSIX-Kernel über den OS-Root-Init-Prozess bis hin zum
Execution Management(EM,ara::exec) und den durch EM verwalteten Prozessen. - Verdeutlicht die Koexistenz von AUTOSAR-konformen Prozessen (Plattformdienste und Adaptive Applications) mit nativen, nicht durch AUTOSAR verwalteten Standard-POSIX-Prozessen auf derselben OS-Instanz.
- Zeigt die Schichtung über Hardware (
H/W) und optionaler Virtualisierungsebene (HyperVisor).
- Spezifiziert die System- und Laufzeitgrenzen einer
2. Komponenten, Entitäten & Schnittstellen
- H/W & HyperVisor:
- Basis-Hardware und optionale Typ-1/Typ-2-Virtualisierungsschicht zur Partitionierung von Hardware-Ressourcen.
- A Machine & OS:
- Virtuelle oder physische Recheneinheit mit einem POSIX-kompatiblen Betriebssystem (mindestens PSE51/PSE52 Realtime-POSIX-Subset).
- Init Process (PID 1):
- Erste Userspace-Entität (z. B.
systemd, SysV-Init oder proprietärer Microkernel-Init-Task). Startet plattformfremde OS-Prozesse sowie exklusiv dasExecution Management.
- Erste Userspace-Entität (z. B.
- Process (nativ, außerhalb Adaptive Platform):
- Plattformfremde Betriebssystem-Prozesse/Daemons, die direkt vom OS-Init verwaltet werden und außerhalb des deterministischen State- und Lifecycle-Managements von AUTOSAR liegen.
- AUTOSAR Adaptive Instance (Dashed Outer Boundary):
- Begrenzung der logischen Instanz der Adaptive Platform auf der Machine, bestehend aus Plattformkern und gemanagten Applikationsprozessen.
- AUTOSAR Adaptive Platform (Dashed Inner Boundary):
- Execution Management (
ara::exec): Zentraler Laufzeit-Orchestrator. Verwaltet den Lebenszyklus (Start, Überwachung, Beendigung) aller Applikationen und Funktionscluster basierend auf Machine- und Execution-Manifesten. - Adaptive Foundation and services: Funktionscluster der Plattform (z. B. Communication Management
ara::com, Diagnostic Managementara::diag, Persistencyara::per, State Managementara::sm). Werden direkt von EM gestartet und überwacht.
- Execution Management (
- Reporting Process:
- Adaptive Application (AA), die gegen
ara::execgelinkt ist und die Laufzeitschnittstelleara::exec::ExecutionClientaktiv bedient.
- Adaptive Application (AA), die gegen
- Non-Reporting Process:
- Prozess unter Kontrolle des EM (z. B. Legacy-Code, 3rd-Party-Binaries oder spezialisierte Daemons), der keine Interaktion mit dem
ExecutionClientdurchführt.
- Prozess unter Kontrolle des EM (z. B. Legacy-Code, 3rd-Party-Binaries oder spezialisierte Daemons), der keine Interaktion mit dem
3. Dynamisches Verhalten & Sequenzablauf
- System-Bootstrapping:
- Kernel initiiert den Userspace und startet den
Init Process(PID 1). Init Processerzeugt native OS-Dienste (Process) und fork/executiert dasExecution Management.
- Kernel initiiert den Userspace und startet den
- Plattform-Initialisierung:
- EM liest das Machine Manifest und das Execution Manifest ein.
- EM startet die internen Plattform-Services (
Adaptive Foundation and services) sowie definierte Core-Prozesse der initialen Function Group States (z. B.MachineState: Startup).
- Applikations-Start & State Reporting:
- Reporting Process: Nach dem OS-Prozessstart initialisiert die Applikation ihre Laufzeitumgebung und setzt über IPC den synchronen/asynchronen API-Aufruf
ara::exec::ExecutionClient::ReportExecutionState(ExecutionState::kRunning)ab. EM quittiert dies und überwacht das Eintreffen innerhalb des im Manifest konfiguriertenstartupTimeout. - Non-Reporting Process: EM führt
fork/execaus; der Prozess gilt unmittelbar nach erfolgreicher OS-Rückmeldung als aktiv. Es erfolgt kein interner State-Handshake auf Applikationsebene.
- Reporting Process: Nach dem OS-Prozessstart initialisiert die Applikation ihre Laufzeitumgebung und setzt über IPC den synchronen/asynchronen API-Aufruf
- Lifecycle-Überwachung & Beendigung:
- Kontinuierliches Monitoring durch EM via POSIX-Signal-Mechanismen (
SIGCHLD,waitpid) sowie optional über den Platform Health Management Cluster (ara::phm). - Geordneter Shutdown über
SIGTERM(Reporting Processes könnenkTerminatingmelden) mit Fallback aufSIGKILLbei Überschreitung desterminationTimeout.
- Kontinuierliches Monitoring durch EM via POSIX-Signal-Mechanismen (
4. Normative Relevanz & Entwickler-Hinweise
- Manifest-Konfiguration (
Process.reportingBehavior):- Für jeden im Modell deklarierten Prozess (
ProcessToMachineMappingInstance) muss das AttributreportingBehaviorexakt festgelegt werden (reportsExecutionStatevs.doesNotReportExecutionState). - Fehlerfalle: Ist ein Prozess fälschlicherweise als
reportsExecutionStatemodelliert, ruft aberReportExecutionState(kRunning)nicht vor Ablauf vonstartupTimeoutauf, stuft EM den Prozessstart als fehlgeschlagen ein und erzwingt den konfigurierten Recovery-Pfad (z. B. Kill & Restart oder Transition in Safe State).
- Für jeden im Modell deklarierten Prozess (
- Entwickler-Pflichten für Adaptive Applications:
- Jede reguläre Adaptive Application muss den
ExecutionClientinstanziieren, sobald alle statischen Ressourcen (Memory, OS-Ressourcen,ara::com-Proxies/Skelette) allokiert sind, und zwingendkRunningmelden.
- Jede reguläre Adaptive Application muss den
- Ressourcen- und Privilegien-Isolation:
- Native Prozesse unterliegen nicht der Scheduling-, cgroup- und IAM-Kontrolle (Identity and Access Management) des Execution Managements; Inter-Process Communication (IPC) zwischen nativen Prozessen und der Adaptive Platform muss restriktiv über OS-Zugriffsrechte (z. B. POSIX Capabilities, SELinux/AppArmor-Profile) abgesichert werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.