AUTOSAR_AP_SWS_Persistency
FIG-f14d6d93fe3a5938
669 × 586 px
1 Release(s)
Figure 7.1: Typical usage of Persistency within an Adaptive Application
SHA-256 Inhalts-Fingerabdruck:
f14d6d93fe3a59385352f7d3570603f5ba59a5026644fd392ca0877607e7f7bd
✦
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
- Klassifikation: UML-Komponentendiagramm (formales Architektur- und Kapselungsmodell der AUTOSAR Adaptive Platform).
- Technischer Zweck & Einordnung: Illustration der Speicherabstraktion innerhalb des Functional Clusters Persistency (
ara::per) für eine Adaptive Application (AdaptiveApplicationSwComponentType). Es visualisiert die Kapselung der beiden komplementären Persistenzmechanismen – schlüsselbasierter strukturierter Datenzugriff (Key-Value Storage) und dateibasierter Bytestream-Zugriff (File Storage) – unter formaler UML-Stereotypisierung von Prozess- und Entitätsgrenzen.
2. Komponenten, Entitäten & Schnittstellen
- Adaptive Application («process»): Der ausführende Anwendungsprozess im Userspace des POSIX-Betriebssystems, der die Persistenzinstanzen umschließt und ausführt.
- Persistency («subsystem,entity»): Das funktionale Persistenz-Cluster, das als anwendungslokales Subsystem realisiert ist und die Low-Level-Interaktion mit dem Dateisystem kapselt.
- Key-Value Storage A & B («entity»):
- Diskrete Schlüssel-Wert-Datenbanken (
ara::per::KeyValueStorage), modelliert als Entitäts-Komponenten. - Zugriff über
PortPrototype, typisiert durch einPersistencyKeyValueDatabaseInterface. - Verwalten typisierte Schlüssel-Wert-Paare mit expliziter Public-Sichtbarkeit (
+ Key_A1 = Value_A1,+ Key_A2 = Value_A2bis+ Key_An = Value_Anbzw. entsprechend für Storage B). - Kardinalität: Mehrere Key-Value-Datenbanken pro Softwarekomponente (1 … n); jede Datenbank verwaltet 0 … m Schlüssel-Wert-Paare.
- Diskrete Schlüssel-Wert-Datenbanken (
- File Storage C & D («entity»):
- Isolierte Dateispeicher-Container (
ara::per::FileStorage), modelliert als Entitäts-Komponenten. - Zugriff über
PortPrototype, typisiert durch einPersistencyFileStorageInterface. - Verwalten raw Byte-Streams bzw. diskrete Dateien mit Public-Sichtbarkeit (
+ File_C1,+ File_C2bis+ File_Cnbzw. entsprechend für Storage D). - Kardinalität: Mehrere File Storages pro Softwarekomponente (1 … n); jeder Speicher kapselt 0 … k Dateien.
- Isolierte Dateispeicher-Container (
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung & Pre-Deployment:
- Vordefinierte Key-Value-Paare und Init-Dateien werden während der Installations- bzw. Updatephase durch das Update and Configuration Management (UCM) auf Basis des Deployments und Manifests auf dem persistenten Speicher bereitgestellt.
- Laufzeit-Zugriff (CRUD-Operationen):
- Key-Value Storage: Synchrone/asynchrone API-Calls (
GetValue,SetValue,SyncToStorage). Modifikationen im RAM-Cache werden synchron oder verzögert überSyncToStorage()redundant und transaktionssicher (Crash-Konsistenz) auf den persistenten Speicher geflusht. - File Storage: Öffnen und Modifizieren via Stream-Operatoren (
OpenFileReadStream,OpenFileWriteStream). Sperren/Locks auf File-Ebene verhindern nebenläufige Konflikte innerhalb desselben Prozesses.
- Key-Value Storage: Synchrone/asynchrone API-Calls (
- Fehler- und Abbruchverhalten:
- Fehler (z. B. I/O-Fehler, Quota-Überschreitung, Korruption) werden über
ara::core::Result<T>mit spezifischenPerErrc-Fehlercodes zurückgegeben. - Bei Datenkorruption greifen persistenzspezifische Integritätsprüfungen (CRC/Redundanz gemäß Redundancy Handling).
- Fehler (z. B. I/O-Fehler, Quota-Überschreitung, Korruption) werden über
4. Normative Relevanz & Entwickler-Hinweise
- Architektur- und Spezifikationsbezug: Das Diagramm veranschaulicht die funktionale Kapselung persistenter Datenzugriffe auf Anwendungsebene. Es besitzt informativen Charakter und definiert die logische Koexistenz von
KeyValueStorageundFileStorageinnerhalb eines Prozesses. - Port- und Manifest-Modellierung: Entwickler müssen jede Key-Value-Datenbank und jedes File-Storage im Software-Component-Description-Manifest über separate
PortPrototype-Elemente mitPersistencyKeyValueDatabaseInterfacebzw.PersistencyFileStorageInterfacedeklarieren. - Ressourcenallokation & Isolation: Persistente Speicherbereiche sind pro Instanz streng isoliert; Zugriffe erfordern die Konfiguration entsprechender Speicher- und Quota-Limits im Deployment-Manifest.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.