AUTOSAR_AP_EXP_SWArchitecture
FIG-1ddeda60e5704dda
470 × 444 px
1 Release(s)
Figure 9.46: Interfaces for key-value-based data storage
SHA-256 Inhalts-Fingerabdruck:
1ddeda60e5704ddaf2aee6f648f20b7aacb31471b2f5bffbae617f7349a2da90
✦
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» KeyValueStorage (Interface/Klasse): Instanzspezifisches Objektinterface für den Zugriff auf Schlüssel-Wert-Paare:
+ DiscardPendingChanges()+ GetAllKeys()+ GetCurrentValueSize()+ 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
KeyValueStorageliest und schreibt die Anwendung Werte (GetValue(),SetValue()), prüft Schlüssel (KeyExists()), ermittelt die Größe gespeicherter Werte (GetCurrentValueSize()), 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. - Mit
GetCurrentValueSize()steht eine Operation zur Bestimmung der aktuellen Datengröße eines Werts direkt amKeyValueStoragezur Verfügung, ergänzend zur Feststellung der Gesamtgröße des Speichers überGetCurrentKeyValueStorageSize(). - 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.