AUTOSAR_SWS_Persistency
FIG-08c78db8ef539276
819 × 549 px
1 Release(s)
Figure 7.1: Typical usage of Persistency within an Adaptive Application
SHA-256 Inhalts-Fingerabdruck:
08c78db8ef539276c0ba74cbe2ec59108a0f090fa4e8c98bbc65cbac5a8a48ed
✦
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: Informelles Block- und Architektur-Strukturdiagramm (Komponenten- 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 Koexistenz und logische Kapselung der beiden komplementären Persistenzmechanismen – schlüsselbasierter strukturierter Datenzugriff (Key-Value Storage) und dateibasierter Bytestream-Zugriff (File Storage).
2. Komponenten, Entitäten & Schnittstellen
- Adaptive Application (
AdaptiveApplicationSwComponentType): Der ausführende Anwendungsprozess im Userspace des POSIX-Betriebssystems, in dessen Kontext die Persistenzinstanzen instanziiert und betrieben werden. - Persistency (ara::per): Das funktionale Persistenz-Cluster, das als anwendungslokale C++-Bibliothek realisiert ist und die Low-Level-Interaktion mit dem darunterliegenden Dateisystem bzw. Flash/NVRAM kapselt.
- Key-Value Storage (A & B):
- Repräsentiert diskrete Schlüssel-Wert-Datenbanken (
ara::per::KeyValueStorage). - Modellierung im AUTOSAR-Manifest über
PortPrototype(P-Port / R-Port), typisiert durch einPersistencyKeyValueDatabaseInterface. - Hält typisierte Schlüssel-Wert-Paare (
Key_A1 = Value_A1,Key_A2 = Value_A2,Key_B1 = Value_B1, etc.), serialisiert über AUTOSAR-Datentypen. - Kardinalität: 1 … n Key-Value-Datenbanken pro Softwarekomponente (visualisiert durch Storage A und B mit vertikalen Auslassungspunkten
...); jede Datenbank verwaltet 0 … m Schlüssel-Wert-Paare.
- Repräsentiert diskrete Schlüssel-Wert-Datenbanken (
- File Storage (C & D):
- Repräsentiert isolierte virtuelle Dateicontainer (
ara::per::FileStorage). - Modellierung im AUTOSAR-Manifest über
PortPrototype, typisiert durch einPersistencyFileStorageInterface. - Verwaltet raw Byte-Streams bzw. diskrete Dateien (
File_C1,File_C2,File_D1,File_D2, etc.). - Kardinalität: 1 … n File Storages pro Komponente (visualisiert durch Storage C und D mit vertikalen Auslassungspunkten
...); jeder Speicher kapselt 0 … k Dateien (ara::per::ReadAccessor,ara::per::ReadWriteAccessor).
- Repräsentiert isolierte virtuelle Dateicontainer (
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.