DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_EXP_SWArchitecture FIG-026c11c35bbd4b3d 280 × 309 px 1 Release(s)

Figure 9.3: Interfaces for state reporting

SHA-256 Inhalts-Fingerabdruck: 026c11c35bbd4b3dd1303954dcce648cb84b8b4006e8bd21bda28b445bc417df
✦ 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-Komponenten- und Schnittstellendiagramm (AUTOSAR AP Architecture Blueprint).
  • Technischer Zweck: Spezifikation des Zustandsmelde-Mechanismus (State Reporting) zwischen OS-Prozessen und dem Plattform-Daemon des Functional Clusters Execution Management (EM) gemäß AUTOSAR Adaptive Platform R21-11.
  • Architektonische Einordnung: EM ist für den deterministischen Lebenszyklus aller Prozesse zuständig. Die Schnittstelle entkoppelt den überwachenden Daemon von der überwachten Applikation über eine clientseitige Laufzeitbibliothek.

2. Komponenten, Entitäten & Schnittstellen

  • Adaptive Application (UML-Komponente):
    • Repräsentiert den Instanz-Prozess einer Anwendungs- oder Plattform-Software auf der Adaptive Machine.
  • Execution Management (UML-Komponente):
    • Stereotyp: «aapFunctionalCluster», Ausprägung: daemon-based.
    • Zentraler Hintergrunddienst im User Space zur Prozessverwaltung, Zustandsverifikation und Integritätsprüfung.
  • ExecutionClient (Schnittstelle):
    • Stereotypen: «aapAPI», «aapNativeInterface».
    • C++-Laufzeitschnittstelle (ara::exec::ExecutionClient), lokal in den Prozess der Applikation gelinkt.
    • Operationen:
      • + Create(): Statische Erzeugungsmethode / Factory-Funktion (im UML-Klassendiagramm unterstrichen dargestellt) zur Instanziierung des ExecutionClient.
      • + ReportExecutionState(ExecutionState): Result:
        • Parameter: ExecutionState (Typ ara::exec::ExecutionState, z. B. kRunning).
        • Rückgabe: Result (ara::core::Result<void> für fehlerbasiertes Error-Handling ohne C++-Exceptions).
  • Beziehungen:
    • Adaptive Application → ExecutionClient: «use»-Abhängigkeit; die Applikation instanziiert und ruft die Client-Klasse auf.
    • Execution Management daemon-based → ExecutionClient: Schnittstellenrealisierung (Interface Realization, gestrichelte Linie mit geschlossener, nicht ausgefüllter Pfeilspitze); der Daemon implementiert die serverseitige Logik hinter der nativen API via Betriebssystem-IPC.

3. Dynamisches Verhalten & Sequenzablauf

  1. Prozessstart: EM erzeugt den Prozess der Adaptive Application (via OS-Systemaufrufe fork/exec gemäß dem zugrundeliegenden ExecutionManifest).
  2. Initialisierung: Die Applikation führt ihre interne Initialisierung aus (Plattformbasis, Memory Allocations, Threads, ara::core::Initialize()).
  3. Zustandsmeldung:
    • Sobald die Applikation funktionsbereit ist, ruft sie synchron ReportExecutionState(ExecutionState::kRunning) am lokalen ExecutionClient auf.
    • Der ExecutionClient serialisiert die Nachricht und übermittelt sie per schneller OS-Interprozesskommunikation (Unix Domain Sockets, Pipes oder POSIX Message Queues) an den EM-Daemon.
  4. Zustandsübergang in EM:
    • Der EM-Daemon empfängt den Report, verifiziert die Prozessidentität (PID/UID) und schaltet den internen Prozessstatus auf Running.
    • Die Operation kehrt zur Applikation mit einem erfolgreichen ara::core::Result<void> zurück.
  5. Timeout- und Fehlerbehandlung:
    • Sendet die Applikation den Status kRunning nicht innerhalb des im Manifest konfigurierten startupTimeout, deklariert EM einen Startup-Fehler.
    • Mögliche Konsequenzen: Prozess-Terminierung (SIGTERM/SIGKILL), Restart-Versuch oder Fehlermeldung an das State Management (SM) zur Einleitung von Recovery-Aktionen.

4. Normative Relevanz & Entwickler-Hinweise

  • Normative Pflicht: Jeder durch EM gestartete Prozess (sowohl Adaptive Application als auch Plattform-Cluster-Dienste) muss seinen Zustand über ara::exec::ExecutionClient melden. Ein Unterlassen führt zum Timeout-Abbruch durch EM.
  • Native Interface vs. ara::com: ExecutionClient ist bewusst ein «aapNativeInterface» und kein serviceorientierter ara::com-Dienst. Dies gewährleistet, dass das State-Reporting ohne Abhängigkeit von Communication Management, IPC-Daemonen oder Service-Discovery in frühesten Boot-Phasen sicher funktioniert.
  • Timing-Budgetierung: Embedded-Entwickler müssen sicherstellen, dass die Vorinitialisierung (inklusive Blockaden durch Dateizugriffe, Hardware-Initialisierung etc.) vor dem ReportExecutionState-Aufruf strikt unter dem konfigurierten startupTimeout des ExecutionManifest bleibt.
  • Aufruf-Position: Der Aufruf von ReportExecutionState(ExecutionState::kRunning) markiert den Eintritt in die zyklische Arbeitsphase bzw. Service-Bereitschaft und sollte unmittelbar vor Eintritt in die Event-Loop / Worker-Threads erfolgen.

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

R23-11 → R24-11 keine inhaltliche Änderung Vorgänger: FIG-a4bdb36228548c05

Keine inhaltlichen Änderungen erkennbar.

R24-11 → R25-11 normative Änderung Nachfolger: FIG-e5d4b0c0c9bbff28
  • ExecutionClient: Rückgabetyp : Result bei der Operation ReportExecutionState(ExecutionState) entfernt (Rückgabetyp entfällt bzw. ist void).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«aapFunctionalCluster» Execution Management daemon-based | «aapAPI,aapNativeInterface» | ExecutionClient | + Create() + ReportExecutionState(ExecutionState): Result | Adaptive Application | «use»

Begleitender Spezifikationstext:

Explanation of Adaptive Platform Software Architecture AUTOSAR AP R24-11 △ Responsibilities: Execution Management is responsible to control Processes of the AUTOSAR Adaptive Platform and Adaptive Applications. That is, it starts, configures, and stops Processes as configured in Function Group States using interfaces of the Operating System. The Operating System is responsible for runtime scheduling of those Processes. The configuration of Processes that Execution Management performs includes limiting their resource consumption (CPU time, memory) using Resource Groups provided by the Operating System. Execution Management is the entry point of AUTOSAR Adaptive Platform and is started by the Operating System during system boot. Execution Management then controls the startup and shutdown of the AUTOSAR Adaptive Platform (see use cases Start Adaptive Platform and Shutdown Adaptive Platform for details). Execution Management optionally supports authenticated startup where it maintains the chain of trust when starting from a Trust Anchor. During authenticated startup Execution Management validates the authenticity and integrity of Processes and shall prevent their execution if violations are detected. Through these mechanisms, a trusted platform can be established. 9.2.1.1 Defined interfaces The interfaces of Execution Management are categorized into interfaces for state reporting (see Section 9.2.1.1.1) and interfaces for State Management (see Section 9.2.1.1.2). 9.2.1.1.1 Interfa

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_AP_EXP_SWArchitecture S. 48 9.3 Figure 9.3: Interfaces for state reporting