DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_ExecutionManagement FIG-66aef658b5b6965e 480 × 340 px 1 Release(s)

Figure 5.2: Interfaces provided by Execution Management to State Management

SHA-256 Inhalts-Fingerabdruck: 66aef658b5b6965e010087f85643df91714119f38001fcf48624402c2fa1ee68
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

1. Diagrammtyp & Architektur-Kontext

  • Diagrammtyp: UML-Klassendiagramm / Schnittstellendiagramm (AUTOSAR Adaptive Platform Metamodell-Mapping).
  • Technischer Zweck: Spezifikation der Schnittstellenbeziehung zwischen den beiden daemon-basierten funktionalen Clustern State Management (SM) und Execution Management (EM) gemäß AUTOSAR_AP_SWS_ExecutionManagement (R23-11).
  • Architektonische Einordnung: EM stellt den Ausführungsmechanismus bereit (Prozess-Lifecycle, Ressourcenüberwachung, Zustandswechselausführung), während SM die deterministische Kontrollinstanz (Policy Manager) darstellt. SM triggert Zustandswechsel für Funktionsgruppen und Maschinenstati ausschließlich über die von EM bereitgestellten Schnittstellen.

2. Komponenten, Entitäten & Schnittstellen

Entitäten & Stereotypen
  • State Management («aapFunctionalCluster», daemon-based): Konsument der Steuerungsschnittstellen; initiiert Transitionen und wertet Fehlerzustände aus.
  • Execution Management («aapFunctionalCluster», daemon-based): Anbieter und Implementierer der Schnittstellen; kontrolliert Betriebssystemprozesse (Process, ProcessExecutionManifest).
  • StateClient («aapAPI,aapNativeInterface»): C++-API (ara::exec::StateClient) mit folgenden Methoden:
    • + Create(function) (statische Factory-Methode): Instanziierung des Clients mit Übergabe eines Callback-Funktors (z. B. für asynchrone Transition-Notifications / Error-Handling).
    • + GetExecutionError(): Synchrone Statusabfrage des letzten aufgetretenen Ausführungsfehlers im Funktionsgruppenkontext.
    • + GetInitialMachineStateTransitionResult(): Liefert das Ergebnis der initialen Maschinenstatus-Transition nach Plattform-Boot.
    • + SetState(FunctionGroupState): Future: Asynchrone Anforderung eines Wechsels in den spezifizierten Zustand einer Funktionsgruppe.
  • FunctionGroupState («aapAPI,aapPortInterface»): Port-basiertes Metamodell-Interface zur typsicheren Repräsentation und Adressierung konfigurierter Funktionsgruppen (FunctionGroup) und deren Zielzustände (FunctionGroupState).
Beziehungen & Abhängigkeiten
  • Realisierung (InterfaceRealization / gestrichelte Linie mit geschlossener, nicht ausgefüllter Pfeilspitze):
    • Execution Management realisiert StateClient (Native C++ API Provider).
    • Execution Management realisiert FunctionGroupState (Bereitstellung der Port-Interface-Semantik auf Plattformebene).
  • Nutzungsabhängigkeit («use» / gestrichelte offene Pfeillinie):
    • State Management nutzt StateClient für imperative API-Aufrufe.
  • Port-Nutzungsabhängigkeit («use», «aapRequiredPort» / gestrichelte offene Pfeillinie):
    • State Management besitzt einen typisierten Required Port (RPortPrototype) gegen das FunctionGroupState-PortInterface zur modellbasierten Bindung.

3. Dynamisches Verhalten & Sequenzablauf

  1. Initialisierung:
    • SM instanziiert den Client über ara::exec::StateClient::Create(callback).
    • SM prüft via GetInitialMachineStateTransitionResult(), ob der initiale Systemboot (z. B. MachineState = Startup) durch EM erfolgreich abgeschlossen wurde.
  2. Zustandsübergang (Asynchroner Pfad):
    • SM ruft SetState(targetState) mit einer gültigen FunctionGroupState-Referenz auf.
    • Der Aufruf blockiert nicht, sondern liefert sofort ein ara::core::Future<void>.
    • EM bestimmt alle abhängigen Prozesse, terminiert veraltete Prozesse (SIGTERM / SIGKILL nach Timeout), startet neu erforderliche Prozesse und wartet auf deren ReportExecutionState(kRunning).
    • Sobald die Transition vollständig abgeschlossen oder fehlgeschlagen ist, setzt EM das korrespondierende ara::core::Promise.
  3. Fehlerbehandlung:
    • Scheitert ein Prozessstart oder die Zustandsverifikation, wird das Future fehlerhaft aufgelöst. SM ermittelt über GetExecutionError() bzw. den registrierten Callback die Fehlerursache (ExecErrc) und initiiert Fail-Safe- oder Degradations-Strategien.

4. Normative Relevanz & Entwickler-Hinweise

  • Zugriffsbeschränkung & IAM: StateClient ist ein geschütztes Systeminterface. In der Manifest-Modellierung muss dem SM-Prozess über Prozess-Rechte (ExecutionClientPermission bzw. StateClientAuthorization) das exklusive Recht zur Instanziierung eingeräumt werden. Standard-Applikationen (AdaptiveApplications) dürfen StateClient nicht einbinden.
  • Asynchronitäts-Paradigma (ara::core::Future): SetState() darf innerhalb des SM-Haupt-Eventloops niemals blockierend (Future::get() / Future::wait()) behandelt werden, um Deadlocks bei mehrstufigen Transitionen und Timeout-Überwachungen im SM-Daemon zu verhindern. Verwendung von .then()-Continuations oder Polling via wait_for().
  • Modellierungs-Konsistenz (ARXML):
    • Jede im Code über FunctionGroupState adressierte Entität muss zwingend im ExecutionManifest definiert und mit den Zielprozessen (StartupConfig) verknüpft sein.
    • Das PortInterface FunctionGroupState definiert die vertragliche Basis zwischen dem Systementwurf (ARXML) und der C++-Kompilierzeitbindung (ara::exec::FunctionGroupState).

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

R23-11 → R24-11 normative Änderung Nachfolger: FIG-f89e84391d8711ac
  • FunctionGroup: Neues Schnittstellenelement mit Stereotyp «aapAPI,aapPortInterface» und statischer Operation + Create() neu hinzugefügt.
  • FunctionGroupState: Stereotyp von «aapAPI,aapPortInterface» zu «aapAPI,aapNativeInterface» geändert.
  • FunctionGroupState: Statische Operation + Create() neu hinzugefügt.
  • State Management: Abhängigkeit zu FunctionGroupState von einer Port-Abhängigkeit («use», «aapRequiredPort») auf eine native C++-Nutzungsabhängigkeit («use») umgestellt.
  • State Management: Neue Port-Abhängigkeit («use», «aapRequiredPort») auf das Interface FunctionGroup gerichtet.
  • Execution Management: Neue Schnittstellenrealisierung (InterfaceRealization) für FunctionGroup ergänzt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«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»

Begleitender Spezifikationstext:

Specification of Execution Management AUTOSAR AP R23-11 5 Dependencies to other Functional Clusters This chapter provides an overview of the dependencies to other Functional Clusters in the AUTOSAR Adaptive Platform. Section 5.1 “Provided Interfaces” lists the interfaces provided by Execution Management to other Functional Clusters. Section 5.2 “ Required Interfaces” lists the interfaces required by Execution Management. A detailed technical architecture documentation of the AUTOSAR Adaptive Platform is provided in [6]. 5.1 Provided Interfaces «aapFunctionalCluster» Execution Management daemon-based «aapAPI,aapNativeInterface» ExecutionClient + Create() + ReportExecutionState(ExecutionState): Result «aapFunctionalClust... State Management daemon-based «aapFunctionalClust... Diagnostic Management daemon-based «aapFunctionalClust... Platform Health Management daemon-based «aapFunctionalClust... Update and Configuration Management daemon-based «aapFunctionalClust... Time Synchronization daemon-based «use» «use» «use» «use» «use» Figure 5.1: Interfaces provided by Execution Management to other Functional Clusters Figure 5.1 shows the interfaces provided by Execution Management to other Functional Clusters within the AUTOSAR Adaptive Platform. «aapFunctionalCluster» Execution Management daemon-based «aapFunctionalCluster» State Management daemon-based «aapAPI,aapNativeInterface» StateClient + Create(function) + GetExecutionError() + GetInitialMachineStateTransitionResult() + SetSt

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 21 5.2 Figure 5.2: Interfaces provided by Execution Management to State Management
R23-11 AUTOSAR_AP_SWS_ExecutionManagement S. 21 5.2 Figure 5.2: Interfaces provided by Execution Management to State Management