DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_ExecutionManagement FIG-a598ab554dd6def8 841 × 797 px 1 Release(s)

Figure 7.5: Execution dependencies on Non-reporting Process

SHA-256 Inhalts-Fingerabdruck: a598ab554dd6def8b2c44e419acc3d12ab0b569569b133788b023d2a52174f90
✦ 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-Timing-Diagramm / Zustands-Zeitablauf-Diagramm (State Timeline) kombiniert mit Funktionsgruppen-Zustandsphasen (Function Group State Transition).
  • Architektur-Kontext & Zweck:
    • AUTOSAR Adaptive Platform (ARA), Spezifikation AUTOSAR_SWS_ExecutionManagement (Kapitel Execution Management Architecture & Functionality).
    • Modellierung von Prozesszuständen (Idle, Running, Terminated) und deren Steuerung während eines Funktionsgruppen-Zustandswechsels (FunctionGroupState Transition von FG1:Off nach FG1:Running).
    • Visualisierung des Lösungsansatzes für Ausführungsabhängigkeiten (ExecutionDependency) auf nicht-meldende Prozesse (Non-reporting Processes) und selbst-beendende Prozesse (Self-terminating Processes) über das Companion-Process-Muster, um Startup-Race-Conditions zu verhindern.

2. Komponenten, Entitäten & Schnittstellen

  • Entitäten & Metamodell-Elemente:
    • FunctionGroup / FunctionGroupState (FG1:Off, FG1:Running): Betriebszustände der Machine, verwaltet durch das Execution Management (EM) und getriggert durch den State Management Cluster (ara::sm).
    • Process / ProcessExecution (A, B, C, D): Instanzen von Executable, zugeordnet zu FG1:Running via Metamodell-Referenz (ProcessToMachineMappingExec / State Dependent Startup Config).
      • **Prozess A (Non-reporting Process / Self-terminating Process):** Implementiert keinen ara::exec::ExecutionClient. Geht gemäß [SWS_EM_01402] unmittelbar nach dem Fork/Exec-Start durch das EM synthetisch in den Zustand Running über. Führt eine Initialisierungs- oder Einmalaufgabe aus und beendet sich selbstständig (Terminated).
      • **Prozess B (Companion Process):** Regulärer AUTOSAR-Adaptive-Prozess (reportingBehavior = reportsExecutionState). Besitzt eine ExecutionDependency auf Process A == Running. Dient als Prüfinstanz für die funktionale Betriebsbereitschaft von Prozess A.
      • **Prozess C (Dependent Process):** Regulärer Reporting-Prozess mit ExecutionDependency auf Process B == Running.
      • **Prozess D (Post-Termination Process):** Regulärer Prozess mit ExecutionDependency auf Process A == Terminated.
  • Schnittstellen & Interaktion:
    • ExecutionDependency (Kardinalität 0..* im Metamodell ProcessExecutionStateDependency): Richtungsgebundene Startvorbedingung gekoppelt an Zielzustände (kRunning, kTerminated).
    • ara::exec::ExecutionClient::ReportExecutionState(): IPC-Schnittstelle zwischen Prozess und EM-Daemon. Wird von B, C und D genutzt, entfällt zwingend bei A.
    • OS-Kernel-Schnittstelle: Signalierung via SIGCHLD / waitpid() zur zuverlässigen Detektion des Zustands Terminated von Prozess A durch EM.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger des Funktionsgruppenwechsels:
    • Anforderung zur Transition von FG1:Off nach FG1:Running. Eintritt in die Übergangsphase (state transition, schraffierter Bereich).
  2. Start von Prozess A (Non-reporting):
    • Prozess A besitzt keine eingehenden ExecutionDependency-Bedingungen und wird vom EM unmittelbar aus Idle gestartet.
    • Wirkung von SWS_EM_01402: Unmittelbar mit dem Start setzt EM den internen Zustand von A automatisch auf Running, da kein kRunning-Report über den ExecutionClient erwartet wird.
  3. Trigger und Synchronisation des Companion-Prozesses B:
    • Das Erreichen von A == Running triggert die ExecutionDependency von Prozess B. EM startet Prozess B aus Idle.
    • Prozess B nutzt projektspezifische Mechanismen (z. B. IPC-Handshake, Socket-Verbindung, Prüfen von Lockfiles/Pipes), um zu verifizieren, ob Prozess A tatsächlich initialisiert und arbeitsfähig ist.
    • Erst nach erfolgreicher Verifikation meldet B aktiv ExecutionState::kRunning an das EM. B geht in Running über.
  4. Kaskadierter Start von Prozess C:
    • Die ExecutionDependency von Prozess C auf B == Running wird erfüllt. EM startet Prozess C; C meldet Running.
  5. Terminierung von Prozess A & Start von Prozess D:
    • Prozess A schließt seine Aufgabe ab und terminiert. Das OS signalisiert das Prozessende an EM; A wechselt in Terminated.
    • Die ExecutionDependency von D auf A == Terminated wird erfüllt. EM startet Prozess D (Wechsel Idle → Running).
  6. Abschluss der Transition:
    • Nach Erreichen aller geforderten Zustände wird die Transition beendet und der Zielzustand FG1:Running erreicht.

4. Normative Relevanz & Entwickler-Hinweise

  • Spezifikationsanforderung [SWS_EM_01402]:
    • Normativer Wortlaut/Inhalt: Wird ein Prozess als Non-reporting Process konfiguriert, betrachtet das Execution Management diesen unmittelbar nach dem Startaufruf als im Zustand Running befindlich.
  • **Architektur-Pattern (Companion Process):**
    • Eine direkte ExecutionDependency eines Drittprozesses (C) auf einen Non-reporting-Prozess (A) mit Zielzustand kRunning ist ein kritisches Fehlmuster (Race Condition): C würde gestartet, bevor A initialisiert ist.
    • Das Companion-Muster kapselt die fehlende EM-Reporting-Fähigkeit von Drittanbieter-/Legacy-Binaries durch einen zwischengeschalteten Überwacherprozess B.
  • Zuverlässigkeit von Terminated:
    • Im Gegensatz zum Zustand Running erfordert der Zustand Terminated keinen ExecutionClient-Aufruf, da der Exit-Status direkt vom OS-Kernel an EM gemeldet wird. Abhängigkeiten auf kTerminated eines Non-reporting Prozesses sind daher ohne Companion-Prozess deterministisch und sicher einsetzbar.
  • Manifest-Konfiguration:
    • Im Execution-Manifest muss für Prozess A reportingBehavior = false / doesNotReportExecutionState gesetzt sein.
    • Startup-Timeouts zur Überwachung des kRunning-Eingangs greifen für A nicht. Bleibt A hängen, ohne zu terminieren, muss die Fehlerbehandlung über den Companion-Prozess B oder den Platform Health Management Cluster (ara::phm) erfolgen.

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

R22-11 → R23-11 keine inhaltliche Änderung Vorgänger: FIG-75836b67cc9e8583

Keine inhaltlichen Änderungen erkennbar.

R23-11 → R24-11 keine inhaltliche Änderung Nachfolger: FIG-f306f73ab3b88c68

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

t | FG1:Off Function Group 1 State | Idle Running Terminated B | FG1:Running | Idle Running Terminated | A | Process State | A B | Idle Running Terminated C | Idle Running Terminated D | reference | dependency | state transition Process | C D

Begleitender Spezifikationstext:

Specification of Execution Management AUTOSAR AP R23-11 the Companion Process. Please note that the Terminated Execution Dependency is not affected as Execution Management is informed by the Operating System when Non-reporting Processes are Terminated. Please see Figure 7.5 for more details. t FG1:Off Function Group 1 State Idle Running Terminated B FG1:Running Idle Running Terminated A Process State A B Idle Running Terminated C Idle Running Terminated D reference dependency state transition Process C D Figure 7.5: Execution dependencies on Non-reporting Process • Non-reporting Process (and Self-terminating Process) A references FG1:Running. This process is started first (as it doesn’t have any Execution Dependencies configured) and automatically enters Running Process State as per [SWS_EM_01402]. • Companion Process B is started after Non-reporting Process A (please note that A and B are also standard AUTOSAR processes) enter Running state. process B can use project specific method to assess if process A is fully functional and signal this to Execution Management by reporting (or not) kRunning state. 48 of 197 Document ID 721: AUTOSAR_AP_SWS_ExecutionManagement

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 48 7.5 Figure 7.5: Execution dependencies on Non-reporting Process
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 48 7.5 Figure 7.5: Execution dependencies on Non-reporting Process