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

Figure 9.3: Interfaces for state reporting

SHA-256 Inhalts-Fingerabdruck: a4bdb36228548c05b29f28aae040e1f0a174e0d2ae2309d6f3adbaa4f16b8f65
✦ 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)

R22-11 → R23-11 normative Änderung Vorgänger: FIG-0cf05ecf8a5ab7ef
  • ExecutionClient: Statische Operation + Create() hinzugefügt (unterstrichen als Klassen-/Factory-Methode dargestellt).
R23-11 → R24-11 keine inhaltliche Änderung Nachfolger: FIG-026c11c35bbd4b3d

Keine inhaltlichen Änderungen erkennbar.

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 R23-11 9.2.1.1.1 Interfaces for state reporting All processes started by Execution Management (i.e. all processes of the AUTOSAR Adaptive Platform and all processes of Adaptive Applications) shall report their execution state back to Execution Management via the ExecutionClient interface (cf. Figure 9.3). «aapFunctionalCluster» Execution Management daemon-based «aapAPI,aapNativeInterface» ExecutionClient + Create() + ReportExecutionState(ExecutionState): Result Adaptive Application «use» Figure 9.3: Interfaces for state reporting Name: ExecutionClient Technology: Native interface Usage: Public API Description: This interface provides functionality for a Process to report its execution state to Execution Management. Create Named constructor for this interface. Operations: ReportExecutionState Report the internal state of a Process to Execution Management. 9.2.1.1.2 Interfaces for State Management The StateClient API (cf. Figure 9.4) provides operations to control FunctionGroupStates. «aapFunctionalCluster» Execution Management daemon-based «aapFunctionalCluster» State Management daemon-based «aapAPI,aapNativeInterface» StateClient + Create(function) + GetExecutionError() + GetInitialMachineStateTransitionResult() + SetState(FunctionGroupState): Future «aapAPI,aapPortInterface» FunctionGroupState «use» «use» «aapRequiredPort» Figure 9.4: Interfaces for State Management 41 of 198 Document ID 982: AUTOSAR_AP_EX

Vorkommen in AUTOSAR-Releases (1)

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