AUTOSAR_AP_EXP_SWArchitecture
FIG-d6bdcd8c46fb5bb3
801 × 392 px
1 Release(s)
Figure 10.8: Use Cases for Reading Persistent Data
SHA-256 Inhalts-Fingerabdruck:
d6bdcd8c46fb5bb3363471575afca4547754b6b59362af3c5c3d212c3ef1acf6
✦
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-Use-Case-Diagramm (Anwendungsfalldiagramm) unter Verwendung des AUTOSAR Adaptive Platform Profils (
«aap*»-Stereotypen). - Technischer Zweck: Spezifikation der funktionalen Anwendungsfälle für Lesezugriffe auf nicht-flüchtigen Speicher innerhalb des Functional Clusters Persistency (
ara::per) der AUTOSAR Adaptive Platform (AP). - Architektur-Einordnung: Verortung der Persistency-Dienste zwischen anfordernden Applikationen (
Adaptive Application), dem zugrundeliegenden POSIX-Betriebssystem (Operating System) und unterstützenden Plattform-Clustern (Cryptography).
2. Komponenten, Entitäten & Schnittstellen
Akteure & externe Entitäten
Adaptive Application(from Actors): Primärer aktiver Akteur (User-Space-Prozess), der Leseoperationen über die standardisierten C++-APIs (ara::per) initiiert.Operating System(from Actors): Sekundärer Akteur; stellt Basissystemdienste (POSIX-Dateisystem, Block-Device-Treiber, NVRAM-/Flash-Treiber, Speicherschutz) bereit.«aapFunctionalCluster» Cryptography: Plattform-Service (alsdaemon-basedannotiert); übernimmt kryptografische Primitiven und Schlüsseloperationen für gesicherte Persistenzbereiche.
Anwendungsfälle («aapUseCase») innerhalb der Grenze Persistency
Read Persistent Data: Zentraler, generalisierter Use Case für das Laden gespeicherter Datenbestände.- Spezialisierungen (Generalisierungsbeziehung):
Read Persistent Data with Unique ID: Abbildung des Key-Value-Storage-Musters (ara::per::KeyValueStorage). Zugriff erfolgt typsicher über eindeutige Bezeichner/Keys (ara::core::String).Read Persistent Data from File: Abbildung des File-Storage-Musters (ara::per::FileStorage). Bereitstellung von Bytestream-orientiertem Zugriff über File-Proxies/Reader (ara::per::ReadAccessor).
- Erweiterungen (
«extend»-Beziehung):Detect and Correct Data Errors: Bedingte Erweiterung zur Absicherung der Datenintegrität (Validierung von Prüfsummen/CRCs, Auswertung konfigurierter Redundanzen wie M-out-of-N oder ECC zur Laufzeit-Fehlerkorrektur).Decrypt Persistent Data: Bedingte Erweiterung zur Entschlüsselung von Chiffretexten bei persistierten Datenbereichen, die als vertraulich konfiguriert sind.
Beziehungen & Stereotypen
«aapTriggers»: Gerichtet vonAdaptive ApplicationaufRead Persistent Data(aktive Auslösung).«aapParticipates»:- Gerichtet von
Operating SystemaufRead Persistent Data(Bereitstellung der I/O-Infrastruktur). - Gerichtet von
«aapFunctionalCluster» CryptographyaufDecrypt Persistent Data(Bereitstellung des Entschlüsselungsdienstes).
- Gerichtet von
Generalization(geschlossene Pfeilspitze):Read Persistent Data with Unique IDundRead Persistent Data from Fileerben die Basiseigenschaften vonRead Persistent Data.«extend»(gestrichelter Pfeil):Detect and Correct Data ErrorsundDecrypt Persistent Dataerweitern den BasisablaufRead Persistent Dataan definierten Extension Points, sofern über das Persistency-Manifest konfiguriert.
3. Dynamisches Verhalten & Sequenzablauf
- Trigger: Die
Adaptive Applicationsetzt einen Leseaufruf überara::per::KeyValueStorage::GetValue()oderara::per::FileStorage::OpenFileReadStream()ab. - I/O-Ausführung (OS-Beteiligung): Der Persistency-Cluster fordert die Rohdatenblöcke synchron/asynchron über Systemschnittstellen des
Operating Systeman. - Integritätsprüfung (
«extend» Detect and Correct Data Errors):- Prüfung von Prüfsummen/Hashes über den gelesenen Block.
- Bei Bitkippern/Inkonsistenzen: Rekonstruktion über redundante Speicherblöcke (z. B. Spiegelung/CRC-Korrektur). Bei irreparablen Fehlern Rückgabe von
ara::per::PerErrc::kPhysicalStorageFailureoderkIntegrityCorrupted.
- Kryptografische Entschlüsselung (
«extend» Decrypt Persistent Data):- Ist der Storage-Port verschlüsselt modelliert, delegiert Persistency die Chiffratdaten via IPC an den
daemon-basedClusterCryptography(ara::crypto). Cryptographyentschlüsselt die Nutzdaten mit dem passenden Key-Slot und gibt den Klartext an Persistency zurück.
- Ist der Storage-Port verschlüsselt modelliert, delegiert Persistency die Chiffratdaten via IPC an den
- Datenübergabe: Rückgabe des deserialisierten Objekts bzw. Bereitstellung des Bytestreams an die aufrufende
Adaptive Applicationalsara::core::Result<T>.
4. Normative Relevanz & Entwickler-Hinweise
- Architekturtrennung: Applikationen interagieren ausschließlich mit Persistency (
ara::per), niemals direkt mit dem OS-Dateisystem oder dem Cryptography-Daemon für Persistenzdaten. - Manifest-Konfiguration:
- Die Aktivierung von
Detect and Correct Data Errorserfolgt deklarativ im AUTOSAR-Modell über Redundanzstrategien (redundancyHandling, z. B. CRC32, Reed-Solomon, M-out-of-N). - Die Aktivierung von
Decrypt Persistent Dataerfordert die Zuweisung von Crypto-Key-Slots zu den jeweiligenPersistencyPortPrototype-Definitionen.
- Die Aktivierung von
- Fehlerbehandlung: Lesezugriffe liefern standardmäßig
ara::core::Result. Fehlerzustände (z. B.kKeyNotFound,kIntegrityCorrupted,kEncryptionError) müssen im Applikationscode zwingend vor dem Datenzugriff geprüft werden. - Performance & Blockierung: Da
Cryptographyals Daemonservice (daemon-based) angebunden ist, erfordert die Entschlüsselung Inter-Process-Communication (IPC) und Kontextwechsel. Zeitkritische Threads dürfen Leseoperationen auf verschlüsselten oder hochredundanten Persistenzspeichern nicht im deterministischen Pfad ausführen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.