AUTOSAR_AP_SWS_NetworkManagement
FIG-31372499f93da936
332 × 382 px
1 Release(s)
Figure 5.1: Interfaces provided by Network Management to other Functional Clusters
SHA-256 Inhalts-Fingerabdruck:
31372499f93da93664e8bc3a81498dea6338f53db69fefa5696e5c4d0adc8ad1
✦
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
- Klassifikation: UML-Komponenten- und Schnittstellendiagramm (AUTOSAR Adaptive Platform Architecture Modeling).
- Technischer Zweck: Spezifikation der standardisierten Service-/Port-Schnittstelle zwischen den Functional Clusters (FC) Network Management (NM) und State Management (SM).
- Architektur-Kontext:
- In der AUTOSAR Adaptive Platform (Release R23-11) ist das Network Management für die Überwachung und Anforderung des Kommunikationsbus-Zustands (z. B. Ethernet/CAN-NM-Cluster) zuständig.
- Das State Management (als zentrale Instanz für Maschinen- und Funktionszustände) steuert koordinativ die partiellen Netze und Cluster über definierte Schnittstellen an, anstatt direkt auf Bussignale oder Treiber zuzugreifen.
2. Komponenten, Entitäten & Schnittstellen
Entitäten & Stereotypen
«aapFunctionalCluster» State Management(Klassifikation:daemon-based):- Konsument/Client der Schnittstelle.
- Agiert als zuständiger System-Daemon für ECU-/Machine-State-Übergänge und bindet die benötigte Schnittstelle über einen Required Port ein.
«aapFunctionalCluster» Network Management(Klassifikation:daemon-based):- Provider/Server der Schnittstelle.
- Realisiert die Kernlogik des Netzwerkmanagements (Netzwerk-Zustandsmaschine, Bus-Sleep, Repeat Message, Normal Operation) und ist explizit als prozessbasierter Daemon-Cluster spezifiziert.
«aapAPI,aapPortInterface» NetworkHandle:- Abstrakte Schnittstellendefinition (ara::com / native C++ Schnittstelle), welche die Steuer- und Abfragemethoden bündelt:
GetNetworkRequestedState(): Synchroner Getter für den aktuell angeforderten Soll-Netzwerkzustand.GetNetworkState(): Synchroner Getter für den tatsächlichen Ist-Zustand des Netzwerks (Bus-State).SetNetworkRequestedState(): Setter zur Anforderung oder Freigabe des Netzwerks (Transition Trigger).RegisterNetworkRequestedStateChangeNotifier()/UnregisterNetworkRequestedStateChangeNotifier(): Registrierungs-/Deregistrierungsmechanismus für Callbacks bei Änderung des Soll-Zustands.RegisterNetworkStateChangeNotifier()/UnregisterNetworkStateChangeNotifier(): Registrierungs-/Deregistrierungsmechanismus für Callbacks bei Änderung des realen Bus-/Netzwerkzustands.
- Abstrakte Schnittstellendefinition (ara::com / native C++ Schnittstelle), welche die Steuer- und Abfragemethoden bündelt:
Beziehungen & Abhängigkeiten
- Interface Realization (Implementierung):
- Gestrichelte Linie mit geschlossener, nicht gefüllter Pfeilspitze von
Network ManagementaufNetworkHandle. Network Managementstellt die konkrete Implementierung der Schnittstelle bereit (ProvidedPort).
- Gestrichelte Linie mit geschlossener, nicht gefüllter Pfeilspitze von
- Usage Dependency (Verwendung):
- Gestrichelte Pfeillinie mit offener Spitze von
State ManagementaufNetworkHandle, annotiert mit«use»und«aapRequiredPort». State Managementdeklariert einen Abhängigkeits-Port auf die SchnittstelleNetworkHandle.
- Gestrichelte Pfeillinie mit offener Spitze von
3. Dynamisches Verhalten & Sequenzablauf
Das Diagramm modelliert die statische Schnittstellenstruktur, impliziert jedoch folgendes dynamisches Interaktionsmuster zwischen State Management und Network Management:
- Initialisierung & Observer-Registrierung (Asynchron/Event-driven):
- SM ruft während der Initialisierung
RegisterNetworkStateChangeNotifier()undRegisterNetworkRequestedStateChangeNotifier()auf. - NM speichert die bereitgestellten Funktionszeiger/Delegate-Instanzen (
std::functionbzw. Listener-Objekte).
- SM ruft während der Initialisierung
- Netzwerk-Aktivierung / Freigabe (Steuerungspfad):
- Anforderung: SM entscheidet aufgrund von State-Transitions (z. B. Wechsel in den State Running), dass Netzwerkkommunikation erforderlich ist, und ruft synchron/blockierungsarm
SetNetworkRequestedState(...)auf. - Quittierung & Monitoring: NM schaltet intern die NM-Zustandsmaschine um (z. B. Senden von NM-PDUs, Halten des Busses wach) und notifiziert das SM über die registrierten Notifier-Callbacks bei Statuswechseln.
- Anforderung: SM entscheidet aufgrund von State-Transitions (z. B. Wechsel in den State Running), dass Netzwerkkommunikation erforderlich ist, und ruft synchron/blockierungsarm
- Zustandsabfrage (Synchroner Polling-Pfad):
- SM kann zu jedem Zeitpunkt über
GetNetworkState()bzw.GetNetworkRequestedState()den aktuellen Zustand abfragen, um Vorbedingungen für weitere State-Transitions (z. B. Vorbereitung des System-Shutdowns/Sleep) zu prüfen.
- SM kann zu jedem Zeitpunkt über
- De-Registrierung:
- Vor dem Herunterfahren oder bei Rekonfiguration deregistriert SM die Observer über
UnregisterNetwork*ChangeNotifier(), um Dangling-Pointer bzw. Callbacks auf terminierte Kontexte zu verhindern.
- Vor dem Herunterfahren oder bei Rekonfiguration deregistriert SM die Observer über
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag (C++ Namespace
ara::nm):- Entwickler von State-Management-Regeln müssen sich strikt an die
NetworkHandle-Abstraktion halten; direkter Zugriff auf darunterliegende Busprotokolle (z. B. UDP-Sockets, CAN-Interfaces) ist architektonisch unzulässig.
- Entwickler von State-Management-Regeln müssen sich strikt an die
- Thread-Safety & Reentrancy:
- Die Notifier-Callbacks werden im Ausführungskontext des Network-Management-Daemons bzw. dessen Worker-Threads aufgerufen. SM-Entwickler müssen sicherstellen, dass Notifier-Routinen nicht-blockierend ausgelegt sind und keine Deadlocks durch synchrone Rückrufe (
SetNetworkRequestedState) innerhalb des Notifier-Kontexts provozieren.
- Die Notifier-Callbacks werden im Ausführungskontext des Network-Management-Daemons bzw. dessen Worker-Threads aufgerufen. SM-Entwickler müssen sicherstellen, dass Notifier-Routinen nicht-blockierend ausgelegt sind und keine Deadlocks durch synchrone Rückrufe (
- Zustandssynchronisation:
GetNetworkRequestedState()spiegelt lediglich den logischen Anforderungsstatus wider. Ob der physische Bus tatsächlich kommunikationsbereit ist, liefert ausschließlichGetNetworkState()(bzw. dessen Notifier). State-Maschinen im SM dürfen erst nach Bestätigung des tatsächlichen Netzwerkzustands davon ausgehen, dass Kommunikation (ara::com Services) voll einsatzbereit ist.
- Port-Konfiguration im ARXML-Manifest:
- Das Deployment erfordert die Deklaration eines entsprechenden
RPortPrototypeim Execution/Service-Manifest des State Management und eines korrespondierendenPPortPrototypeim Network Management Cluster, gebunden über das interne IPC-/Service-Binding der Adaptive Platform.
- Das Deployment erfordert die Deklaration eines entsprechenden
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.