Figure 9.41: Interfaces required by Persistency
850d0350b5752e01d4d9d276ad72e4e3fae83c00c375ddc27f5bd31f93b0b96b
1. Diagrammtyp & Architektur-Kontext
UML-Klassendiagramm / Komponentendiagramm zur Darstellung der statischen Abhängigkeiten und geforderten Schnittstellen des Functional Clusters Persistency innerhalb der AUTOSAR Adaptive Platform (ARA). Es zeigt die vertikalen Relationen («use») des Clusters zu internen Abstraktionen, nativen Schnittstellen anderer Cluster sowie einem serviceorientierten Port-Interface.
2. Komponenten, Entitäten & Schnittstellen
- Zentraler Funktionscluster:
«aapFunctionalCluster» Persistency(grün hervorgehoben)
- Verwendete Schnittstellen und Zielkomponenten (von links nach rechts):
- Schnittstelle
«aapInternal» Non-volatile Storage(realisiert via Generalisierung/Realization durch KomponenteOperating System). - Schnittstelle
«aapAPI,aapNativeInterface» Cryptography::CryptoStack(realisiert durch Cluster-Komponente«aapFunctionalCluster» Cryptography daemon-based, gelb). - Schnittstelle
«aapAPI,aapNativeInterface» Log and Trace::Logger(realisiert durch Cluster-Komponente«aapFunctionalCluster» Log and Trace, rot). Operationen:+ IsEnabled()+ Log(MsgId, Params)+ LogDebug(): LogStream+ LogError(): LogStream+ LogFatal(): LogStream+ LogInfo(): LogStream+ LogVerbose(): LogStream+ LogWarn(): LogStream+ WithLevel(): LogStream
- Schnittstelle
«aapAPI,aapPortInterface» Time Synchronization::SynchronizedTimeBaseConsumer(angebunden über«aapRequiredPort»mit«use», realisiert durch Cluster-Komponente«aapFunctionalCluster» Time Synchronization daemon-based, blau). Operationen:+ GetCurrentTime()+ GetRateDeviation()+ GetTimeWithStatus(): SynchronizedTimeBaseStatus+ RegisterStatusChangeNotifier()+ RegisterSynchronizationStateChangeNotifier()+ RegisterTimeLeapNotifier()+ RegisterTimePrecisionMeasurementNotifier()+ RegisterTimeValidationNotification()+ UnregisterStatusChangeNotifier()+ UnregisterSynchronizationStateChangeNotifier()+ UnregisterTimeLeapNotifier()+ UnregisterTimePrecisionMeasurementNotifier()+ UnregisterTimeValidationNotification()
- Schnittstelle
3. Dynamisches Verhalten & Sequenzablauf
Das Diagramm stellt eine rein statische Architekturbeziehung dar. Dynamische Abläufe oder Nachrichtensequenzen sind nicht spezifiziert. Es definiert die statischen Aufruf- und Port-Abhängigkeiten («use»), über welche Persistency während der Laufzeit synchrone C++-Methoden (Logging, Kryptografie, OS-Speicher) sowie zeitbezogene Notifikationen und Zeitabfragen abwickelt.
4. Normative Relevanz & Entwickler-Hinweise
- Die Persistency-Implementierung benötigt direkten Zugriff auf den nicht-flüchtigen Speicher des Betriebssystems (
Non-volatile Storage). - Für kryptografische Operationen (z. B. Verschlüsselung von persistenten Daten) ist die native C++-API von
CryptoStackerforderlich. - Für Diagnose- und Betriebsdaten-Ausgaben ist die native Schnittstelle
Loggereinzubinden. - Zur Erfassung synchronisierter Zeitstempel und Registrierung auf Zeitsprünge oder Statuswechsel muss ein Required Port für
SynchronizedTimeBaseConsumerbereitgestellt und an den Time Synchronization Daemon gebunden werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.