DEENESPTFRRUARHIKOZHNL
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

  1. Eine Adaptive Application ruft zunächst die statische Fabrikmethode OpenKeyValueStorage() des nativen Interface Persistency auf und erhält eine Instanz bzw. Referenz/Handle vom Typ KeyValueStorage.
  2. Über administrative Funktionen von Persistency können Integrität und Gesamtzustand des Speichers geprüft oder modifiziert werden (GetCurrentKeyValueStorageSize(), RecoverKeyValueStorage(), ResetKeyValueStorage()).
  3. Auf der erhaltenen Instanz KeyValueStorage liest 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()).
  4. Änderungen werden über SyncToStorage() persistent auf das physische Speichermedium synchronisiert oder über DiscardPendingChanges() verworfen.

4. Normative Relevanz & Entwickler-Hinweise

  • Klare Trennung zwischen Plattform-Einstiegs-API (Persistency, Native Interface mit Factory OpenKeyValueStorage()) und Datenzugriffs-Objekt (KeyValueStorage, Port Interface).
  • Die Unterstreichung der Operationen im Native Interface Persistency kennzeichnet statische Methoden bzw. freie Funktionen im C++-Mapping.
  • Mit GetCurrentValueSize() steht eine Operation zur Bestimmung der aktuellen Datengröße eines Werts direkt am KeyValueStorage zur Verfügung, ergänzend zur Feststellung der Gesamtgröße des Speichers über GetCurrentKeyValueStorageSize().
  • 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 via DiscardPendingChanges() 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()).

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R24-11 → R25-11 keine inhaltliche Änderung Vorgänger: FIG-115a9d945489550c

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«aapFunctionalCluster» | Persistency | «aapAPI,aapPortInterface» | KeyValueStorage | + DiscardPendingChanges() + GetAllKeys() + GetCurrentValueSize() + GetValue() + KeyExists() + RecoverKey() + RemoveAllKeys() + RemoveKey() + ResetKey() + SetValue() + SyncToStorage() | «aapAPI,aapNativeInterface» | + GetCurrentKeyValueStorageSize() + OpenKeyValueStorage(): KeyValueStorage + RecoverKeyValueStorage() + ResetKeyValueStorage() | Adaptive Application | «use» «use»

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_EXP_SWArchitecture S. 90 9.46 Figure 9.46: Interfaces for key-value-based data storage