DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_RemotePersistency FIG-8c86363d871921b2 501 × 455 px 1 Release(s)

Figure 5.1: Interfaces required by Remote Persistency from other Functional Clusters

SHA-256 Inhalts-Fingerabdruck: 8c86363d871921b29b1c96e8c90faeafc02f19422ca52cbdc51c075b8d8ef99e
✦ 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-Komponenten- und Schnittstellendiagramm (AUTOSAR Adaptive Platform Schnittstellenmodellierung gemäß AUTOSAR-UML-Profil).
  • Technischer Zweck & Einordnung: Spezifikation der Abhängigkeiten des funktionalen Clusters Remote Persistency von der lokalen Persistency (ara::per) innerhalb der AUTOSAR Adaptive Platform (AP R25-11). Es definiert die erforderlichen öffentlichen Schnittstellen (Required Interfaces) für den schlüsselbasierten Datenspeicher (KeyValueStorage), über die der Remote Persistency Daemon persistente Daten lokal ablegt, synchronisiert und wiederherstellt.

2. Komponenten, Entitäten & Schnittstellen

Entitäten & Funktionscluster
  • «aapFunctionalCluster» Remote Persistency:
    • Konsument der Schnittstellen.
    • Eigenschaft: daemon-based (wird als Plattform-Daemon-Prozess im Betriebssystem ausgeführt).
  • «aapFunctionalCluster» Persistency:
    • Provider/Realisierer der lokalen Persistenz-Mechanismen (entspricht ara::per).
Schnittstellen (Interfaces) & Signaturen
  • «aapAPI,aapNativeInterface» (Globale / Namespace-Funktionen der Persistency):
    • Enthält statische Initialisierungs- und Lifecycle-Funktionen (unterstrichen notiert):
      • + GetCurrentKeyValueStorageSize()
      • + OpenKeyValueStorage(): KeyValueStorage (Fabrikmethode / Handle-Instanziierung)
      • + RecoverKeyValueStorage()
      • + ResetKeyValueStorage()
  • «aapAPI,aapPortInterface» KeyValueStorage:
    • Objekt-Schnittstelle zur Manipulation des geöffneten Speichers:
      • Schreib-/Änderungsoperationen: SetValue(), RemoveKey(), RemoveAllKeys(), DiscardPendingChanges(), SyncToStorage()
      • Lese-/Abfrageoperationen: GetValue(), KeyExists(), GetAllKeys(), GetCurrentValueSize()
      • Wiederherstellungsoperationen: RecoverKey(), ResetKey()
Beziehungen & Abhängigkeiten
  • Abhängigkeit («use»): Gerichtete Verwendungsbeziehung (gestrichelte Pfeile mit offener Spitze) von Remote Persistency auf KeyValueStorage sowie auf das native globale Interface.
  • Realisierung (Interface Realization): Gestrichelte Pfeile mit geschlossener, nicht ausgefüllter Dreiecksspitze von Persistency auf beide Interfaces (KeyValueStorage und das native Interface). Persistency implementiert den normativen C++-Vertrag.

3. Dynamisches Verhalten & Sequenzablauf

Obwohl statisch modelliert, impliziert der Schnittstellenvertrag folgende Aufrufsequenz für den Remote-Persistency-Daemon:

  1. Initialisierung & Akquisition:
    • Aufruf von OpenKeyValueStorage() über das native Interface. Bei erfolgreicher Validierung Rückgabe eines Handles/Shared-Pointers auf die KeyValueStorage-Instanz.
  2. Laufzeit-Transaktionen (CRUD / Sync):
    • Write Path: Aufrufe von SetValue() oder RemoveKey() modifizieren den internen Arbeitsstand (In-Memory/Staging).
    • Commit Path: SyncToStorage() flusht transaktional modifizierte Keys auf das physikalische Medium.
    • Abort Path: DiscardPendingChanges() verwirft alle seit dem letzten Flush vorgenommenen Änderungen.
    • Read Path: KeyExists() prüft das Vorhandensein, gefolgt von GetValue() zur Deserialisierung von Nutzdaten.
  3. Fehlerbehandlung & Recovery:
    • Erkennung korrupter Blöcke triggert RecoverKey() bzw. RecoverKeyValueStorage() (Wiederherstellung aus redundanten Backups).
    • Bei irreparablen Fehlern setzt ResetKey() oder ResetKeyValueStorage() die Datenbasis auf Initial-/Factory-Werte zurück.

4. Normative Relevanz & Entwickler-Hinweise

  • Informativer Charakter der Cluster-Interaktion: Gemäß AP-Architekturrichtlinie werden rein interne Schnittstellen zwischen zwei Functional Clustern nicht binärfest standardisiert, um OS- und plattformspezifische IPC-/Daemon-Optimierungen der Stack-Hersteller zu ermöglichen.
  • Wiederverwendung von Standard-APIs: Anstatt ein proprietäres Backend zu definieren, nutzt der Remote Persistency Daemon den regulären ara::per-Standardvertrag für Key-Value-Storage.
  • Transaktionale Konsistenz: Entwickler von Remote-Persistency-Diensten müssen sicherstellen, dass Netzwerkdaten erst nach erfolgreichem SyncToStorage() als persistent quittiert werden.
  • Fehlerkapselung: Fehlerzustände (ara::core::Result<T, PerErrc>) beim Öffnen oder Schreiben müssen auf Remote-Ebene in entsprechende Transport-/Protokollfehler übersetzt werden; die Recovery-Methoden sind synchron und blockierend auszulegen bzw. gemäß Threading-Modell des Daemons zu entkoppeln.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«aapFunctionalCluster» | Remote Persistency | daemon-based | «aapAPI,aapPortInterface» | KeyValueStorage | + DiscardPendingChanges() + GetAllKeys() + GetCurrentValueSize() + GetValue() + KeyExists() + RecoverKey() + RemoveAllKeys() + RemoveKey() + ResetKey() + SetValue() + SyncToStorage() | «aapFunctionalCluster» | Persistency | «aapAPI,aapNativeInterface» | + GetCurrentKeyValueStorageSize() + OpenKeyValueStorage(): KeyValueStorage + RecoverKeyValueStorage() + ResetKeyValueStorage() | «use» «use»

Begleitender Spezifikationstext:

Specification of Remote Persistency AUTOSAR AP R25-11 5 Dependencies to other Functional Clusters This chapter defines the dependencies of this functional cluster to other functional clusters. AUTOSAR decided not to standardize interfaces which are exclusively used between functional clusters to allow efficient implementations which might depend e.g., on the used operating system. The goal of this chapter is to provide an informative guideline for the interactions between functional clusters without specifying syntactical details. This ensures compatibility between documents specifying different functional clusters and supports parallel implementation of different functional clusters. Details of internal interfaces are up to the platform provider. Additional internal interfaces, parameters, and return values can be added. A detailed technical architecture documentation of the overall AUTOSAR Adaptive Platform is provided in [6]. 5.1 Provided Interfaces This functional cluster does not provide any interfaces towards other functional clusters. 5.2 Required Interfaces This section provides an overview of the public interfaces required by this functional cluster from other functional clusters. «aapFunctionalCluster» Remote Persistency daemon-based «aapAPI,aapPortInterface» KeyValueStorage + DiscardPendingChanges() + GetAllKeys() + GetCurrentValueSize() + GetValue() + KeyExists() + RecoverKey() + RemoveAllKeys() + RemoveKey() + ResetKey() + SetValue() + SyncToStorage() «aapFunctio

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_AP_SWS_RemotePersistency S. 9 5.1 Figure 5.1: Interfaces required by Remote Persistency from other Functional Clusters