Figure 9.6: Users of the State Management interfaces
05eb6da2558a5809ed324db76accbd1df846f17d2cb0ad414ebdf4705ea277fa
1. Diagrammtyp & Architektur-Kontext
UML-Klassendiagramm und Schnittstellenarchitektur der AUTOSAR Adaptive Platform (AP) im Kontext des State Management (SM). Das Diagramm spezifiziert die Interaktionsbeziehungen zwischen den beiden dämongestützten Funktionsclustern State Management und Execution Management (EM). Entgegen der Dokumentenunterschrift modelliert diese Fassung primär die Schnittstellen, die vom Execution Management realisiert und vom State Management konsumiert werden, um Maschinen- und Funktionsgruppenübergänge auf Betriebssystem- bzw. Prozessebene durchzuführen.
2. Komponenten, Entitäten & Schnittstellen
- «aapFunctionalCluster» State Management: Dämonbasierter Funktionscluster (daemon-based), agiert als Aufrufer/Konsument («use»).
- «aapFunctionalCluster» Execution Management: Dämonbasierter Funktionscluster (daemon-based), agiert als Realisierer/Diensteanbieter aller drei Schnittstellen.
- «aapAPI,aapNativeInterface» StateClient: Native C++-API von EM, realisiert durch Execution Management und genutzt durch State Management («use»). Enthält die statische Fabrikmethode + Create(function) sowie die Instanzmethoden + GetExecutionError(), + GetInitialMachineStateTransitionResult() und + SetState(FunctionGroupState): Future.
- «aapAPI,aapPortInterface» FunctionGroup: Port-basierte Abstraktion einer Funktionsgruppe, realisiert durch Execution Management und über «aapRequiredPort» mit Abhängigkeit «use» an State Management angebunden. Enthält die statische Fabrikmethode + Create().
- «aapAPI,aapNativeInterface» FunctionGroupState: Native Abstraktion eines Funktionsgruppenzustands, realisiert durch Execution Management und genutzt durch State Management («use»). Enthält die statische Fabrikmethode + Create().
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung: State Management erzeugt Instanzen von FunctionGroup und FunctionGroupState über die statischen Fabrikmethoden Create(). Zeitgleich wird der StateClient über Create(function) instanziiert.
- Statuserfassung: State Management fragt mittels GetInitialMachineStateTransitionResult() das Ergebnis des anfänglichen Hochlaufs der Machine-State-Transition vom Execution Management ab.
- Zustandsanforderung: Zur Zustandsänderung einer Funktionsgruppe ruft State Management die Methode SetState(FunctionGroupState) am StateClient auf. Die Übergabe initiiert die Prozessaktivierung/-terminierung im Execution Management; das Ergebnis wird asynchron über das Rückgabeobjekt Future bereitgestellt.
- Fehlerbehandlung: Tritt bei einer Transition ein Fehler auf, fragt State Management über GetExecutionError() detaillierte Fehlerinformationen vom Execution Management ab.
4. Normative Relevanz & Entwickler-Hinweise
Die Schnittstellen kapseln sicherheitskritische Kernmechanismen für die Prozess- und Partitionssteuerung. StateClient, FunctionGroup und FunctionGroupState bilden die fundamentale Programmierschnittstelle (ara::exec::StateClient) zur Prozesslebenszyklussteuerung. Das Rückgabeobjekt Future bei SetState() erfordert eine deterministische, nicht-blockierende Auswertung im State Management, um Thread-Blockaden oder Deadlocks bei Zustandswechseln zu verhindern. Das Zusammenwirken von «aapPortInterface» (Modellierungsebene im Software-Design) und «aapNativeInterface» (direkte API-Realisierung) definiert die vertragliche Bindung im Execution Manifest.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.