AUTOSAR_AP_SWS_Persistency
FIG-d71d6530b4c6db96
681 × 770 px
1 Release(s)
Figure 10.3: Persistency File Storage Configuration
SHA-256 Inhalts-Fingerabdruck:
d71d6530b4c6db962f456e624ee81bc9a1726b1b01c400b6203c6feb93191733
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Metamodell-Klassendiagramm / Parametrisierungs- und Konfigurationsmodell (AUTOSAR Adaptive Platform Model Configuration, APMC).
- Funktionale Einordnung: Spezifikation der Manifest-Konfiguration des Functional Clusters Persistency (
ara::per) für die dateibasierte Speicherung (File Storage). Es definiert die standardisierte Baumstruktur der Konfigurationscontainer und -parameter, mit denen Persistency-Dateispeicher und darin verwaltete Dateien im Ausführungs- bzw. Software-Paket-Manifest deklariert werden.
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm definiert eine kompositionelle Hierarchie ausgehend vom funktionalen Cluster bis hin zu einzelnen Dateiparametern und Update-Strategien:
Persistency(ApmcFunctionalClusterDef, Mult.:0..*): Wurzel-Definition des Functional Clusters für Persistenz-Konfigurationen auf Plattformebene.+container→PersistencyFileStorageCollection(ApmcParamConfContainerDef, Mult.:0..1): Optionaler Sammelcontainer zur Aggregation aller dateibasierten Speicherinstanzen.
PersistencyFileStorage(ApmcParamConfContainerDef, Mult.:0..*): Repräsentiert eine konkrete Instanz eines logischen Dateispeichers (File Storage), der über die C++ API (ara::per::OpenFileStorage) adressiert wird.+container→PersistencyCommon(ApmcParamConfContainerDef, Mult.:1..1): Obligatorischer Basis-Container für allgemeine Speichereigenschaften (z. B. Redundanz, Integritätsprüfungen oder generelle Zugriffsattribute).+container→PersistencyCryptoKeySlotProps(ApmcParamConfContainerDef, Mult.:0..1): Optionale Verknüpfung zu Crypto-Key-Slots zur Verschlüsselung/Signierung auf Storage-Ebene.
+container→PersistencyFileCollection(ApmcParamConfContainerDef, Mult.:0..1): Optionaler Container zur Auflistung vorab konfigurierter/initialer Dateien innerhalb des Speichers.
PersistencyFile(ApmcParamConfContainerDef, Mult.:0..*): Beschreibt eine spezifische, im Manifest deklarierte Datei innerhalb desPersistencyFileStorage.+container→PersistencyCryptoKeySlotProps(ApmcParamConfContainerDef, Mult.:0..1): Optionale dateispezifische Krypto-Konfiguration (Verschlüsselung/Integritätssicherung für die einzelne Datei).+element→FileName(ApmcStringParamDef, Mult.:1..1): Eindeutiger logischer Name bzw. Pfadbezeichner der Datei innerhalb des File Storage.+element→ContentUri(ApmcStringParamDef, Mult.:0..1): Optionale URI auf ein initial bereitzustellendes Daten-Image bzw. Initial-Content im Auslieferungszustand (z. B. Paket-Payload).+element→ElementUpdateStrategy(ApmcEnumerationParamDef, Mult.:1..1): Pflicht-Steuerung des Verhaltens bei Software-Updates/FOTA. Aggregiert als+literal:KEEP_EXISTING(ApmcEnumerationLiteralDef): Bestehende Datei auf dem Target-Dateisystem bleibt unverändert erhalten; neue Version im Paket wird verworfen.OVERWRITE(ApmcEnumerationLiteralDef): Datei wird bedingungslos durch den neuen Stand aus dem Update-Paket überschrieben.DELETE(ApmcEnumerationLiteralDef): Datei wird im Rahmen des Updates gelöscht bzw. nicht mehr vorgehalten.
3. Dynamisches Verhalten & Sequenzablauf (falls zutreffend)
- Statisches Metamodell: Das Diagramm bildet keine Laufzeit-Sequenzen ab.
- Lebenszyklusbezug (Update & Manifest-Auswertung):
- Deployment / Installation: Die Manifest-Engine parst
PersistencyFileStorageund legt das Speicherverzeichnis/die Metadaten an. FallsContentUriangegeben ist, wird die initiale Nutzlast kopiert. - Software-Update: Das Update and Configuration Management (UCM) bzw. die Persistency-Initialisierungsroutine evaluiert
ElementUpdateStrategy:- Bei
OVERWRITEwird die Zieldatei mit der Payload ausContentUriüberschrieben. - Bei
KEEP_EXISTINGwerden persistierte Benutzer-/Anwendungsdaten geschützt. - Bei
DELETEwird die Datei entfernt.
- Bei
- Laufzeit: Der C++ API-Aufruf
ara::per::OpenFileStorage(...)bindet an die überPersistencyFileStoragekonfigurierte Instanz; Zugriffe überara::per::Filenutzen die überPersistencyCryptoKeySlotPropsundFileNamedeklarierten Eigenschaften.
- Deployment / Installation: Die Manifest-Engine parst
4. Normative Relevanz & Entwickler-Hinweise
- Manifest-Autoren & Integratoren:
- Jede im Manifest deklarierte persistente Datei (
PersistencyFile) erfordert zwingend einenFileNameund eineElementUpdateStrategy. Fehlt die Angabe, ist das Manifest schema-ungültig. - Das Vorhandensein von
PersistencyCommonmit Multiplizität1..1erzwingt die Definition von Basiseigenschaften pro File-Storage-Instanz.
- Jede im Manifest deklarierte persistente Datei (
- Applikations-Entwickler (
ara::per):- Vorab im Manifest deklarierte Dateien stehen der Applikation sofort zur Verfügung. Dynamisch zur Laufzeit erzeugte Dateien, die nicht im Manifest deklariert wurden, unterliegen nicht zwingend den im Modell deklarierten Krypto-Slots oder Standard-Update-Strategien.
- Krypto-Absicherung (
PersistencyCryptoKeySlotProps) kann hierarchisch erfolgen: global auf Storage-Ebene (PersistencyCommon) oder granular überschrieben pro Einzeldatei (PersistencyFile).
- Update- & FOTA-Sicherheit:
- Die Wahl von
ElementUpdateStrategyist architekturkritisch: Falsch deklariertesOVERWRITEbei Konfigurationsdateien führt zum Verlust gelernter/kalibrierter Laufzeitdaten; fälschlichesKEEP_EXISTINGverhindert Bugfixes an statischen Konfigurationstabellen.
- Die Wahl von
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.