AUTOSAR_AP_EXP_SWArchitecture
FIG-3fc295ad4ef2e7c2
450 × 171 px
1 Release(s)
Figure 11.20: Scenario: Get KeyValueStorage Size
SHA-256 Inhalts-Fingerabdruck:
3fc295ad4ef2e7c2c9cb172c1fdf71f77127b2504aa9dc1c89feebce5c1e29c3
✦
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
- Diagrammtyp: UML-Sequenzdiagramm (Interaktionsszenario).
- Architektur-Kontext: AUTOSAR Adaptive Platform (Release R23-11), funktionale Domäne Persistency (
ara::per), spezifiziert im DokumentAUTOSAR_AP_EXP_SWArchitecture(Kapitel 11.3.1.5.2). - Technischer Zweck: Veranschaulichung des Interaktionsflusses zur dynamischen Ermittlung des aktuell durch einen Key-Value-Speicher belegten Speicherplatzes auf dem persistenten Datenträger durch eine Adaptive Application.
2. Komponenten, Entitäten & Schnittstellen
:Adaptive Application(Akteur / Lifeline):- Nutzerprozess im User Space der Adaptive Platform, der persistente Schlüssel-Wert-Paare verwaltet.
«aapFunctionalCluster» :Persistency(Plattform-Entität / Lifeline):- AUTOSAR Adaptive Platform Functional Cluster (
ara::per). - Trägt das platformspezifische Stereotyp
«aapFunctionalCluster». - Kapselt Dateisystem- und Datenbankzugriffe, Redundanz-/Integritätsmechanismen sowie Verschlüsselung.
- AUTOSAR Adaptive Platform Functional Cluster (
:Operating System(Akteur / Lifeline):- POSIX-konformes Betriebssystem (Kernel- / VFS-Schicht). Stellt grundlegende Systemaufrufe für Dateisystem-, Partitions- und I/O-Metadaten bereit.
- Schnittstellen & Methoden:
GetCurrentKeyValueStorageSize(): Public API-Methode der Klasse/Instanz vonara::per::KeyValueStoragean der C++-Sprachbindung.«aapInformative» getSize(): Plattforminterne bzw. betriebssystemnahe Operation / Abstraktion von Systemcalls (z. B.stat(),fstat()oder VFS-Abfragen zur Berechnung der aggregierten Block-/Dateigrößen der internen Speicherstrukturen), durch das Stereotyp«aapInformative»explizit als informativer Aufruf gekennzeichnet.
3. Dynamisches Verhalten & Sequenzablauf
- Trigger / Aufruf durch Applikation:
- Die
:Adaptive Applicationinitiiert den synchronen FunktionsaufrufGetCurrentKeyValueStorageSize()an der geöffnetenKeyValueStorage-Instanz des Functional Clusters:Persistency.
- Die
- Interne Größenermittlung via OS:
:Persistencyaktiviert seinen Ausführungsbalken und delegiert die Ermittlung der physischen Speicherbelegung an das:Operating SystemviagetSize().- Das Betriebssystem ermittelt Metadaten der zugrunde liegenden Speicherstrukturen (Dateien, SQLite-DBs, Blockallokationen).
- Ergebnisrückgabe (implizit):
- Das
:Operating Systemmeldet die Bytegröße an:Persistencyzurück. :Persistencyaggregiert ggf. Overhead/Metadaten und liefert das Ergebnis typsicher (alsara::core::Result<std::uint64_t>) an die aufrufende:Adaptive Applicationzurück.
- Das
4. Normative Relevanz & Entwickler-Hinweise
- API-Semantik & Fehlerbehandlung (
ara::per):- Der Aufruf liefert den tatsächlichen physischen bzw. logischen Platzbedarf des spezifischen KeyValue-Speichers in Bytes.
- Entwickler müssen den Rückgabewert als
ara::core::Resultbehandeln (Prüfung auf Fehler wiePerErrc::kStorageIntegrityCorruptedoder Zugriffsprobleme bei beschädigten I/O-Kanälen).
- Laufzeit- & Echtzeitverhalten:
GetCurrentKeyValueStorageSize()ist ein I/O- und OS-gebundener Call. Abhängig von der internen Persistenz-Engine (JSON-/BSON-Flatfiles, relationale SQLite-Dateien, Key-Value-Stores) kann der Aufruf Dateisystemtraverse- und Disk-Leseoperationen auslösen.- Echtzeitrestriktion: Der Aufruf ist potenziell blockierend und darf nicht in harten, zeitkritischen Ausführungspfaden (Determinismus/Control-Loops) ausgeführt werden.
- Konfigurationsaspekte:
- Das Kontingent (
quota) für einenKeyValueStoragewird im Manifest (PersistencyPortPrototype,PersistencyKeyValueStorageInterface) definiert. Die Methode dient primär zur Laufzeitüberwachung gegen ein konfiguriertesmaximumAllowedSize-Limit, um ein Volllaufen des Speichers präventiv abzufangen.
- Das Kontingent (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.