DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_ExecutionManagement FIG-e4f340069869fc8c 887 × 794 px 3 Release(s)

Figure 7.1: Start-up Sequence – from Startup to initial running state Driving

SHA-256 Inhalts-Fingerabdruck: e4f340069869fc8cb7e0eaa8b3271956c522c48ba1700e7ca4ea2c462abe4b31
✦ 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-Sequenzdiagramm (Interaktionsdiagramm) mit formalem Sequenzrahmen sd Startup to Initial StateXYZ.
  • Funktionaler Kontext: AUTOSAR Adaptive Platform (AP), Release 21-11 bis 23-11, Functional Cluster Execution Management (ara::exec) in Interaktion mit dem Betriebssystem (OS) und dem Functional Cluster State Management (ara::sm).
  • Technischer Zweck: Spezifikation des Startablaufs vom OS-Boot über die Prozessinitialisierung von SM bis zur asynchronen Synchronisation auf den initialen Maschinenzustand und der anschließenden Anforderung eines Zielzustands (StateXYZ) einer Funktionsgruppe via ara::core::Future.

2. Komponenten, Entitäten & Schnittstellen

  • Akteure / Lifelines:
    • OS: Unterlagerndes POSIX-konformes Betriebssystem.
    • EM (Execution Management, ara::exec): Zentraler Plattform-Dienst für Prozessverwaltung und Funktionsgruppen-Zustandswechsel.
    • SM (State Management, ara::sm): Plattform-Applikation zur systemweiten Zustandssteuerung.
  • Schnittstellen & Interaktionskanäle:
    • OS -> EM: main(): Programmeinstiegspunkt von EM nach Abschluss des OS-Boots.
    • EM -> SM: CreateProcess(SM): Betriebssystemnahe Erzeugung des SM-Prozesses durch das Execution Management.
    • SM -> EM: ReportExecutionState(kRunning): Statusmeldung des Prozesses an EM über die Ausführungsschnittstelle (ara::exec::ExecutionClient).
    • SM -> EM: GetInitialMachineStateTransitionResult(): ara::core::Future<void>: Nicht-blockierende Abfrage des Ergebnisses des initialen Startup-Zustandsübergangs.
    • EM -> SM: GetInitialMachineStateTransitionResult() «future invocation»: Asynchrone Benachrichtigung bei Fertigstellung des initialen Maschinenzustands.
    • SM -> EM: SetState(FunctionGroupState &stateXYZ): ara::core::Future<void>: Steuerungsaufruf zum Wechsel einer Funktionsgruppe in den Zustand stateXYZ mit Rückgabe eines ara::core::Future.
    • EM -> SM: SetState(): Transition completed «future invocation»: Asynchrone Signalisierung des abgeschlossenen Zustandswechsels nach Erfüllung des Futures.

3. Dynamisches Verhalten & Sequenzablauf

  1. Bootstrap Phase:
    • Nach dem Kernel-Boot ruft das OS die main()-Funktion von EM auf, das als Init-Prozess im User-Space startet.
  2. State Management Instanziierung & Bereitschaft:
    • EM erzeugt direkt den Prozess des State Managements (CreateProcess(SM)).
    • Nach interner Initialisierung meldet SM seine Einsatzbereitschaft mittels ReportExecutionState(kRunning) an EM.
  3. Synchronisation auf den Initialzustand:
    • SM fordert über GetInitialMachineStateTransitionResult() das Ergebnis des initialen Maschinenzustandsübergangs an und erhält sofort ein ara::core::Future<void>.
    • EM führt die initiale Zustandstransition aus und löst das Future asynchron auf (GetInitialMachineStateTransitionResult() «future invocation»).
  4. Funktionsgruppen-Zustandswechsel (StateXYZ):
    • Nach Erreichen des Initialzustands fordert SM über SetState(FunctionGroupState &stateXYZ) den Wechsel in den Zielzustand an und erhält ein ara::core::Future<void>.
    • EM aktiviert die für stateXYZ konfigurierten Prozesse und signalisiert den erfolgreichen Abschluss asynchron an SM (SetState(): Transition completed «future invocation»).

4. Normative Relevanz & Entwickler-Hinweise

  • API-Evolution (ReportExecutionState): Die Meldung der Betriebsbereitschaft erfolgt über ReportExecutionState(kRunning) (gemäß ara::exec::ExecutionClient), wobei auf synchrone Bestätigungen wie kSuccess verzichtet wird.
  • Asynchrones Future-Paradigma: Übergang von synchron blockierenden Aufrufen zu non-blocking APIs mit Rückgabe von ara::core::Future<void> sowohl bei der Abfrage der Startup-Transition als auch bei SetState.
  • Typsichere Funktionsgruppen (FunctionGroupState): Ablösung generischer State-Strings durch typisierte Objektreferenzen (FunctionGroupState &stateXYZ), was das modulare Funktionsgruppen-Konzept der Adaptive Platform widerspiegelt.
  • Obligatorische Startup-Synchronisation: Das State Management muss über GetInitialMachineStateTransitionResult das Ende des Maschinenzustands-Bootstrappings abwarten, bevor weitere Funktionsgruppen-Zustandsübergänge getriggert werden dürfen.

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

R18-03_R1.4.0 → R21-11 normative Änderung Vorgänger: FIG-d6840a27d2da3bf1
  • Interaktionsrahmen loop: Der Schleifenrahmen All Platform Applications um die Applikationsinitialisierung entfällt; dargestellt ist die direkte Prozessinstanziierung von SM.
  • Diagrammrahmen & Bezeichner: Umbenennung des Rahmens von Startup to Initial Driving State zu standardisiertem UML-Rahmen sd Startup to Initial StateXYZ (Generalisierung des Zielzustands von Driving zu StateXYZ).
  • Meldung des Ausführungszustands: Ersetzung von ApplicationClient::ReportApplicationState(kRunning) durch ReportExecutionState(kRunning) ohne explizite synchrone kSuccess-Rückgabe.
  • Initialer Maschinenzustand: Hinzufügen der asynchronen Abfrage GetInitialMachineStateTransitionResult(): ara::core::Future<void> inklusive Rückmeldung via «future invocation» vor Anforderung des ersten Zustandswechsels.
  • Schnittstelle SetState: Ersetzung von SetState("MachineState", Driving) durch SetState(FunctionGroupState &stateXYZ): ara::core::Future<void> (Einführung des Typs FunctionGroupState anstelle von String/Enum).
  • Asynchrones Verhaltensmodell: Ersetzung der synchronen kSuccess-Rückgabewerte durch das asynchrone Future-Muster (ara::core::Future<void> mit Fertigstellungsmeldung SetState(): Transition completed «future invocation»).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Vorkommen in AUTOSAR-Releases (6)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R21-11 AUTOSAR_SWS_StateManagement S. 21 7.1 Figure 7.1: Start-up Sequence – from Startup to initial running state Driving
R21-11 AUTOSAR_SWS_StateManagement S. 21 7.1 Figure 7.1: Start-up Sequence – from Startup to initial running state Driving
R22-11 AUTOSAR_SWS_StateManagement S. 22 7.1 Figure 7.1: Start-up Sequence – from Startup to initial running state Driving
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 56 7.8 Figure 7.8: Start-up Sequence – from Startup to initial running state StateXYZ
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 56 7.8 Figure 7.8: Start-up Sequence – from Startup to initial running state StateXYZ
R23-11 AUTOSAR_AP_SWS_StateManagement S. 24 7.1 Figure 7.1: Start-up Sequence – from Startup to initial running state Driving