Figure 7.3: State Management Architecture
6a398fa523395b14c2e9361a4229e4e7fb92c9e80e6d97a57cc0800eca6aab76
1. Diagrammtyp & Architektur-Kontext
UML-Komponentendiagramm (cmp ArchitectureView) im Kontext der AUTOSAR Adaptive Platform. Das Diagramm spezifiziert die Systemarchitektur und Schnittstellenverbindungen von State Management zu einer Anwendungsinstanz (Application1), den Plattformclustern PHM (Platform Health Management), DIA (Diagnostic Management), UCM (Update and Configuration Management), Network Management sowie zu Execution Management.
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm umfasst folgende Komponenten und Schnittstellen:
- Application1: Anwendungsinstanz, nutzt
ApplicationClient(«ara::exec») und interagiert über ereignisbasierte Ports (TriggerOutApp,TriggerInApp); unterliegt der Ausführungskontrolle durchExecution Management(Start / Terminate). - State Management: Zentraler Koordinator mit doppelter Rollenausprägung (
State ManagementundStateManagement (obsolete)). Besitzt Ports fürTriggerIn,TriggerOut,TriggerInOutsowie projekt-spezifische Events (Project-Specific event). Bietet die als veraltet markierte Service-SchnittstelleStateManagement(obsolete)fürPHM,DIAundUCMviaproperty.subscribe. NutztNetworkManagementüberNetworkHandle(«ara::com»), konsumiertDIA::CurrentStatusviaPackageManagement(«ara::com») vonUCMund ist überApplicationClientsowie C++-Schnittstellen (Request State Transitions,Get State Information) mitExecution Managementverbunden. - PHM, DIA, UCM: Plattformcluster, abonnieren Zustände von
StateManagement(obsolete). UCM stelltPackageManagementbereit; PHM und DIA steuern oder empfangen Zustandsinformationen. - Network Management: Plattformcluster mit Ports für
NetworkCurrentStateundNetworkRequestedState(«ara::com»). - Execution Management: Bietet
Request State Transitions(«IFC Interface», MethodeSetState()),Get State Information(«IFC Interface», MethodeGetState()) undApplicationClient(«ara::exec», MethodeReportApplicationState()). Deklariert zudem die Operation+ fork(): int. - Schnittstellendetails:
TriggerIn(«ara::com»): MethodeTrigger.TriggerOut(«ara::com»): MethodeNotifier.TriggerInOut(«ara::com»): MethodenNotifier,Trigger.StateManagement(obsolete)(«ara::com»): Property<FunctionGroup>_State: ara::core::string, MethodenReleaseRequest(),RequestState().NetworkHandle(«ara::com»): AttributeNetworkCurrentState: boolean,NetworkRequestedState: boolean.PackageManagement(«ara::com»): AttributCurrentStatus: int.
3. Dynamisches Verhalten & Sequenzablauf
Die dynamische Interaktion gliedert sich in:
- Ereignis- und triggerbasierte Interaktion zwischen Applikationen und State Management über standardisierte oder projektspezifische Trigger-Interfaces (
TriggerIn,TriggerOut,TriggerInOut). - Abfrage und Notification von Funktionsgruppenzuständen über die veraltete Schnittstelle
StateManagement(obsolete)an PHM, DIA und UCM per Property-Subscription. - UCM signalisiert Update-Zustände (
PackageManagement::CurrentStatus) an DIA und State Management. - State Management synchronisiert Netzwerkzustände mit Network Management über
NetworkHandle(NetworkRequestedState,NetworkCurrentState). - Zustandsübergänge der Maschine und Funktionsgruppen werden direkt über maschineninterne Schnittstellen (
Request State Transitions::SetState(),Get State Information::GetState()) bei Execution Management angefordert. - Laufzeitstatusmeldungen von Applikationen und Plattformkomponenten erfolgen über
ApplicationClient::ReportApplicationState(). - Prozessinstanziierung und Lebenszyklussteuerung erfolgen durch Execution Management (
fork(): int,Start / Terminate).
4. Normative Relevanz & Entwickler-Hinweise
Architektur mit Übergang zu ara::com-basierten Triggermechanismen für applikative Zustandswechsel. Die Kennzeichnung von StateManagement mit dem Suffix (obsolete) markiert die Deprecation des vormaligen Funktionsgruppen-Zustandsservices. Execution-Management-Kopplung erfolgt über direkte C++- bzw. IFC-Schnittstellen («IFC Interface»), während funktionale Cluster über Service-Schnittstellen gekoppelt sind.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.