AUTOSAR_SWS_Persistency
FIG-a3aa323d1cfd6bec
819 × 584 px
2 Release(s)
Figure 7.1: Typical usage of Persistency within an Adaptive Application
SHA-256 Inhalts-Fingerabdruck:
a3aa323d1cfd6bec404d56dfc6cc170bfa616776bcd3dcda294fca9935e11927
✦
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 Kapselung der beiden komplementären Persistenzmechanismen – schlüsselbasierter strukturierter Datenzugriff (Key-Value Storage) und dateibasierter Bytestream-Zugriff (File-Proxy) – gegenüber dem persistenten Hardwarespeicher.
2. Komponenten, Entitäten & Schnittstellen
- 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 (
KeyA1 = Value1,KeyB1 = Value1, etc.), serialisiert über AUTOSAR-Datentypen. - Kardinalität: 1 … n Key-Value-Datenbanken pro Softwarekomponente; jede Datenbank verwaltet 0 … m Schlüssel-Wert-Paare.
- Repräsentiert diskrete Schlüssel-Wert-Datenbanken (
- File-Proxy (A):
- Repräsentiert ein isoliertes virtuelles Verzeichnis (
ara::per::FileStorage/ File-Proxy-Container). - Modellierung im AUTOSAR-Manifest über
PortPrototype, typisiert durch einPersistencyFileProxyInterface. - Verwaltet raw Byte-Streams bzw. diskrete Dateien (
File1.ext...Filen.ext). - Kardinalität: 1 … n File-Proxies pro Komponente; jeder Proxy kapselt 0 … k Files (
ara::per::ReadAccessor,ara::per::ReadWriteAccessor).
- Repräsentiert ein isoliertes virtuelles Verzeichnis (
- Hardware: Physikalischer nichtflüchtiger Speicher (eMMC, UFS, NOR/NAND-Flash, NVMe-SSD), angebunden über Betriebssystemtreiber und VFS (dargestellt durch den bidirektionalen Datenfluss-Pfeil zu Persistency).
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 Hardware-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 die Hardware geflusht. - File-Proxy: Ö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 & Manifest-Design:
- Jede Instanz von
Key-Value-StorageoderFile-Proxyerfordert im AUTOSAR-Modell ein dediziertes Interface (PersistencyKeyValueDatabaseInterfacebzw.PersistencyFileProxyInterface) sowie die Port-Konfiguration (PRPortPrototype) am SwComponentType. - Deployment-Deskriptoren definieren Speichergrenzen (Quota), Redundanzmechanismen (z. B. M-out-of-N-Kopien, CRC) und URI/Pfad-Mappings.
- Jede Instanz von
- API-Nutzung & Performanz (ara::per):
- Key-Value: Optimal für Statusdaten, Zähler, Kalibrierwerte und Konfigurationen mit kleinen bis mittleren Nutzdatenmengen.
- File-Proxy: Zwingend für große, unstrukturierte oder streaming-basierte Artefakte (Log-Dateien, Core-Dumps, ML-Modelle, Zertifikats-Blobs).
- Speicherzyklus & Wear-Leveling: Entwickler müssen zwingend die Persistenzstrategie (
SyncToStorage) steuern, um unkontrollierte Schreibzugriffe und die Degradation von Flash-Zellen zu verhindern.
- Sicherheits- & Zugriffskapselung:
- Standardmäßig sind Instanzen streng an die jeweilige
AdaptiveApplicationisoliert. Ein prozessübergreifender Datenaustausch über Persistency ist architektonisch untersagt und muss überara::comerfolgen.
- Standardmäßig sind Instanzen streng an die jeweilige
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.