AUTOSAR_AP_EXP_SWArchitecture
FIG-1163424c1507a5ad
470 × 425 px
1 Release(s)
Figure 9.37: Interfaces for key-value-based data storage
SHA-256 Inhalts-Fingerabdruck:
1163424c1507a5ad456ec959ba65b69f45ef108cb078daa424e80bcd1607e79e
✦
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
UML-Klassendiagramm / Komponentendiagramm im Kontext der AUTOSAR Adaptive Platform Architecture (Cluster Persistency, Sub-Bereich Key-Value-Storage). Das Diagramm spezifiziert die Schnittstellenbeziehungen zwischen einer Anwendungskomponente (Adaptive Application), den angebotenen C++-APIs des Functional Clusters und der Realisierung durch das funktionale Cluster Persistency.
2. Komponenten, Entitäten & Schnittstellen
- Adaptive Application (
«component»): Anwendungskomponente, die persistente Schlüssel-Wert-Speicherung nutzt; besitzt ausgehende gerichtete Abhängigkeiten («use») auf beide Persistency-Schnittstellen. - «aapFunctionalCluster» Persistency (
«component»): Realisierende Plattformkomponente des Clusters Persistency; implementiert (--▷, Interface Realization) sowohl das native Interface als auch das Port Interface. - «aapAPI,aapNativeInterface» Persistency (Interface/Klasse): Statische bzw. freie native C++-API-Funktionen zur Speicherverwaltung:
+ GetCurrentKeyValueStorageSize()+ OpenKeyValueStorage(): KeyValueStorage+ RecoverKeyValueStorage()+ ResetKeyValueStorage()(alle Operationen unterstrichen, d. h. statische Elementfunktionen / globale Funktionen).
- «aapAPI,aapPortInterface» Persistency::KeyValueStorage (Interface/Klasse): Instanzspezifisches Objektinterface für den Zugriff auf Schlüssel-Wert-Paare:
+ DiscardPendingChanges()+ GetAllKeys()+ GetValue()+ KeyExists()+ RecoverKey()+ RemoveAllKeys()+ RemoveKey()+ ResetKey()+ SetValue()+ SyncToStorage()
3. Dynamisches Verhalten & Sequenzablauf
- Eine
Adaptive Applicationruft zunächst die statische FabrikmethodeOpenKeyValueStorage()des nativen InterfacePersistencyauf und erhält eine Instanz bzw. Referenz/Handle vom TypKeyValueStorage. - Über administrative Funktionen von
Persistencykönnen Integrität und Gesamtzustand des Speichers geprüft oder modifiziert werden (GetCurrentKeyValueStorageSize(),RecoverKeyValueStorage(),ResetKeyValueStorage()). - Auf der erhaltenen Instanz
Persistency::KeyValueStorageliest und schreibt die Anwendung Werte (GetValue(),SetValue()), prüft Schlüssel (KeyExists()), fragt vorhandene Schlüssel ab (GetAllKeys()) oder entfernt bzw. setzt sie zurück (RemoveKey(),RemoveAllKeys(),ResetKey(),RecoverKey()). - Änderungen werden über
SyncToStorage()persistent auf das physische Speichermedium synchronisiert oder überDiscardPendingChanges()verworfen.
4. Normative Relevanz & Entwickler-Hinweise
- Klare Trennung zwischen Plattform-Einstiegs-API (
Persistency, Native Interface mit FactoryOpenKeyValueStorage()) und Datenzugriffs-Objekt (KeyValueStorage, Port Interface). - Die Unterstreichung der Operationen im Native Interface
Persistencykennzeichnet statische Methoden bzw. freie Funktionen im C++-Mapping. - Persistenzoperationen sind transaktionsartig aufgebaut: Schreib- und Löschoperationen können im Speicher gepuffert sein und erfordern zur persistenten Festschreibung den expliziten Aufruf von
SyncToStorage(), andernfalls können sie viaDiscardPendingChanges()verworfen werden. - Fehlerbehandlung und Recovery sind zweistufig ausgelegt: auf Granularitätsebene des gesamten Speichers (
RecoverKeyValueStorage(),ResetKeyValueStorage()) und auf Granularitätsebene einzelner Schlüssel (RecoverKey(),ResetKey()).
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.