DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_ExecutionManagement FIG-d96b0e2a2da5440d 841 × 717 px 8 Release(s)

Figure 7.17: Deterministic Execution Interface

SHA-256 Inhalts-Fingerabdruck: d96b0e2a2da5440d083997428f3a6b8d7526d8cd4eb1c019d75a0c39dc44486d
✦ 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-Komponentendiagramm (cmp ArchitectureView-DeterministicClient) zur Darstellung der Schnittstellenarchitektur auf System- und Prozessebene.
  • Technischer Zweck: Spezifiziert die Interaktion zwischen einer deterministischen Adaptive Application und dem funktionalen Cluster Execution Management (ara::exec) der AUTOSAR Adaptive Platform (Release R18-03 / R1.4.0).
  • Funktionale Einordnung: Definiert die Abstraktion des Prozesslebenszyklus sowie die Entkopplung von nicht-deterministischen Plattform- und OS-Ressourcen (Systemuhr, Host-Threading, OS-Zufallsgeneratoren), um reproduzierbare Berechnungen (z. B. für automatisierte Fahrfunktionen, Replay-Simulationen und SIL/HIL-Validierung) zu garantieren.

2. Komponenten, Entitäten & Schnittstellen

Komponenten (UML Components)
  • Application: POSIX-basierter Prozess der Adaptive Application, welcher Algorithmen mit deterministischer Ausführungscharakteristik kapselt. Fungiert als Client gegenüber beiden Schnittstellen.
  • Execution Management: Zentraler Plattform-Daemon der Adaptive Platform (ara::exec), zuständig für Prozessüberwachung, deterministisches Scheduling und Lifecycle-Management. Stellt die korrespondierenden Ports bereit.
Schnittstellen & Klassen (Namespace «ara::exec»)
  • DeterministicClient («ara::exec»):
    • Zugriffspunkt für deterministische Ausführungsmodelle.
    • Methoden:
      • + GetActivationTime(): Liefert den deterministischen Zeitstempel des aktuellen Ausführungszyklus (unabhängig von der realen Host-Laufzeit).
      • + GetNextActivationTime(): Liefert den geplanten deterministischen Startzeitpunkt des Folgezyklus.
      • + GetRandom(): Liefert pseudo-zufällige Werte aus einem reproduzierbaren, durch das Execution Management synchronisierten PRNG-Zustand.
      • + RunWorkerPool(): Triggert die parallele Abarbeitung deterministischer Teilaufgaben über einen verwalteten Worker-Pool unter Vermeidung von Race Conditions.
      • + WaitForNextActivation(): Blockierender Synchronisationspunkt, der den Prozess bis zur nächsten deterministischen Zyklus-Freigabe suspendiert.
  • ExecutionClient («ara::exec»):
    • Standard-Schnittstelle zur Lebenszyklus-Rückmeldung an das Execution Management.
    • Methoden:
      • + ReportExecutionState(): Meldet interne Prozesszustände (z. B. kRunning, kTerminating).
Beziehungen & Pfade
  • Provided / Required Ports:
    • Application nutzt (Required Interface / Socket) die Schnittstellen DeterministicClient und ExecutionClient.
    • Execution Management implementiert und exponiert (Provided Interface / Ball) beide Ports via IPC.
  • Kontrollpfad Start / Terminate:
    • Gerichtete Kontrollbeziehung (gestrichelte Linie) vom Execution Management zur Application. Signalisiert die Erzeugung (POSIX fork/exec) und Terminierung (SIGTERM/SIGKILL) des Prozesses.

3. Dynamisches Verhalten & Sequenzablauf

  1. Prozessinitialisierung:
    • Execution Management startet die Application (Start).
    • Die Applikation initialisiert ihre Ressourcen und meldet über ExecutionClient::ReportExecutionState(kRunning) ihre Betriebsbereitschaft.
  2. Deterministische Regelschleife (Zyklische Abarbeitung):
    • Die Applikation ruft blockierend DeterministicClient::WaitForNextActivation() auf.
    • Nach Trigger durch das Execution Management erwacht die Applikation im definierten Ausführungszyklus (Aktivierungszeitpunkt).
    • Abfrage von deterministischer Zeit (GetActivationTime(), GetNextActivationTime()) und deterministischer Pseudozufallszahlen (GetRandom()).
    • Ggf. Abarbeitung paralleler Berechnungsaufgaben über RunWorkerPool().
  3. Prozessterminierung:
    • Execution Management signalisiert der Application das Beenden (Terminate).
    • Die Applikation fährt kontrolliert herunter und meldet ihren Status über den ExecutionClient.

4. Normative Relevanz & Entwickler-Hinweise

  • Normative Vorgaben:
    • Deterministische Anwendungen müssen für das Lifecycle-Management zwingend ara::exec::ExecutionClient nutzen und ihren Zustand via ReportExecutionState() melden.
    • Für deterministisches Verhalten dürfen keine nicht-deterministischen OS-Dienste (wie Standard-Systemuhren, unkoordinierte POSIX-Threads oder systemweite Entropiequellen) genutzt werden; stattdessen ist strikt ara::exec::DeterministicClient zu verwenden.
    • Das Execution Management steuert den Prozessstart und die Terminierung (Start / Terminate) normativ über Plattform-Mechanismen.
  • Entwickler-Hinweise:
    • WaitForNextActivation() blockiert den aufrufenden Thread bis zur Freigabe des nächsten Ausführungszyklus durch das Execution Management.
    • Bei Nutzung von RunWorkerPool() ist sicherzustellen, dass die Worker-Tasks frei von Daten-Races und unkontrollierten Synchronisationsprimitiven sind, um Replay-Fähigkeit zu gewährleisten.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R18-03_R1.4.0 → R18-10-1 normative Änderung Vorgänger: FIG-729fbdfbafa9bce4
  • Schnittstelle ApplicationClient: Ersetzt durch ExecutionClient («ara::exec»).
  • Methode + ReportApplicationState(): Ersetzt durch + ReportExecutionState() in ExecutionClient.
  • Ports (Required/Provided): Port-Bezeichnungen zwischen Application und Execution Management von ApplicationClient auf ExecutionClient umbenannt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Vorkommen in AUTOSAR-Releases (13)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_ExecutionManagement S. 60 7.14 Figure 7.14: Deterministic Execution Interface
R18-10-1 AUTOSAR_SWS_ExecutionManagement S. 60 7.14 Figure 7.14: Deterministic Execution Interface
R19-03 AUTOSAR_SWS_ExecutionManagement S. 59 7.15 Figure 7.15: Deterministic Execution Interface
R19-03 AUTOSAR_SWS_ExecutionManagement S. 59 7.15 Figure 7.15: Deterministic Execution Interface
R19-11 AUTOSAR_SWS_ExecutionManagement S. 62 7.15 Figure 7.15: Deterministic Execution Interface
R19-11 AUTOSAR_SWS_ExecutionManagement S. 62 7.15 Figure 7.15: Deterministic Execution Interface
R20-11 AUTOSAR_SWS_ExecutionManagement S. 66 7.15 Figure 7.15: Deterministic Execution Interface
R20-11 AUTOSAR_SWS_ExecutionManagement S. 66 7.15 Figure 7.15: Deterministic Execution Interface
R21-11 AUTOSAR_SWS_ExecutionManagement S. 68 7.15 Figure 7.15: Deterministic Execution Interface
R21-11 AUTOSAR_SWS_ExecutionManagement S. 68 7.15 Figure 7.15: Deterministic Execution Interface
R22-11 AUTOSAR_SWS_ExecutionManagement S. 71 7.15 Figure 7.15: Deterministic Execution Interface
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 81 7.17 Figure 7.17: Deterministic Execution Interface
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 81 7.17 Figure 7.17: Deterministic Execution Interface