AUTOSAR_AP_EXP_SWArchitecture
FIG-4927e742d5d704e8
671 × 490 px
1 Release(s)
Figure 11.11: Scenario: Read Persistent Data with Unique ID
SHA-256 Inhalts-Fingerabdruck:
4927e742d5d704e80e1af113bfbbde8baa7281473972ad43d8110370ba50c549
✦
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
- Diagrammtyp: UML-Sequenzdiagramm (Interaktionsdiagramm mit kombinierten Fragmenten
altundref). - Technischer Zweck & Einordnung: Spezifikation des standardisierten Leseablaufs für persistente Schlüssel-Wert-Daten (Key-Value Storage, KVS) in der AUTOSAR Adaptive Platform (AP, Release R23-11). Das Szenario zeigt das Zusammenwirken zwischen der Anwendungsschicht (
ara::per), dem Betriebssystem (POSIX-Dateisystem/Storage) sowie den optionalen Manifest-gesteuerten Mechanismen zur Fehlererkennung/-korrektur (Redundanz) und transparenten Entschlüsselung viaara::crypto.
2. Komponenten, Entitäten & Schnittstellen
- Akteure & Lifelines:
:Adaptive Application(Akteur/Prozess): Aufrufende funktionale Instanz im User-Space der Adaptive Platform.«aapFunctionalCluster» :Persistency(Funktionaler Cluster): Implementierung derara::per-Spezifikation, fungiert als Vermittler, Cache- und Speicher-Manager.:Operating System(Akteur/Infrastruktur): Unterlagerte POSIX-kompatible Betriebssystem-Schnittstelle (Dateisystem-/Blocktreiber-Ebene).«aapFunctionalCluster» :Cryptography(Funktionaler Cluster): Kryptografiesubsystem (ara::crypto) zur sicheren Schlüsselverwaltung und symmetrischen Block-/Stream-Entschlüsselung.
- Schnittstellen & Interaktionspunkte:
OpenKeyValueStorage(): KeyValueStorage: Statische Factory-Methode der C++-API (ara::per::OpenKeyValueStorage) zur Instanziierung/Bindung eines Storage-Handles basierend auf dem Applikations-Manifest.GetValue(key): Typsichere Abfragemethode amKeyValueStorage-Objekt zum Auslesen des Werts für einen eindeutigen Identifier (key).- OS-Systemaufrufe:
open()zum Öffnen des korrespondierenden Storage-Deskriptors undread()zum Laden der Rohdatenblöcke. - Krypto-Schnittstelle: Interaktionsreferenz
Initialize Cipherund synchrone BlocktransformationProcessBlock()über den Cipher-Kontext vonara::crypto.
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung des Storage-Handles:
- Die
:Adaptive Applicationsetzt den synchronen AufrufOpenKeyValueStorage()an:Persistencyab. :Persistencyöffnet die zugrundeliegende Persistenzdatei/Datenbank über den OS-Systemaufrufopen(). Ein Handle aufKeyValueStoragewird an die Applikation zurückgegeben.
- Die
- Datenanforderung:
- Die Applikation triggert
GetValue(key)an:Persistency. :Persistencyführt einen synchronen Blocklesevorgang überread()am:Operating Systemaus.
- Die Applikation triggert
- Bedingte Datenintegritätsprüfung & Fehlerkorrektur (
alt[Redundancy enabled in the Manifest]):- Falls Redundanzmechanismen (z. B. M-out-of-N-Replikation, Prüfsummen/ECC) im Manifest konfiguriert sind, verzweigt der Ablauf in die Referenz
Detect and Correct Data Errors. Etwaige Bitkipper oder Dateikorruptionen werden intern repariert.
- Falls Redundanzmechanismen (z. B. M-out-of-N-Replikation, Prüfsummen/ECC) im Manifest konfiguriert sind, verzweigt der Ablauf in die Referenz
- Bedingte Entschlüsselung (
alt[KeySlotMapping exists in Manifest and keySlotUsage = encryption]):- Ist dem Storage oder dem Key im Manifest ein
KeySlotmit Verwendungszweckencryptionzugeordnet, initiiert:Persistencyüber die ReferenzInitialize Cipherden passenden Entschlüsselungskontext in:Cryptography. - Über
ProcessBlock()werden die verschlüsselten Rohdaten synchron an:Cryptographyübergeben und im Speicher dechiffriert.
- Ist dem Storage oder dem Key im Manifest ein
- Rückgabe:
:Persistencydeserialisiert die validierten bzw. entschlüsselten Nutzdaten und liefert den Wert synchron an die:Adaptive Applicationzurück.
4. Normative Relevanz & Entwickler-Hinweise
- Transparenz für Applikationsentwickler: Integritätsprüfung, Fehlerkorrektur und kryptografische Operationen erfolgen vollständig gekapselt innerhalb von
ara::per. Die Applikation interagiert ausschließlich über die High-Level-API (GetValue) und muss weder Krypto-Schlüssel manuell instanziieren noch Redundanz-Validierungen selbst implementieren. - Manifest-Konfiguration:
- Redundanzverhalten (
PersistencyRedundancyHandling) muss im Persistency-Port/Execution-Manifest explizit deklariert sein; andernfalls führt Datenkorruption zu Leseabbruch (ara::per::PerErrc::kPhysicalStorageFailurebzw.kIntegrityCorrupted). - Für Verschlüsselung muss ein valides
KeySlotMappingauf einen existierenden Crypto-KeySlot vorhanden sein. Fehlende Mappings oder inkompatiblekeySlotUsage-Attribute führen zu Initialisierungsfehlern beim Zugriff.
- Redundanzverhalten (
- Performance & Blocking: Da
read(), Krypto-Operationen (ProcessBlock) und Fehlerkorrekturalgorithmen im Kontext des aufrufenden Threads synchron ausgeführt werden können, müssen Latenzen im Echtzeitbudget berücksichtigt werden; zeitkritische Tasks sollten Storage-Ladevorgänge nicht in deterministischen Ausführungszyklen triggern.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.