DEENESPTFRRUARHIKOZHNL

namespace ara::per

User GuideAI-GEGENEREERD

Maakt de persistente opslag en het beheer van applicatiedata via sleutel-waarde- en bestandsopslag mogelijk.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9cb072b2740a Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Maakt de persistente opslag en het beheer van applicatiedata via sleutel-waarde- en bestandsopslag mogelijk.

De namespace ara::per biedt interfaces voor persistente dataopslag door adaptieve applicaties via instantie-identifiers toegang te verlenen tot bestandsgebaseerde en sleutel-waardegebaseerde opslaggebieden ([SWS_PER_00052], [SWS_PER_00116]). Applicaties beheren geopende opslaglocaties via gedeelde handles, voeren bij manifestwijzigingen gecoördineerde updates uit en kunnen inconsistente data via herstelmechanismen repareren ([SWS_PER_00333], [SWS_PER_00357]). Terwijl opslagtoegangen gelijktijdig via handles plaatsvinden, vereisen administratieve procedures zoals updates of resets van de opslag de afwezigheid van concurrerende toegangen ([SWS_PER_00311]).

Context

De namespace ara::per biedt de interfaces van de persistentie-functiegroep voor het AUTOSAR Adaptive Platform. Zijn primaire verantwoordelijkheid is de permanente, geheugenoverstijgende opslag van applicatiedata over systeemstarts en proceslevenscycli heen. De module onderscheidt twee fundamentele opslagparadigma's: KeyValueStorage voor gestructureerde sleutel-waardeparen en FileStorage voor bestandsgebaseerde opslagtoegang. Adaptieve applicaties benaderen deze bronnen via geconfigureerde port-prototypes door middel van ara::core::InstanceSpecifier ([SWS_PER_00052], [SWS_PER_00116]).

Belangrijke interactiepartners van de namespace zijn Update and Configuration Management (UCM), dat tijdens runtime bijgewerkte doelconfiguraties (target configuration) kan aanbieden ([SWS_PER_00576], [SWS_PER_00577]), evenals het fysieke opslagmedium waarop ara::per consistentie, redundantie en databeveiliging waarborgt ([SWS_PER_00311]).

diag_per_kontext Application Adaptive Application PerService ara::per Application->PerService OpenFileStorage / OpenKeyValueStorage StorageBackend Physischer Speicher PerService->StorageBackend Persistierung / Redundanz UCM UCM / Target Configuration UCM->PerService Manifest-Update

Contextdiagram: Samenspel van applicatie, ara::per, update management en fysieke opslag. Bronnen: [SWS_PER_00052], [SWS_PER_00116], [SWS_PER_00576]

Levenscyclus

De toegang tot opslagobjecten wordt geregeld via handle-abstracties. Het openen van een opslag via OpenKeyValueStorage of OpenFileStorage genereert een SharedHandle ([SWS_PER_00052], [SWS_PER_00116]). Omdat meerdere threads gelijktijdig toegang kunnen hebben tot dezelfde opslag, wordt de fysieke bron niet noodzakelijkerwijs gesloten wanneer een afzonderlijke SharedHandle zijn geldigheidsbereik verlaat; het sluiten gebeurt pas wanneer alle refererende SharedHandle-instanties zijn afgebouwd ([SWS_PER_00052], [SWS_PER_00116]).

Voor bestanden binnen een FileStorage worden aanmaak- en wijzigingstoestanden gedetailleerd bijgehouden. De enumeratie FileCreationState geeft weer of een bestand tijdens de installatie (kCreatedDuringInstallation), tijdens een update (kCreatedDuringUpdate), door een reset (kCreatedDuringReset), als gevolg van een herstel (kCreatedDuringRecovery) of door de applicatie zelf (kCreatedByApplication) is aangemaakt ([SWS_PER_00435]). Analoog weerspiegelt FileModificationState wanneer en door welke bewerking een bestand voor het laatst is gewijzigd ([SWS_PER_00436]).

Voor het beheer van begintoestanden biedt de namespace reset-functies: ResetKeyValueStorage ([SWS_PER_00334]) en ResetAllFiles ([SWS_PER_00336]) zetten afzonderlijke opslagen terug naar de waarden die initieel in het manifest zijn gedefinieerd. Daarentegen leegt de globale operatie ResetPersistency ([SWS_PER_00358]) alle sleutel-waarde- en bestandsopslagen volledig; het opnieuw aanmaken ervan vindt plaats bij de volgende aanroep van OpenFileStorage of OpenKeyValueStorage.

Wat betreft concurrency zijn de openfuncties (OpenFileStorage, OpenKeyValueStorage), opslaggrootte-opvragingen (GetCurrentFileStorageSize, GetCurrentKeyValueStorageSize) evenals opslaggerelateerde herstel- en resetfuncties thread-safe ([SWS_PER_00052], [SWS_PER_00116], [SWS_PER_00405], [SWS_PER_00406], [SWS_PER_00333], [SWS_PER_00334], [SWS_PER_00335], [SWS_PER_00336]). Globale update- en opschoonprocedures zoals UpdatePersistency ([SWS_PER_00357]), CleanUpPersistency ([SWS_PER_00567]), ResetPersistency ([SWS_PER_00358]), CheckForManifestUpdate ([SWS_PER_00576]) en ReloadPersistencyManifest ([SWS_PER_00577]) zijn daarentegen als niet-thread-safe gedeclareerd.

Gebruikspad

Een typische applicatiestroom omvat de controle op configuratie-updates, het toepassen van datamigraties en de daaropvolgende opslagtoegang:

Vóór of tijdens de reguliere werking controleert de applicatie met behulp van CheckForManifestUpdate of UCM een nieuwe doelconfiguratie heeft geïnstalleerd ([SWS_PER_00576]). Is dit het geval, dan wordt het nieuwe manifest via ReloadPersistencyManifest ingelezen ([SWS_PER_00577]). Tijdens de aansluitende verificatiefase initieert de applicatie UpdatePersistency ([SWS_PER_00357]). Om versiespecifieke datamigraties te sturen, registreert de applicatie vooraf via RegisterApplicationDataUpdateCallback een callbackfunctie, die over oudere contractversies wordt geïnformeerd en applicatiespecifieke migratiestappen uitvoert ([SWS_PER_00356]). Daarnaast kunnen elementwijzigingen met behulp van RegisterDataUpdateIndication worden bewaakt ([SWS_PER_00578]). Na afronding van de update verwijdert CleanUpPersistency verouderde back-ups en redundante oude bestanden ([SWS_PER_00567]).

Voor reguliere toegang opent de applicatie de doelbron via OpenKeyValueStorage ([SWS_PER_00052]) of OpenFileStorage ([SWS_PER_00116]). Bestandstoegangen in de FileStorage worden geregeld via bitmaskers van de enumeratie OpenMode (bijv. kAtTheBeginning, kAtTheEnd, kTruncate, kAppend), die via de operatoren operator| ([SWS_PER_00144]) en operator|= ([SWS_PER_00434]) worden gecombineerd ([SWS_PER_00147]). Positioneringen vinden plaats relatief ten opzichte van Origin (kBeginning, kCurrent, kEnd) ([SWS_PER_00146]). De momenteel gebruikte opslaggrootte kan tijdens runtime worden bepaald via GetCurrentKeyValueStorageSize ([SWS_PER_00405]) en GetCurrentFileStorageSize ([SWS_PER_00406]).

Manifest-update en opslagtoegangAdaptive Applicationara::perUse Case: Controle op configuratie-updatesCheckForManifestUpdate()Result<bool> (true)optUpdate beschikbaarReloadPersistencyManifest()Result<void>UpdatePersistency()Result<void>CleanUpPersistency()Result<void>Use Case: Reguliere opslagtoegangOpenKeyValueStorage(kvs)Result<SharedHandle<KeyValueStorage>>

Sequentiediagram: Procedure voor het controleren op manifest-updates, het uitvoeren van de update en aansluitende toegang tot key-value-opslag. Bronnen: [SWS_PER_00052], [SWS_PER_00356], [SWS_PER_00357], [SWS_PER_00567], [SWS_PER_00576], [SWS_PER_00577]

Foutscenario's

Fouten worden in de namespace gestandaardiseerd gesignaleerd via de enumeratie PerErrc ([SWS_PER_00311]) in combinatie met PerErrorDomain ([SWS_PER_00352]) en MakeErrorCode ([SWS_PER_00351]). De gedeclareerde klasse PerException dient vermoedelijk als C++-exceptietype voor omgevingen waarin fouten niet via ara::core::Result, maar via excepties worden afgehandeld (interpretatie). Vraag Q-263982a4a4dae284 (open)

Centrale foutscenario's omvatten:

  • Configuratie- en adresseringsfouten: Komt de meegegeven InstanceSpecifier niet overeen met een in het model geconfigureerde port-interface, dan mislukt het openen met PerErrc::kStorageNotFound ([SWS_PER_00052], [SWS_PER_00116], [SWS_PER_00311]). Bestandstoegangen tot niet-bestaande bestanden genereren PerErrc::kFileNotFound ([SWS_PER_00311]).
  • Resourceconflicten: Wanneer opslagen geopend zijn of er gelijktijdig administratieve commando's actief zijn, mislukken bewerkingen zoals OpenKeyValueStorage, OpenFileStorage, RecoverKeyValueStorage, RecoverAllFiles, ResetKeyValueStorage, ResetAllFiles, UpdatePersistency, CleanUpPersistency of ResetPersistency met PerErrc::kResourceBusy ([SWS_PER_00052], [SWS_PER_00116], [SWS_PER_00333], [SWS_PER_00334], [SWS_PER_00335], [SWS_PER_00336], [SWS_PER_00357], [SWS_PER_00358], [SWS_PER_00567]).
  • Integriteitsverlies en herstel: Bij structurele beschadigingen (PerErrc::kIntegrityCorrupted) of mislukte redundantiecontroles (PerErrc::kValidationFailed) maakt ara::per een best-effort-herstel mogelijk via RecoverKeyValueStorage ([SWS_PER_00333]) respectievelijk RecoverAllFiles ([SWS_PER_00335]). Via RegisterRecoveryReportCallback ([SWS_PER_00433]) kunnen veiligheidsrelevante applicaties corrigerende maatregelen aan de hand van RecoveryReportKind (bijv. kKeyValueStorageRecovered, kFileRecovered) geautomatiseerd protocolleren ([SWS_PER_00432]).
  • Opslaggrenzen en fysieke fouten: Worden quota of fysieke capaciteiten overschreden, dan worden PerErrc::kOutOfStorageSpace, PerErrc::kQuotaExceeded of PerErrc::kTooManyFiles gemeld ([SWS_PER_00311]). Hardware- of bestandssysteemfouten resulteren in PerErrc::kPhysicalStorageFailure ([SWS_PER_00311]).
  • Beveiliging en toegangsmodi: Mislukken cryptografische verificaties of berekeningen, dan retourneert de module PerErrc::kEncryptionFailed of PerErrc::kAuthenticationFailed ([SWS_PER_00311]). Schrijfpogingen naar schrijfbeveiligde opslaggebieden worden afgewezen met PerErrc::kIllegalWriteAccess ([SWS_PER_00311]).

Deze handleiding is uitsluitend gebaseerd op de specificatie van AUTOSAR Adaptive R25-11.

Themakaart

KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.

Klassendiagram

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns ara::per nara__per__FileAccessor FileAccessor nara__per__FileInfo «struct» FileInfo nara__per__FileStorage FileStorage nara__per__KeyValueStorage KeyValueStorage nara__per__PerErrorDomain PerErrorDomain next_ara__core__ErrorDomain ara::core::ErrorDomain nara__per__PerErrorDomain->next_ara__core__ErrorDomain nara__per__PerException PerException next_ara__core__Exception ara::core::Exception nara__per__PerException->next_ara__core__Exception nara__per__ReadAccessor ReadAccessor nara__per__ReadAccessor->nara__per__FileAccessor nara__per__ReadWriteAccessor ReadWriteAccessor nara__per__ReadWriteAccessor->nara__per__ReadAccessor nara__per__WriteAccessor WriteAccessor nara__per__ReadWriteAccessor->nara__per__WriteAccessor nara__per__WriteAccessor->nara__per__FileAccessor nara__per__SharedHandle SharedHandle nara__per__UniqueHandle UniqueHandle

Detailweergave

Kies een item in de inhoudsopgave.

Dateizugriff

FileAccessor contains a common basis for ReadAccessor and WriteAccessor

basis voor ReadAccessor, WriteAccessor

FileInfo klasse

This structure contains additional information on a file returned by GetFileInfo.

ReadAccessor is used to read file data

erft van FileAccessor

basis voor ReadWriteAccessor

ReadWriteAccessor is used to read and write file data

erft van ReadAccessor, WriteAccessor

Handle to a ReadAccessor or ReadWriteAccessor

WriteAccessor is used to write file data

erft van FileAccessor

basis voor ReadWriteAccessor

operator| functie

Merges two OpenMode modifiers into one.

constexpr OpenMode operator| (OpenMode left, OpenMode right);
operator|= functie

Merges an OpenMode modifier into this OpenMode.

OpenMode & operator|= (OpenMode &left, const OpenMode &right);

This enumeration describes how and when a file was created.

enum class FileCreationState : std::uint32_t {...};

This enumeration describes how and when a file was last modified.

enum class FileModificationState : std::uint32_t {...};
OpenMode enumeratie

This enumeration defines how a file shall be opened. The values can be combined (using | and |=) as long as they do not contradict each other.

enum class OpenMode : std::uint32_t {...};
Origin enumeratie

Specification of origin used in MovePosition.

enum class Origin : std::uint32_t {...};

Speicheröffnung

The File Storage contains a set of files identified by their file names.

The Key-Value Storage contains a set of keys with associated values.

Handle to a File Storage or Key-Value Storage

Returns the space in bytes currently occupied by a File Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the File Storage is not opened and no other operation on the File Storage takes place at the same time.

ara::core::Result< std::uint64_t > GetCurrentFileStorageSize (const ara::core::InstanceSpecifier &fs) noexcept;

Returns the space in bytes currently occupied by a Key-Value Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the Key-Value Storage is not opened and no other operation on the Key-Value Storage takes place at the same time.

ara::core::Result< std::uint64_t > GetCurrentKeyValueStorageSize (const ara::core::InstanceSpecifier &kvs) noexcept;

Opens a File Storage. OpenFileStorage will fail with kResourceBusy when the File Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. Because multiple threads can access the same File Storage concurrently, the File Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same File Storage went out of scope.

ara::core::Result< SharedHandle< FileStorage > > OpenFileStorage (const ara::core::InstanceSpecifier &fs) noexcept;

Opens a Key-Value Storage. OpenKeyValueStorage will fail with kResourceBusy when the Key-Value Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. Because multiple threads can access the same Key-Value Storage concurrently, the Key-Value Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same Key-Value Storage went out of scope.

ara::core::Result< SharedHandle< KeyValueStorage > > OpenKeyValue Storage (const ara::core::InstanceSpecifier &kvs) noexcept;

Fehlerbehandlung

Defines the error domain for Persistency.

erft van ara::core::ErrorDomain

Exception type thrown by Persistency.

erft van ara::core::Exception

GetPerDomain functie

Returns the global PerErrorDomain object.

constexpr const ara::core::ErrorDomain & GetPerDomain () noexcept;

Creates an error code.

constexpr ara::core::ErrorCode MakeErrorCode (PerErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;
PerErrc enumeratie

Defines the errors for Persistency. The enumeration values 0 - 255 are reserved for AUTOSAR assigned errors, the stack provider is free to define additional errors starting from 256.

enum class PerErrc : ara::core::ErrorDomain::CodeType {...};

Wiederherstellung

Recovers a File Storage, including all files. RecoverAllFiles recovers a File Storage when the redundancy checks fail. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. This method does a best-effort recovery of all files. After recovery, files might show outdated or initial content, or might be lost.

ara::core::Result< void > RecoverAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Recovers a Key-ValueStorage. RecoverKeyValueStorage allows to recover a Key-Value Storage when the redundancy checks fail. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. This method does a best-effort recovery of all key-value pairs. After recovery, keys might show outdated or initial value, or might be lost.

ara::core::Result< void > RecoverKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Register a recovery reporting callback with Persistency. This callback can be used in safety-aware Adaptive Applications to detect actions of the Persistency that are related to the correctness of the persisted data and the reliability of the storage.

void RegisterRecoveryReportCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::per::RecoveryReportKind recoveryReportKind, ara::core::Vector< ara::core::String > reported Elements, ara::core::Vector< std::uint8_t > reportedInstances)> recoveryReportCallback) noexcept;

Defines the reported recovery actions.

enum class RecoveryReportKind : std::uint32_t {...};

Datenpflege

Checks for updates of the Persistency Target Configuration. This method can be used to detect configuration updates that are installed by UCM while the Adaptive Application that uses Persistency is running. To re-read the updated Target Configuration, the Adaptive Application needs to call ara::per:: ReloadPersistencyManifest.

ara::core::Result< bool > CheckForManifestUpdate () noexcept;

Removes backup data and other unused data of all Persistency Key-Value Storages and File Storages.

ara::core::Result< void > CleanUpPersistency () noexcept;

Registers an application data update callback with Persistency. The provided callback function will be called by Persistency if an update of stored application data might be necessary. This decision is based on the contract versions. The contract version that last accessed Persistency is provided as an argument to the callback, as well as the ara::core::InstanceSpecifier referring to the updated Key- Value Storage or File Storage. Based on this information, the Adaptive Application can decide which updates are actually necessary, e.g. a migration from any older contract version could be supported, with different steps required for each of these. The provided function will be called from the context of ara::per::UpdatePersistency, ara::per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

void RegisterApplicationDataUpdateCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::core::String contract Version)> appDataUpdateCallback) noexcept;

Registers a data update indication callback with Persistency. The provided callback function will be called by Persistency when an update of stored data happened. It will be called from the context of ara::per::UpdatePersistency, ara:: per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

void RegisterDataUpdateIndication (std::function< void(const ara::core::InstanceSpecifier &updatedStorage, ara::core::StringView updatedElement)> dataUpdateIndication, ara::core::InstanceSpecifier monitoredStorage, ara::core::Vector< ara::core::String > monitored Elements) noexcept;

Re-reads the Target Configuration. This method can be used to prepare for updates of the Key-Value Storages and File Storages of Persistency after a new Target Configuration was installed by UCM while the Adaptive Application that uses Persistency is running. Storages are only updated after closing them, either when they are opened again or by an explicit call to ara:: per::UpdatePersistency.

ara::core::Result< void > ReloadPersistencyManifest () noexcept;

Resets a File Storage, including all files. ResetAllFiles resets a File Storage to the initial state, containing only the files which were deployed from the Target Configuration, with their initial content. Afterwards, the File Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles.

ara::core::Result< void > ResetAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Resets a Key-Value Storage to the initial state. ResetKeyValueStorage allows to reset a Key-Value Storage to the initial state, containing only key-value pairs which were deployed from the Target Configuration, with their initial values. Afterwards, the Key-Value Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage.

ara::core::Result< void > ResetKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Resets all Key-Value Storages and File Storages by entirely removing their content. The Key-Value Storages and File Storages will be re-created when ara::per:: OpenFileStorage or ara::per::OpenKeyValueStorage is called next time.

ara::core::Result< void > ResetPersistency () noexcept;

Updates all Persistency Key-Value Storages and File Storages after a new Target Configuration was installed. This method can be used to update the persistent data of the Adaptive Application during verification phase.

ara::core::Result< void > UpdatePersistency () noexcept;

Enumeraties

enumeratie FileCreationState [SWS_PER_00435] Upstream: RS_PER_00004, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class FileCreationState :                std::uint32_t {...};

This enumeration describes how and when a file was created.

Header-Datei#include "ara/per/file_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolFileCreationState
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kCreatedDuringInstallation=1 The file was created by Persistency after installation of the Adaptive Application or after ResetPersistency.
kCreatedDuringUpdate=2 The file was created by Persistency during an update.
kCreatedDuringReset=3 The file was re-created due to a call to ResetFile or ResetAllFiles.
kCreatedDuringRecovery=4 The file was re-created by Persistency after a corruption was detected.
kCreatedByApplication=5 The file was created by the Persistency user.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00435
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00435@rel:R25-11#e71eec14
Content hash
e71eec14
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00435
Status: valid/unmigrated Version: rel:R25-11#5c76ed9c Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00435@rel:R25-11#5c76ed9c
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#91c90ae12026-09-30
  • R20-11rel:R20-11#fc72e8cf2026-10-14
  • R21-11rel:R21-11#fade16892026-10-14
  • R22-11rel:R22-11#76ad97da2026-10-14
  • R23-11rel:R23-11#096eb2152026-10-14
  • R24-11rel:R24-11#67a514e92026-10-14
  • R25-11rel:R25-11#5c76ed9c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

enumeratie FileModificationState [SWS_PER_00436] Upstream: RS_PER_00004, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class FileModificationState :                 std::uint32_t {...};

This enumeration describes how and when a file was last modified.

Header-Datei#include "ara/per/file_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolFileModificationState
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kModifiedDuringUpdate=2 The file was last modified by Persistency during an update.
kModifiedDuringReset=3 The file was last modified by Persistency due to a call to ResetFile or ResetAllFiles.
kModifiedDuringRecovery=4 The file was last modified by Persistency after a corruption was detected.
kModifiedByApplication=5 The file was last modified by the Persistency user.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00436
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00436@rel:R25-11#04c23679
Content hash
04c23679
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00436
Status: valid/unmigrated Version: rel:R25-11#13cb5d42 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00436@rel:R25-11#13cb5d42
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#399a20322026-09-30
  • R20-11rel:R20-11#83ce45b72026-10-14
  • R21-11rel:R21-11#98b8ab052026-10-14
  • R22-11rel:R22-11#2ce2c3962026-10-14
  • R23-11rel:R23-11#d9854b632026-10-14
  • R24-11rel:R24-11#93230b352026-10-14
  • R25-11rel:R25-11#13cb5d422026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

enumeratie OpenMode [SWS_PER_00147] Upstream: RS_PER_00003, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class OpenMode :            std::uint32_t {...};

This enumeration defines how a file shall be opened. The values can be combined (using | and |=) as long as they do not contradict each other.

Header-Datei#include "ara/per/file_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolOpenMode
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kAtTheBeginning= 1 << 0 Sets the seek position to the beginning of the file when the file is opened. This mode cannot be combined with kAtTheEnd.
kAtTheEnd= 1 << 1 Sets the seek position to the end of the file when the file is opened. This mode cannot be combined with kAtTheBeginning or kTruncate.
kTruncate= 1 << 2 Removes existing content when the file is opened. This mode cannot be combined with kAtTheEnd.
kAppend= 1 << 3 Append to the end. Always seeks to the end of the file before writing.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00147@rel:R25-11#dcfddae3
Content hash
dcfddae3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00147
Status: valid/unmigrated Version: rel:R25-11#76cbd793 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00147@rel:R25-11#76cbd793
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1232fbf52026-09-30
  • R19-11rel:R19-11#850afae02026-10-14
  • R20-11rel:R20-11#1262e3062026-10-14
  • R21-11rel:R21-11#6e04c4702026-10-14
  • R22-11rel:R22-11#53c040ad2026-10-14
  • R23-11rel:R23-11#48e6b88e2026-10-14
  • R24-11rel:R24-11#678f13022026-10-14
  • R25-11rel:R25-11#76cbd7932026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

enumeratie Origin [SWS_PER_00146] Upstream: RS_PER_00003, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class Origin :            std::uint32_t {...};

Specification of origin used in MovePosition.

Header-Datei#include "ara/per/file_accessor.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolOrigin
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kBeginning=0 Seek from the beginning of the file.
kCurrent=1 Seek from the current position.
kEnd=2 Seek from the end of the file.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00146
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00146@rel:R25-11#9e3feb98
Content hash
9e3feb98
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00146
Status: valid/unmigrated Version: rel:R25-11#d2fd11c4 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00146@rel:R25-11#d2fd11c4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3a8c900d2026-09-30
  • R19-11rel:R19-11#852935312026-10-14
  • R20-11rel:R20-11#25a49a522026-10-14
  • R21-11rel:R21-11#118ba30a2026-10-14
  • R22-11rel:R22-11#118ba30a2026-10-14
  • R23-11rel:R23-11#f995dce12026-10-14
  • R24-11rel:R24-11#f995dce12026-10-14
  • R25-11rel:R25-11#d2fd11c42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

enumeratie PerErrc [SWS_PER_00311] Upstream: RS_AP_00122, RS_AP_00125, RS_AP_00127, RS_AP_00149

enum class PerErrc :            ara::core::ErrorDomain::CodeType {...};

Defines the errors for Persistency. The enumeration values 0 - 255 are reserved for AUTOSAR assigned errors, the stack provider is free to define additional errors starting from 256.

Header-Datei#include "ara/per/per_error_domain.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolPerErrc
Basistypara::core::ErrorDomain::CodeType

Werte

EnumeratorBeschreibung
kStorageNotFound=1 The requested Key-Value Storage or File Storage is not configured in the AUTOSAR model.
kKeyNotFound=2 The provided key cannot be not found in the Key-Value Storage.
kIllegalWriteAccess=3 The operation could not be performed because the accessed Key-Value Storage or File Storage is configured as read-only or write-only-once.
kPhysicalStorageFailure=4 An error occurred when accessing the physical storage, e.g. because of a corrupted file system or corrupted hardware, or because of insufficient access rights.
kIntegrityCorrupted=5 The structural integrity of the Key-Value Storage or File Storage could not be established. This can happen when the internal structure of a Key-Value Storage or the metadata of a File Storage is corrupted.
kValidationFailed=6 The validation of redundancy measures failed for a single key-value pair, for the whole Key-Value Storage, for a single file, or for the whole File Storage.
kEncryptionFailed=7 The encryption or decryption failed for a single key-value pair, for the whole Key-Value Storage, for a single file, or for the whole File Storage.
kDataTypeMismatch=8 The provided data type does not match the stored data type.
kInitValueNotAvailable=9 The operation could not be performed because no initial value is available.
kResourceBusy= 10 The operation could not be performed because the resource is currently busy.
kOutOfStorageSpace= 12 The physical storage space was exceeded.
kFileNotFound= 13 The requested file name cannot be not found in the File Storage.
kInvalidPosition= 15 SetPosition tried to move to a position that is not reachable (i.e. which is smaller than zero or greater than the current size of the file).
kEof= 16 The Persistency user tried to read from the end of the file or from an empty file.
kInvalidOpenMode= 17 Opening a file failed because the requested combination of Open Modes is invalid.
kInvalidSize= 18 SetFileSize tried to set a new size that is bigger than the current file size.
kTooManyFiles= 19 The maximum number of files was exceeded.
kQuotaExceeded= 20 The allocated storage quota was exceeded.
kAuthenticationFailed= 21 Calculating or checking of the MAC failed for a single key-value pair, for the whole Key-Value Storage, for a single file, or for the whole File Storage.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00311
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00311@rel:R25-11#b7a542e9
Content hash
b7a542e9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00311
Status: valid/unmigrated Version: rel:R25-11#bb710d42 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00311@rel:R25-11#bb710d42
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#74bafb1d2026-09-30
  • R19-11rel:R19-11#52a505112026-10-14
  • R20-11rel:R20-11#31f87d482026-10-14
  • R21-11rel:R21-11#9bbbacde2026-10-14
  • R22-11rel:R22-11#4c6de6f22026-10-14
  • R23-11rel:R23-11#3774a98c2026-10-14
  • R24-11rel:R24-11#7af9c3ee2026-10-14
  • R25-11rel:R25-11#bb710d422026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

enumeratie RecoveryReportKind [SWS_PER_00432] Upstream: RS_PER_00008, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class RecoveryReportKind :            std::uint32_t {...};

Defines the reported recovery actions.

Header-Datei#include "ara/per/recovery.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolRecoveryReportKind
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kKeyValueStorageRecoveryFailed=1 A Key-Value Storage was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements is empty, reportedInstances contains the indices of the affected Key-Value Storage copies.
kKeyValueStorageRecovered=2 A Key-Value Storage was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements is empty, reportedInstances contains the indices of the affected Key-Value Storage copies.
kKeyRecoveryFailed=3 A set of key-value pairs was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements contains the list of affected keys, reportedInstances contains the indices of the affected Key-Value Storage or key-value pair copies. In general, the nth key in reportedElements corresponds to the nth index in reported Instances, i.e. a key may be reported several times if several copies are broken. In case only one key-value pair is affected, reported Elements may be provided containing just this key.
kKeyRecovered=4 A set of key-value pairs was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements contains the list of affected keys, reportedInstances contains the indices of the affected Key-Value Storage or key-value pair copies. In general, the nth key in reportedElements corresponds to the nth index in reported Instances, i.e. a key may be reported several times if several copies are broken. In case only one key-value pair is affected, reported Elements may be provided containing just this key.
kFileStorageRecoveryFailed=5 A File Storage was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements is empty, reportedInstances contains the indices of the affected File Storage copies.
kFileStorageRecovered=6 A File Storage was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements is empty, reportedInstances contains the indices of the affected File Storage copies.
kFileRecoveryFailed=7 A set of files was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements contains the list of affected file names, reported Instances contains the indices of the affected File Storage or file copies. In general, the nth file name in reportedElements corresponds to the nth index in reportedInstances, i.e. a file name may be reported several times if several copies are broken. In case only one file is affected, reportedElements may be provided containing just this file name.
kFileRecovered=8 A set of files was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements contains the list of affected file names, reported Instances contains the indices of the affected File Storage or file copies. In general, the nth file name in reportedElements corresponds to the nth index in reportedInstances, i.e. a file name may be reported several times if several copies are broken. In case only one file is affected, reportedElements may be provided containing just this file name.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00432
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00432@rel:R25-11#df2b4c9f
Content hash
df2b4c9f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00432
Status: valid/unmigrated Version: rel:R25-11#dd38feda Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00432@rel:R25-11#dd38feda
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3adbe73c2026-09-30
  • R20-11rel:R20-11#6815294e2026-10-14
  • R21-11rel:R21-11#8fb22ccf2026-10-14
  • R22-11rel:R22-11#92f94a6b2026-10-14
  • R23-11rel:R23-11#4cff42322026-10-14
  • R24-11rel:R24-11#2ec0a9942026-10-14
  • R25-11rel:R25-11#dd38feda2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Documentatie van de vrije functies

functie CheckForManifestUpdate [SWS_PER_00576] Upstream: RS_PER_00013, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< bool > CheckForManifestUpdate () noexcept;

Checks for updates of the Persistency Target Configuration. This method can be used to detect configuration updates that are installed by UCM while the Adaptive Application that uses Persistency is running. To re-read the updated Target Configuration, the Adaptive Application needs to call ara::per:: ReloadPersistencyManifest.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b1f49db8b33d Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De synchrone functie CheckForManifestUpdate uit de header ara/per/update.h controleert in de namespace ara::per of er updates van de Persistency Target Configuration voorhanden zijn [SWS_PER_00576]. Ze dient ertoe configuratiewijzigingen te detecteren die door Update and Configuration Management (UCM) zijn geïnstalleerd terwijl de Persistency gebruikende adaptieve applicatie al draait [SWS_PER_00576]. De functie accepteert geen parameters en levert een ara::core::Result<bool> op: true wanneer de configuratie sinds het laatste uitlezen is bijgewerkt, of false wanneer deze ongewijzigd is gebleven [SWS_PER_00576].

Foutafhandeling en gelijktijdigheid

De functie is gedeclareerd als noexcept en uitzonderingsveilig (exception safe), maar niet thread-safe (not thread-safe) [SWS_PER_00576]. In geval van een fout bevat het resultaat hetzij fabrikantspecifieke fouten, hetzij een van de volgende foutcodes [SWS_PER_00576]:

  • kPhysicalStorageFailure: Treedt op wanneer de toegang tot het fysieke geheugen tijdens de controle mislukt [SWS_PER_00576].
  • kIntegrityCorrupted: Treedt op wanneer opgeslagen gegevens wegens beschadigde structurele integriteit niet kunnen worden gelezen [SWS_PER_00576].

Samenspel

Wordt er een update vastgesteld (retourwaarde true), dan moet de applicatie vervolgens ara::per::ReloadPersistencyManifest aanroepen om de gewijzigde Target Configuration daadwerkelijk opnieuw in te lezen [SWS_PER_00576].

Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp aan de hand van de specificatie.

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< bool >A Result containing true if the Target Configuration was updated or false if it is unchanged since the last time the Target Configuration was read. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failurerollback_semantics Returned if access to the physical storage fails during the checking operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00576
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00576@rel:R25-11#630f97ee
Content hash
630f97ee
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00576
Status: valid/unmigrated Version: rel:R25-11#f5cc3f5c Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00576@rel:R25-11#f5cc3f5c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#b26d10d92026-09-30
  • R24-11rel:R24-11#478f6c8c2026-10-14
  • R25-11rel:R25-11#f5cc3f5c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie CleanUpPersistency [SWS_PER_00567] Upstream: RS_PER_00016, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > CleanUpPersistency () noexcept;

Removes backup data and other unused data of all Persistency Key-Value Storages and File Storages.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ce1bea3039de Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De synchrone functie CleanUpPersistency uit ara/per/update.h dient voor het verwijderen van back-upgegevens (backup data) en overige ongebruikte gegevens over alle key-value- en file-storages van een instantie heen [SWS_PER_00567]. Zij accepteert geen parameters en retourneert het resultaat via het retourtype ara::core::Result<void> [SWS_PER_00567].

Gelijktijdigheid en beperkingen

De functie is niet thread-safe (not thread-safe) en vereist exclusieve toegang tot alle opslagbronnen [SWS_PER_00567]. Als er nog een ara::per::SharedHandle van een key-value- of file-storage is geopend, mislukt de aanroep met kResourceBusy [SWS_PER_00567]. Evenzo leiden parallel lopende operaties zoals UpdatePersistency, ResetPersistency, RecoverKeyValueStorage, ResetKeyValueStorage, RecoverAllFiles of ResetAllFiles tot de foutcode kResourceBusy [SWS_PER_00567].

Zolang CleanUpPersistency wordt uitgevoerd, mislukken gelijktijdige aanroepen voor het openen van opslagmedia via OpenKeyValueStorage [SWS_PER_00052] of OpenFileStorage [SWS_PER_00116] evenals herstel- en resetfuncties [SWS_PER_00333], [SWS_PER_00334], [SWS_PER_00335], [SWS_PER_00336] eveneens met kResourceBusy.

Foutafhandeling

Voor opgetreden fouten geldt een opslaggerelateerde rollback-semantiek [SWS_PER_00567]. Tot de mogelijke fouten behoren naast kResourceBusy:

  • kPhysicalStorageFailure bij fouten tijdens de toegang tot het fysieke opslagmedium [SWS_PER_00567],
  • kIntegrityCorrupted bij structurele beschadiging van de opgeslagen gegevens [SWS_PER_00567],
  • kValidationFailed bij het falen van de controle op gegevensgeldigheid [SWS_PER_00567],
  • kEncryptionFailed bij fouten tijdens het versleutelen of ontsleutelen [SWS_PER_00567],
  • kAuthenticationFailed bij het mislukken van de berekening of controle van de MAC [SWS_PER_00567],
  • evenals fabrikantspecifieke foutcodes [SWS_PER_00567].

Deze tekst is gegenereerd door een AI op basis van de specificatie.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe kPhysicalStorage- rollback_semantics

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FailureReturned if access to the physical storage fails during the update operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails during the update operation.
kResourceBusyrollback_semantics Returned if ara::per::UpdatePersistency or ara::per:: ResetPersistency is currently being executed, or if ara:: per::RecoverKeyValueStorage or ara::per:: ResetKeyValueStorage is currently being executed for any Key-Value Storage, or if ara::per::RecoverAllFiles or ara::per::ResetAllFiles is currently being executed for any File Storage, or a ara::per::SharedHandle of a Key- Value Storage or a File Storage is currently in use.
kAuthentication-Failedrollback_semantics Returned if calculating or checking the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00567
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00567@rel:R25-11#ea3936d0
Content hash
ea3936d0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00567
Status: valid/unmigrated Version: rel:R25-11#f9cdaf08 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00567@rel:R25-11#f9cdaf08
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#7398665b2026-09-30
  • R23-11rel:R23-11#e1f7fda32026-10-14
  • R24-11rel:R24-11#0bfb7d2d2026-10-14
  • R25-11rel:R25-11#f9cdaf082026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie GetCurrentFileStorageSize [SWS_PER_00406] Upstream: RS_PER_00017, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< std::uint64_t > GetCurrentFileStorageSize (const ara::core::InstanceSpecifier &fs) noexcept;

Returns the space in bytes currently occupied by a File Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the File Storage is not opened and no other operation on the File Storage takes place at the same time.

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<std::uint64_t >A Result containing the occupied space in bytes. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailurerollback_semantics Returned if access to the physical storage fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00406
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00406@rel:R25-11#4eacc8c6
Content hash
4eacc8c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00406
Status: valid/unmigrated Version: rel:R25-11#05c094c0 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00406@rel:R25-11#05c094c0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#602f8c772026-09-30
  • R19-11rel:R19-11#67f89fa62026-10-14
  • R20-11rel:R20-11#87f0114c2026-10-14
  • R21-11rel:R21-11#ee9e70cd2026-10-14
  • R22-11rel:R22-11#def327602026-10-14
  • R23-11rel:R23-11#06e0e64e2026-10-14
  • R24-11rel:R24-11#78d010822026-10-14
  • R25-11rel:R25-11#05c094c02026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie GetCurrentKeyValueStorageSize [SWS_PER_00405] Upstream: RS_PER_00017, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< std::uint64_t > GetCurrentKeyValueStorageSize (const ara::core::InstanceSpecifier &kvs) noexcept;

Returns the space in bytes currently occupied by a Key-Value Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the Key-Value Storage is not opened and no other operation on the Key-Value Storage takes place at the same time.

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<std::uint64_t >A Result containing the occupied space in bytes. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailurerollback_semantics Returned if access to the physical storage fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00405
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00405@rel:R25-11#cf8d5d57
Content hash
cf8d5d57
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00405
Status: valid/unmigrated Version: rel:R25-11#542916fb Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00405@rel:R25-11#542916fb
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c4ec6e962026-09-30
  • R19-11rel:R19-11#3f8d2ee72026-10-14
  • R20-11rel:R20-11#f394ab092026-10-14
  • R21-11rel:R21-11#e1cb35cd2026-10-14
  • R22-11rel:R22-11#39a308942026-10-14
  • R23-11rel:R23-11#5c939f722026-10-14
  • R24-11rel:R24-11#542916fb2026-10-14
  • R25-11rel:R25-11#542916fb2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie GetPerDomain [SWS_PER_00352] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00159

constexpr const ara::core::ErrorDomain & GetPerDomain () noexcept;

Returns the global PerErrorDomain object.

Header-Datei#include "ara/per/per_error_domain.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
const ara::core::ErrorDomain &The global PerErrorDomain object.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00352
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00352@rel:R25-11#3e0d4c01
Content hash
3e0d4c01
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00352
Status: valid/unmigrated Version: rel:R25-11#0f9be8a3 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00352@rel:R25-11#0f9be8a3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#404a17482026-09-30
  • R19-11rel:R19-11#9cb2d1f82026-10-14
  • R20-11rel:R20-11#ba7c6ddb2026-10-14
  • R21-11rel:R21-11#ba7c6ddb2026-10-14
  • R22-11rel:R22-11#a22a71a82026-10-14
  • R23-11rel:R23-11#e20d90152026-10-14
  • R24-11rel:R24-11#0f9be8a32026-10-14
  • R25-11rel:R25-11#0f9be8a32026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie MakeErrorCode [SWS_PER_00351] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00135, RS_AP_00159

constexpr ara::core::ErrorCode MakeErrorCode (PerErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

Creates an error code.

Header-Datei#include "ara/per/per_error_domain.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
codeError code number.
dataVendor defined data associated with the error.

Rückgabewert

TypBeschreibung
ara::core::ErrorCodeAn ErrorCode object.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00351
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00351@rel:R25-11#ee1a2ac1
Content hash
ee1a2ac1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00351
Status: valid/unmigrated Version: rel:R25-11#6bc3a705 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00351@rel:R25-11#6bc3a705
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d180b00f2026-09-30
  • R19-11rel:R19-11#4a2f0cae2026-10-14
  • R20-11rel:R20-11#0405c8a02026-10-14
  • R21-11rel:R21-11#df6b498d2026-10-14
  • R22-11rel:R22-11#cc3dc3172026-10-14
  • R23-11rel:R23-11#caf22e062026-10-14
  • R24-11rel:R24-11#6bc3a7052026-10-14
  • R25-11rel:R25-11#6bc3a7052026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie OpenFileStorage [SWS_PER_00116] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00144, RS_AP_00147, RS_AP_00159

ara::core::Result< SharedHandle< FileStorage > > OpenFileStorage (const ara::core::InstanceSpecifier &fs) noexcept;

Opens a File Storage. OpenFileStorage will fail with kResourceBusy when the File Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. Because multiple threads can access the same File Storage concurrently, the File Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same File Storage went out of scope.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 14078ca86bfb Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie ara::per::OpenFileStorage opent een bestandsopslag voor persistente gegevens en stelt deze beschikbaar via een gedeelde toegangshandle [SWS_PER_00116]. Als parameter verwacht zij een referentie naar een ara::core::InstanceSpecifier, die het shortName-pad van een door een PersistencyFileStorageInterface getypeerd poortprototype aangeeft. De retourwaarde is een ara::core::Result<ara::core::SharedHandle<FileStorage>> [SWS_PER_00116].

Wat betreft gelijktijdigheid is de functie gespecificeerd als thread-safe en exception-safe [SWS_PER_00116]. Aangezien meerdere threads parallel toegang kunnen hebben tot dezelfde bestandsopslaginstantie, wordt de fysieke opslag niet noodzakelijkerwijs gesloten wanneer een afzonderlijke SharedHandle het geldigheidsbereik verlaat. De sluiting vindt pas plaats wanneer alle refererende handles out-of-scope zijn gegaan [SWS_PER_00116].

In geval van een fout bevat het Result foutcodes van de enumeratie PerErrc of fabrikantspecifieke fouten [SWS_PER_00116]:

  • PerErrc::kResourceBusy: Wordt geretourneerd wanneer gelijktijdig administratieve bewerkingen zoals CleanUpPersistency, ResetPersistency, RecoverAllFiles of ResetAllFiles worden uitgevoerd. Terwijl UpdatePersistency actief is, treedt deze fout op indien de aanroep buiten de via RegisterApplicationDataUpdateCallback geregistreerde callback of met een afwijkende identifier plaatsvindt [SWS_PER_00116], [SWS_PER_00356].
  • Configuratie- en toegangsfouten: kStorageNotFound bij een niet-geconfigureerde instantie, kPhysicalStorageFailure bij fouten van de fysieke opslag, evenals kIntegrityCorrupted, kValidationFailed, kEncryptionFailed en kAuthenticationFailed bij integriteits-, controle- of ontsleutelingsproblemen [SWS_PER_00116].
  • Capaciteitsgrenzen bij impliciete updates: kOutOfStorageSpace, kTooManyFiles of kQuotaExceeded [SWS_PER_00116].

In interactie met de module bewerkt een voorafgaande reset via ResetPersistency dat gewiste bestandsopslagen bij de volgende aanroep van OpenFileStorage opnieuw worden aangemaakt [SWS_PER_00358]. Worden tijdens het openen gegevens geactualiseerd, dan wordt een via RegisterDataUpdateIndication geregistreerde indication-callback direct in de context van OpenFileStorage aangeroepen [SWS_PER_00578].

Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR Adaptive R25-11.

Implementer's Guide volgt (complexiteit I1)

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<SharedHandle< FileStorage > >A Result containing a SharedHandle for the File Storage. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
PerErrc::kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
PerErrc::kEncryptionFailedrollback_semantics Returned if the decryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if CleanUpPersistency, or ResetPersistency is currently being executed, or if RecoverAllFiles or ResetAllFiles is currently being executed for the same File Storage. Also, while Update Persistency is currently being executed, this error is returned when OpenFileStorage is called outside of the callback registered via RegisterApplicationDataUpdateCallback, or if the used Instance Specifier differs from the one provided by the callback.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the files that are added/updated during an implicit update of the File Storage.
PerErrc::kTooManyFilesrollback_semantics Returned if the files that are added during an implicit update of the File Storage would exceed the configured maxNumberOfFiles.
PerErrc::kQuotaExceededrollback_semantics Returned if the files that are added/updated during an implicit update of the File Storage would exceed the configured maximum AllowedSize.
PerErrc::kAuthenticationFailedrollback_semantics Returned if checking the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00116
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00116@rel:R25-11#136c765a
Content hash
136c765a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00116
Status: valid/unmigrated Version: rel:R25-11#045a694e Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00116@rel:R25-11#045a694e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3d9a9e5b2026-09-30
  • R19-11rel:R19-11#bf01f2fc2026-10-14
  • R20-11rel:R20-11#f59e7f982026-10-14
  • R21-11rel:R21-11#8ea5df192026-10-14
  • R22-11rel:R22-11#4ac6fa6a2026-10-14
  • R23-11rel:R23-11#21db3eff2026-10-14
  • R24-11rel:R24-11#a4ff2c552026-10-14
  • R25-11rel:R25-11#045a694e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie OpenKeyValueStorage [SWS_PER_00052] Upstream: RS_PER_00003, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_ AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00144, RS_AP_00147, RS_AP_00159

ara::core::Result< SharedHandle< KeyValueStorage > > OpenKeyValue Storage (const ara::core::InstanceSpecifier &kvs) noexcept;

Opens a Key-Value Storage. OpenKeyValueStorage will fail with kResourceBusy when the Key-Value Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. Because multiple threads can access the same Key-Value Storage concurrently, the Key-Value Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same Key-Value Storage went out of scope.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: d24427922381 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en levenscyclus

De synchrone functie OpenKeyValueStorage opent een key-value storage en is gespecificeerd als thread-safe en noexcept [SWS_PER_00052]. Als parameter kvs wordt een ara::core::InstanceSpecifier doorgegeven, die het pad van een door een PersistencyKeyValueStorageInterface getypeerde PortPrototype refereert. De teruggave vindt plaats als ara::core::Result<SharedHandle<KeyValueStorage>>. Aangezien meerdere threads dezelfde storage gelijktijdig kunnen openen, sluit Persistency de fysieke opslag pas wanneer alle refererende SharedHandle-instanties hun geldigheidsbereik hebben verlaten [SWS_PER_00052].

Foutafhandeling en gelijktijdigheid

In geval van een fout levert het Result specifieke foutcodes van het Persistency-foutdomein op [SWS_PER_00052]:

  • PerErrc::kStorageNotFound: De identifier past bij geen enkele geconfigureerde interface van de Executable.
  • PerErrc::kResourceBusy: Treedt op wanneer gelijktijdig CleanUpPersistency, ResetPersistency [SWS_PER_00358], RecoverKeyValueStorage of ResetKeyValueStorage voor deze storage worden uitgevoerd. Tijdens UpdatePersistency is de aanroep alleen toegestaan binnen de via RegisterApplicationDataUpdateCallback geregistreerde callback met de daar doorgegeven instantie-identifier [SWS_PER_00356].
  • PerErrc::kPhysicalStorageFailure, PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed en PerErrc::kAuthenticationFailed bij defecten, validatie- of cryptofouten.
  • PerErrc::kOutOfStorageSpace en PerErrc::kQuotaExceeded bij onvoldoende opslagruimte of quotaoverschrijding tijdens een impliciete update.

Samenspel

Wanneer alle gegevens eerder via ResetPersistency zijn gewist, wordt de storage bij de volgende aanroep van OpenKeyValueStorage automatisch opnieuw aangemaakt [SWS_PER_00358]. Na het openen kunnen niet-opgeslagen modificaties via DiscardPendingChanges worden teruggezet naar de toestand van het openen [SWS_PER_00365]. Daarnaast kan het openen de uitvoering van callbacks triggeren die via RegisterDataUpdateIndication zijn geregistreerd [SWS_PER_00578].

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kStorageNot rollback_semantics

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<SharedHandle< KeyValueStorage > >A Result containing a SharedHandle for the KeyValueStorage. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FoundReturned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
PerErrc::kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
PerErrc::kEncryptionFailedrollback_semantics Returned if the decryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if CleanUpPersistency, or ResetPersistency is currently being executed, or if RecoverKeyValueStorage or ResetKeyValue Storage is currently being executed for the same Key-Value Storage. Also, while UpdatePersistency is currently being executed, this error is returned when OpenKeyValueStorage is called outside of the callback registered via RegisterApplicationDataUpdate Callback, or if the used InstanceSpecifier differs from the one provided by the callback.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the values that are added/updated during an implicit update of the Key-Value Storage.
PerErrc::kQuotaExceededrollback_semantics Returned if the values that are added/updated during an implicit update of the Key-Value Storage would exceed the configured maximumAllowedSize.
PerErrc::kAuthenticationFailedrollback_semantics Returned if checking the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00052
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00052@rel:R25-11#cd159a98
Content hash
cd159a98
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00052
Status: valid/unmigrated Version: rel:R25-11#d4b1e761 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00052@rel:R25-11#d4b1e761
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#caeeeace2026-09-30
  • R19-11rel:R19-11#34496dec2026-10-14
  • R20-11rel:R20-11#f68c65ef2026-10-14
  • R21-11rel:R21-11#b958923e2026-10-14
  • R22-11rel:R22-11#e940c9852026-10-14
  • R23-11rel:R23-11#704678462026-10-14
  • R24-11rel:R24-11#124418c72026-10-14
  • R25-11rel:R25-11#d4b1e7612026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie RecoverAllFiles [SWS_PER_00335] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > RecoverAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Recovers a File Storage, including all files. RecoverAllFiles recovers a File Storage when the redundancy checks fail. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. This method does a best-effort recovery of all files. After recovery, files might show outdated or initial content, or might be lost.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ca84cc440ba3 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie RecoverAllFiles voert een herstel van een bestandsgebaseerde opslag (File Storage) inclusief alle daarin opgeslagen bestanden uit wanneer redundantiecontroles mislukken [SWS_PER_00335]. De aanroep vindt synchroon plaats onder opgave van de InstanceSpecifier voor het geconfigureerde poortprototype en levert een ara::core::Result<void> op [SWS_PER_00335].

Het herstel werkt volgens het best-effort-principe: Na voltooiing kunnen bestanden verouderde inhoud vertonen, naar hun begintoestand zijn teruggezet of geheel verloren zijn gegaan [SWS_PER_00335]. Schiet de toegang tot het opslagmedium tekort (PerErrc::kPhysicalStorageFailure) of is de opslagruimte ontoereikend (PerErrc::kOutOfStorageSpace), dan bestaat er geen rollback-garantie [SWS_PER_00335]. Treedt een fout op bij versleuteling (PerErrc::kEncryptionFailed), integriteitscontrole (PerErrc::kAuthenticationFailed) of opslaggroottebeperking (PerErrc::kQuotaExceeded), dan treedt de rollback-semantiek in werking [SWS_PER_00335]. Past de identifier bij geen enkele geconfigureerde interface, dan resulteert dit in PerErrc::kStorageNotFound [SWS_PER_00335].

Hoewel de functie thread-safe is, mislukt de uitvoering met PerErrc::kResourceBusy zolang de opslag geopend is of er een actieve shared-handle aanwezig is [SWS_PER_00335], [SWS_PER_00116]. Eveneens blokkeren parallelle uitvoeringen van ResetAllFiles [SWS_PER_00336] voor dezelfde opslag evenals de globale actualiseringsbewerkingen UpdatePersistency [SWS_PER_00357], ResetPersistency [SWS_PER_00358] en CleanUpPersistency [SWS_PER_00567] de aanroep [SWS_PER_00335].

Deze gebruiksinstructie is door een AI op basis van de specificaties opgesteld.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kStorageNot rollback_semantics

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FoundReturned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if ResetAllFiles is currently being executed for the same File Storage, or a Shared Handle of the same File Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the recovered files.
PerErrc::kQuotaExceededrollback_semantics Returned if the recovered files would exceed the configured maximumAllowedSize of the File Storage.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00335
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00335@rel:R25-11#fd4031b2
Content hash
fd4031b2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00335
Status: valid/unmigrated Version: rel:R25-11#2f7dfc4c Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00335@rel:R25-11#2f7dfc4c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#73a082452026-09-30
  • R19-11rel:R19-11#3ad2a41d2026-10-14
  • R20-11rel:R20-11#313148252026-10-14
  • R21-11rel:R21-11#524080052026-10-14
  • R22-11rel:R22-11#ec0502c32026-10-14
  • R23-11rel:R23-11#c58779272026-10-14
  • R24-11rel:R24-11#bd0fcca72026-10-14
  • R25-11rel:R25-11#2f7dfc4c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie RecoverKeyValueStorage [SWS_PER_00333] Upstream: RS_PER_00003, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > RecoverKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Recovers a Key-ValueStorage. RecoverKeyValueStorage allows to recover a Key-Value Storage when the redundancy checks fail. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. This method does a best-effort recovery of all key-value pairs. After recovery, keys might show outdated or initial value, or might be lost.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ba269bfce693 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie RecoverKeyValueStorage in de namespace ara::per dient voor het herstel van een key-value-opslag na mislukte redundantiecontroles ([SWS_PER_00333]). Als parameter kvs wordt een ara::core::InstanceSpecifier doorgegeven, die refereert aan het ShortName-pad van een overeenkomstige PortPrototype ([SWS_PER_00333]). Het herstel vindt plaats volgens het best-effort-principe; na de operatie kunnen sleutels verouderde of initiële waarden bevatten of geheel verloren zijn ([SWS_PER_00333]).

Hoewel de functie als thread-veilig is gespecificeerd, mislukt de uitvoering met de foutcode PerErrc::kResourceBusy indien de betreffende key-value-opslag geopend is – er dus minimaal één actieve SharedHandle bestaat ([SWS_PER_00052], [SWS_PER_00333]). Dezelfde fout treedt op wanneer andere threads gelijktijdig wijzigende functies aanroepen: UpdatePersistency ([SWS_PER_00357]), CleanUpPersistency ([SWS_PER_00567]), ResetPersistency ([SWS_PER_00358]) of ResetKeyValueStorage ([SWS_PER_00334]). Tijdens het herstel mislukt ook een aanroep van OpenKeyValueStorage met kResourceBusy ([SWS_PER_00052]).

Het resultaat wordt synchroon als ara::core::Result<void> geretourneerd. Naast PerErrc::kResourceBusy zijn de volgende specifieke fouten gedefinieerd ([SWS_PER_00333]):

  • PerErrc::kStorageNotFound: de doorgegeven identifier past bij geen enkele geconfigureerde interface.
  • PerErrc::kPhysicalStorageFailure: toegang tot de fysieke opslag mislukt (geen rollback-semantiek).
  • PerErrc::kOutOfStorageSpace: onvoldoende fysieke opslagruimte voor de herstelde gegevens (geen rollback-semantiek).
  • PerErrc::kQuotaExceeded: overschrijding van de geconfigureerde maximale lengte (maximumAllowedSize).
  • PerErrc::kEncryptionFailed en PerErrc::kAuthenticationFailed: fout bij versleuteling of MAC-berekening.

Deze tekst is opgesteld door een AI op basis van de AUTOSAR-specificatie.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if ResetKeyValue Storage is currently being executed for the same Key-Value Storage, or a SharedHandle of the same Key-Value Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the recovered values.
PerErrc::kQuotaExceededrollback_semantics Returned if the recovered values would exceed the configured maximumAllowedSize of the Key-Value Storage.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00333
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00333@rel:R25-11#c4348ea9
Content hash
c4348ea9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00333
Status: valid/unmigrated Version: rel:R25-11#6863ad8c Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00333@rel:R25-11#6863ad8c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ea3338422026-09-30
  • R19-11rel:R19-11#3c9d0f722026-10-14
  • R20-11rel:R20-11#8230292c2026-10-14
  • R21-11rel:R21-11#dff1a22a2026-10-14
  • R22-11rel:R22-11#e3e6a2c42026-10-14
  • R23-11rel:R23-11#d7c298b92026-10-14
  • R24-11rel:R24-11#093db65f2026-10-14
  • R25-11rel:R25-11#6863ad8c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie RegisterApplicationDataUpdateCallback [SWS_PER_00356] Upstream: RS_PER_00013, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00137, RS_AP_00159

void RegisterApplicationDataUpdateCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::core::String contract Version)> appDataUpdateCallback) noexcept;

Registers an application data update callback with Persistency. The provided callback function will be called by Persistency if an update of stored application data might be necessary. This decision is based on the contract versions. The contract version that last accessed Persistency is provided as an argument to the callback, as well as the ara::core::InstanceSpecifier referring to the updated Key- Value Storage or File Storage. Based on this information, the Adaptive Application can decide which updates are actually necessary, e.g. a migration from any older contract version could be supported, with different steps required for each of these. The provided function will be called from the context of ara::per::UpdatePersistency, ara::per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
appDataUpdateCallbackThe callback function to be called by Persistency after an update of persistent data took place. The function will be called with the shortName path of an updated Key-Value Storage or File Storage, and with the contract version with which the Persistency was last accessed.

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00356
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00356@rel:R25-11#8d72bf5b
Content hash
8d72bf5b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00356
Status: valid/unmigrated Version: rel:R25-11#b578b750 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00356@rel:R25-11#b578b750
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ddfa8c352026-09-30
  • R19-11rel:R19-11#34e96d122026-10-14
  • R20-11rel:R20-11#86e5368a2026-10-14
  • R21-11rel:R21-11#86e5368a2026-10-14
  • R22-11rel:R22-11#abcf8b8d2026-10-14
  • R23-11rel:R23-11#691305fc2026-10-14
  • R24-11rel:R24-11#60beb5142026-10-14
  • R25-11rel:R25-11#b578b7502026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie RegisterDataUpdateIndication [SWS_PER_00578] Upstream: RS_PER_00013, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00137, RS_AP_00159

void RegisterDataUpdateIndication (std::function< void(const ara::core::InstanceSpecifier &updatedStorage, ara::core::StringView updatedElement)> dataUpdateIndication, ara::core::InstanceSpecifier monitoredStorage, ara::core::Vector< ara::core::String > monitored Elements) noexcept;

Registers a data update indication callback with Persistency. The provided callback function will be called by Persistency when an update of stored data happened. It will be called from the context of ara::per::UpdatePersistency, ara:: per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
dataUpdateIndicationThe callback function to be called by Persistency after an update of persistent data took place. The function will be called with the shortName path of an updated Key-Value Storage or File Storage, and with the the updated elements of the storage.
monitoredStorageA Key-Value Storage or File Storage for which updates shall be reported.
monitoredElementsA set of elements for which updates shall be reported.

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00578
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00578@rel:R25-11#e5fc2590
Content hash
e5fc2590
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00578
Status: valid/unmigrated Version: rel:R25-11#59c9fead Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00578@rel:R25-11#59c9fead
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#685948a72026-09-30
  • R24-11rel:R24-11#9946b5902026-10-14
  • R25-11rel:R25-11#59c9fead2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie RegisterRecoveryReportCallback [SWS_PER_00433] Upstream: RS_PER_00008, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00137, RS_AP_00159

void RegisterRecoveryReportCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::per::RecoveryReportKind recoveryReportKind, ara::core::Vector< ara::core::String > reported Elements, ara::core::Vector< std::uint8_t > reportedInstances)> recoveryReportCallback) noexcept;

Register a recovery reporting callback with Persistency. This callback can be used in safety-aware Adaptive Applications to detect actions of the Persistency that are related to the correctness of the persisted data and the reliability of the storage.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 5828fc3d3f00 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie RegisterRecoveryReportCallback in de namespace ara::per ([SWS_PER_00433]) dient voor de registratie van een callback-routine bij de Persistency-component. Deze wordt in veiligheidskritische Adaptive Applications gebruikt om herstelmaatregelen van de Persistency met betrekking tot de correctheid van gepersisteerde gegevens en de betrouwbaarheid van het geheugen te detecteren [SWS_PER_00433].

Parameters en aanroepsemantiek

Als parameter wordt recoveryReportCallback doorgegeven, een std::function die door de Persistency wordt aangeroepen wanneer fouten in de opgeslagen gegevens met behulp van beschikbare redundantie succesvol zijn gecorrigeerd [SWS_PER_00433]. Aan de callback wordt daarbij de volgende contextinformatie doorgegeven [SWS_PER_00433]:

  • storage: Het pad (shortName) van de betreffende Key-Value Storage of File Storage als ara::core::InstanceSpecifier.
  • recoveryReportKind: De aard van het herstelrapport (ara::per::RecoveryReportKind).
  • reportedElements: Een vector van identifiers van de getroffen elementen (ara::core::Vector<ara::core::String>).
  • reportedInstances: Een vector van de getroffen instanties (ara::core::Vector<std::uint8_t>).

Foutafhandeling en gelijktijdigheid

De functie levert geen retourwaarde op en is gedeclareerd als noexcept; deze geldt als uitzonderingsveilig (exception safe) [SWS_PER_00433]. Eigen foutcodes bestaan niet [SWS_PER_00433]. Wat betreft thread-safety is de interface geclassificeerd als not thread-safe [SWS_PER_00433]. De aanroep zal daarom doorgaans plaatsvinden in de initialisatiefase van de toepassing, voorafgaand aan de start van gelijktijdige geheugentoegangen. Vraag Q-e5b93ea58fb56a1c (open)

Deze gebruiksinstructie is gegenereerd door een AI en is gebaseerd op de specificaties van het AUTOSAR-platform.

Header-Datei#include "ara/per/recovery.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
recoveryReportCallbackThe callback function to be called by Persistency to report errors in the stored data that were corrected using the available redundancy. The function will be called with the shortName path of the affected Key-Value Storage or File Storage in storage and information on what has been corrected, placed in the parameters recoveryReport Kind, reportedElements, and reportedInstances.

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00433
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00433@rel:R25-11#bf5d708f
Content hash
bf5d708f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00433
Status: valid/unmigrated Version: rel:R25-11#69cc138a Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00433@rel:R25-11#69cc138a
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#627aa0e12026-09-30
  • R20-11rel:R20-11#3a84481e2026-10-14
  • R21-11rel:R21-11#a74b248f2026-10-14
  • R22-11rel:R22-11#cb37dbf52026-10-14
  • R23-11rel:R23-11#6ca484be2026-10-14
  • R24-11rel:R24-11#71de55b32026-10-14
  • R25-11rel:R25-11#69cc138a2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie ReloadPersistencyManifest [SWS_PER_00577] Upstream: RS_PER_00013, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ReloadPersistencyManifest () noexcept;

Re-reads the Target Configuration. This method can be used to prepare for updates of the Key-Value Storages and File Storages of Persistency after a new Target Configuration was installed by UCM while the Adaptive Application that uses Persistency is running. Storages are only updated after closing them, either when they are opened again or by an explicit call to ara:: per::UpdatePersistency.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 19920ccb9cf9 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie ReloadPersistencyManifest uit de namespace ara::per (gedeclareerd in #include "ara/per/update.h") leest de doelconfiguratie (Target Configuration) van de persistency opnieuw in [SWS_PER_00577]. Ze dient ertoe updates van de Key-Value Storages en File Storages voor te bereiden, nadat door het Update and Config Management (UCM) tijdens de runtime van de Adaptive Application een nieuwe doelconfiguratie is geïnstalleerd [SWS_PER_00577].

Doorgaans controleert de applicatie vooraf met CheckForManifestUpdate [SWS_PER_00576] of er een configuratie-update voorhanden is, en roept vervolgens ReloadPersistencyManifest aan [SWS_PER_00576]. Het opnieuw inlezen werkt de persistente opslagmedia echter nog niet onmiddellijk bij: storages worden pas na het sluiten ervan bijgewerkt – hetzij bij het opnieuw openen, hetzij via een expliciete aanroep van ara::per::UpdatePersistency [SWS_PER_00577]. Interpretatie: reeds geopende opslaggebieden worden door de aanroep vermoedelijk niet automatisch gesloten, zodat de applicatie deze zelf moet sluiten of expliciet moet bijwerken. Vraag Q-16f9dae418feb3fa (open)

De functie accepteert geen parameters en retourneert een ara::core::Result<void> [SWS_PER_00577]. In geval van een fout bevat het resultaat fabrikantspecifieke fouten of een van de volgende foutcodes met rollback-semantiek [SWS_PER_00577]:

  • kPhysicalStorageFailure: Treedt op wanneer de toegang tot het fysieke geheugen tijdens de leesbewerking mislukt [SWS_PER_00577].
  • kIntegrityCorrupted: Treedt op wanneer opgeslagen gegevens wegens beschadigde structurele integriteit niet kunnen worden gelezen [SWS_PER_00577].

Wat betreft gelijktijdigheid is de functie gespecificeerd als niet-thread-safe (not thread-safe), maar gedeclareerd als uitzonderingsveilig (exception safe) en noexcept [SWS_PER_00577]. Parallelle aanroepen moeten daarom aan applicatiezijde worden gesynchroniseerd.

Deze gebruiksinstructie is door een AI opgesteld op basis van de specificatie.

Implementer's Guide volgt (complexiteit I1)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failurerollback_semantics Returned if access to the physical storage fails during the read operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00577
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00577@rel:R25-11#e69712a5
Content hash
e69712a5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00577
Status: valid/unmigrated Version: rel:R25-11#7f7b5c0c Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00577@rel:R25-11#7f7b5c0c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#68a8e5e42026-09-30
  • R24-11rel:R24-11#685afcab2026-10-14
  • R25-11rel:R25-11#7f7b5c0c2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie ResetAllFiles [SWS_PER_00336] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ResetAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Resets a File Storage, including all files. ResetAllFiles resets a File Storage to the initial state, containing only the files which were deployed from the Target Configuration, with their initial content. Afterwards, the File Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: f645139d391c Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie ResetAllFiles zet een File Storage synchroon terug naar zijn initiële afleveringstoestand volgens de actuele Target Configuration [SWS_PER_00336]. Na succesvolle uitvoering bevat de opslag uitsluitend de aldaar gedefinieerde bestanden met hun oorspronkelijke inhoud, alsof deze nieuw geïnstalleerd is [SWS_PER_00336].

Gebruik en gelijktijdigheid: Via de parameter fs wordt de instance-identifier van een via PersistencyFileStorageInterface getypeerde PortPrototype doorgegeven [SWS_PER_00336]. Hoewel de functie als thread-safe en exception safe gespecificeerd is, vereist zij exclusieve toegang tot de opslag: Is de opslag momenteel geopend (bijvoorbeeld via een actieve SharedHandle uit OpenFileStorage [SWS_PER_00116]) of wordt deze parallel door UpdatePersistency [SWS_PER_00357], CleanUpPersistency [SWS_PER_00567], ResetPersistency [SWS_PER_00358], RecoverAllFiles [SWS_PER_00335] of een verdere aanroep van ResetAllFiles gemodificeerd, dan mislukt de uitvoering [SWS_PER_00336].

Foutafhandeling: De functie retourneert een ara::core::Result<void> [SWS_PER_00336]. Mogelijke foutcodes uit PerErrc zijn:

  • kResourceBusy: De bestandsopslag is geopend of wordt parallel gemodificeerd (rollback-semantiek) [SWS_PER_00336].
  • kStorageNotFound: De identifier past bij geen enkele voor de executable geconfigureerde interface [SWS_PER_00336].
  • kPhysicalStorageFailure of kOutOfStorageSpace: Fysieke opslagfout resp. ontoereikende opslagruimte (geen rollback-semantiek) [SWS_PER_00336].
  • kEncryptionFailed of kAuthenticationFailed: Fout bij versleuteling of MAC-berekening (rollback-semantiek) [SWS_PER_00336].

Samenspel: Na het terugzetten hebben herstelde bestanden bij statusopvragingen de status FileCreationState::kCreatedDuringReset [SWS_PER_00435] evenals FileModificationState::kModifiedDuringReset [SWS_PER_00436].

Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR R25-11.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kStorageNot rollback_semantics

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FoundReturned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if RecoverAllFiles is currently being executed for the same File Storage, or a Shared Handle of the same File Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the initial files.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00336
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00336@rel:R25-11#f81a6326
Content hash
f81a6326
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00336
Status: valid/unmigrated Version: rel:R25-11#e599a530 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00336@rel:R25-11#e599a530
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#58b5b3b72026-09-30
  • R19-11rel:R19-11#6f3f0cf62026-10-14
  • R20-11rel:R20-11#a8b98a422026-10-14
  • R21-11rel:R21-11#886423992026-10-14
  • R22-11rel:R22-11#3a2ec7602026-10-14
  • R23-11rel:R23-11#6a7428df2026-10-14
  • R24-11rel:R24-11#b2af05972026-10-14
  • R25-11rel:R25-11#e599a5302026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie ResetKeyValueStorage [SWS_PER_00334] Upstream: RS_PER_00003, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ResetKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Resets a Key-Value Storage to the initial state. ResetKeyValueStorage allows to reset a Key-Value Storage to the initial state, containing only key-value pairs which were deployed from the Target Configuration, with their initial values. Afterwards, the Key-Value Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 48697319880f Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie ResetKeyValueStorage zet een specifieke key-value-storage terug naar zijn initiële toestand [SWS_PER_00334]. Na succesvolle uitvoering bevat de storage uitsluitend die sleutel-waardeparen met hun initiële waarden die via de Target Configuration beschikbaar zijn gesteld; de storage gedraagt zich daarna alsof deze vers vanuit de actuele configuratie is geïnstalleerd [SWS_PER_00334]. Als parameter wordt het kvs-pad als ara::core::InstanceSpecifier doorgegeven, dat de PortPrototype van een geconfigureerde PersistencyKeyValueStorageInterface refereert [SWS_PER_00334].

De functie is gespecificeerd als thread-safe en exception safe, maar is onderworpen aan strikte concurrencyvoorwaarden met betrekking tot geopende storages en globale persistentie-operaties [SWS_PER_00334]:

  • De aanroep mislukt met PerErrc::kResourceBusy indien de betreffende key-value-storage momenteel geopend is (er dus nog een SharedHandle bestaat, zie [SWS_PER_00052]) of er gelijktijdig een herstelbewerking met RecoverKeyValueStorage [SWS_PER_00333] op dezelfde storage wordt uitgevoerd [SWS_PER_00334].
  • Eveneens tot kResourceBusy leidt een parallelle uitvoering van de globale operaties UpdatePersistency [SWS_PER_00357], CleanUpPersistency [SWS_PER_00567], ResetPersistency [SWS_PER_00358] of een gelijktijdige aanroep van ResetKeyValueStorage in een andere thread [SWS_PER_00334].

Als resultaat levert de functie een ara::core::Result<void> [SWS_PER_00334]. In geval van een fout treden naast kResourceBusy de volgende specifieke foutcodes op: PerErrc::kStorageNotFound (ongeldige InstanceSpecifier), PerErrc::kPhysicalStorageFailure (toegangsfout tot het opslagmedium, geen rollback-semantiek), PerErrc::kOutOfStorageSpace (onvoldoende opslagruimte voor initiële waarden, geen rollback-semantiek), PerErrc::kEncryptionFailed (versleutelingsfout) en PerErrc::kAuthenticationFailed (fout bij de MAC-berekening) [SWS_PER_00334].

Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR R25-11.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if RecoverKeyValue Storage is currently being executed for the same Key-Value Storage, or a SharedHandle of the same Key-Value Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the initial values.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00334
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00334@rel:R25-11#39a66a59
Content hash
39a66a59
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00334
Status: valid/unmigrated Version: rel:R25-11#6250b32b Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00334@rel:R25-11#6250b32b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#370e52a02026-09-30
  • R19-11rel:R19-11#cd1560792026-10-14
  • R20-11rel:R20-11#1ed663b32026-10-14
  • R21-11rel:R21-11#f31fb8fb2026-10-14
  • R22-11rel:R22-11#764c93d52026-10-14
  • R23-11rel:R23-11#f7e8d0052026-10-14
  • R24-11rel:R24-11#cdcd205a2026-10-14
  • R25-11rel:R25-11#6250b32b2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie ResetPersistency [SWS_PER_00358] Upstream: RS_PER_00009, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ResetPersistency () noexcept;

Resets all Key-Value Storages and File Storages by entirely removing their content. The Key-Value Storages and File Storages will be re-created when ara::per:: OpenFileStorage or ara::per::OpenKeyValueStorage is called next time.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: d1720067a24e Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De synchrone functie ResetPersistency ([SWS_PER_00358]) uit de header ara/per/update.h dient voor het volledig resetten van alle key-value- en file-storages van een applicatie. Bij aanroep wordt alle persistente inhoud restloos gewist. De storages zelf worden daarbij niet onmiddellijk opnieuw aangemaakt, maar pas bij de eerstvolgende aanroep van ara::per::OpenKeyValueStorage ([SWS_PER_00052]) of ara::per::OpenFileStorage ([SWS_PER_00116]) opnieuw gecreëerd. Bestanden die na de reset opnieuw beschikbaar worden gesteld, krijgen daarbij de aanmaakstatus FileCreationState::kCreatedDuringInstallation ([SWS_PER_00435]).

Foutafhandeling

Als retourwaarde levert de functie een ara::core::Result<void> ([SWS_PER_00358]). Mislukt de toegang tot het fysieke opslagmedium tijdens de operatie, dan retourneert de functie kPhysicalStorageFailure zonder rollback-semantiek. Indien persistente resources bezet zijn of parallel worden gewijzigd, wordt de aanroep met kResourceBusy en actieve rollback-semantiek afgebroken ([SWS_PER_00358]). Daarnaast kunnen fabrikantspecifieke fouten optreden.

Gelijktijdigheid en beperkingen

De interface is gedeclareerd als exception safe, maar expliciet geclassificeerd als not thread-safe ([SWS_PER_00358]). Zij mislukt met kResourceBusy zodra:

  • er al globale operaties zoals UpdatePersistency ([SWS_PER_00357]) of CleanUpPersistency ([SWS_PER_00567]) worden uitgevoerd,
  • een individuele storage parallel via RecoverKeyValueStorage, ResetKeyValueStorage, RecoverAllFiles ([SWS_PER_00335]) of ResetAllFiles ([SWS_PER_00336]) wordt bewerkt,
  • of er nog ten minste één actieve SharedHandle van een key-value- of file-storage bestaat ([SWS_PER_00358]).

Zolang ResetPersistency actief is, leiden gelijktijdige pogingen tot openen via OpenKeyValueStorage ([SWS_PER_00052]) of OpenFileStorage ([SWS_PER_00116]) in andere threads eveneens tot kResourceBusy.

Deze tekst is opgesteld door een AI. AUTOSAR-specificaties zijn leidend.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failureno_rollback_semantics Returned if access to the physical storage fails during the reset operation.
kResourceBusyrollback_semantics Returned if ara::per::UpdatePersistency or ara::per:: CleanUpPersistency is currently being executed, or if ara:: per::RecoverKeyValueStorage or ara::per:: ResetKeyValueStorage is currently being executed for any Key-Value Storage, or if ara::per::RecoverAllFiles or ara::per::ResetAllFiles is currently being executed for any File Storage, or a ara::per::SharedHandle of a Key- Value Storage or a File Storage is currently in use.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00358
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00358@rel:R25-11#224f81cd
Content hash
224f81cd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00358
Status: valid/unmigrated Version: rel:R25-11#5a943877 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00358@rel:R25-11#5a943877
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c8860b2d2026-09-30
  • R19-11rel:R19-11#8d6229f02026-10-14
  • R20-11rel:R20-11#cdbd91872026-10-14
  • R21-11rel:R21-11#58c165482026-10-14
  • R22-11rel:R22-11#675e4de82026-10-14
  • R23-11rel:R23-11#9628a79f2026-10-14
  • R24-11rel:R24-11#a5d729472026-10-14
  • R25-11rel:R25-11#5a9438772026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie UpdatePersistency [SWS_PER_00357] Upstream: RS_PER_00013, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > UpdatePersistency () noexcept;

Updates all Persistency Key-Value Storages and File Storages after a new Target Configuration was installed. This method can be used to update the persistent data of the Adaptive Application during verification phase.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: a05074f12eed Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De synchrone functie ara::per::UpdatePersistency ([SWS_PER_00357], header ara/per/update.h) actualiseert na de installatie van een nieuwe doelconfiguratie alle key-value- en file-storages van een applicatie. Zij dient ertoe de persistente gegevens van een Adaptive Application tijdens de verificatiefase te actualiseren [SWS_PER_00357]. De functie neemt geen overdrachtsparameters aan en levert een ara::core::Result<void> op [SWS_PER_00357].

Foutafhandeling

In geval van een fout bevat het geretourneerde Result een specifieke foutcode of een fabrikantspecifieke fout [SWS_PER_00357]. Daarbij wordt onderscheid gemaakt tussen bewerkingen met en zonder rollback-semantiek:

  • Rollback-semantiek: Bij kIntegrityCorrupted, kValidationFailed, kEncryptionFailed, kAuthenticationFailed, kTooManyFiles (overschrijding van maxNumberOfFiles), kQuotaExceeded (overschrijding van MaximumAllowedSize) en kResourceBusy worden uitgevoerde wijzigingen teruggedraaid [SWS_PER_00357].
  • Geen rollback-semantiek: Bij fysieke opslagfouten (kPhysicalStorageFailure) en onvoldoende fysieke opslagruimte (kOutOfStorageSpace) is geen rollback gegarandeerd [SWS_PER_00357].

Gelijktijdigheid en beperkingen

De functie is gespecificeerd als exceptieveilig (exception safe), maar uitdrukkelijk als niet-thread-veilig (not thread-safe) [SWS_PER_00357]. Een aanroep mislukt met kResourceBusy zodra een SharedHandle van een key-value- of file-storage nog in gebruik is of parallel onderhoudsfuncties zoals CleanUpPersistency [SWS_PER_00567], ResetPersistency [SWS_PER_00358], RecoverKeyValueStorage [SWS_PER_00333], ResetKeyValueStorage [SWS_PER_00334], RecoverAllFiles [SWS_PER_00335] of ResetAllFiles [SWS_PER_00336] worden uitgevoerd [SWS_PER_00357]. Omgekeerd mislukken gelijktijdige aanroepen van OpenKeyValueStorage [SWS_PER_00052] en OpenFileStorage [SWS_PER_00116] vanuit andere threads tijdens de actualisering eveneens met kResourceBusy.

Samenspel

Wanneer door UCM tijdens runtime een nieuwe doelconfiguratie is geïnstalleerd en deze via ReloadPersistencyManifest [SWS_PER_00577] opnieuw is ingelezen, worden gesloten storages via UpdatePersistency geactualiseerd. Als er vooraf callbacks via RegisterDataUpdateIndication [SWS_PER_00578] of RegisterApplicationDataUpdateCallback [SWS_PER_00356] zijn geregistreerd, vindt de aanroep daarvan synchroon plaats in de context van UpdatePersistency [SWS_PER_00578].

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie R25-11.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failureno_rollback_semantics Returned if access to the physical storage fails during the update operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails during the update operation.
kResourceBusyrollback_semantics Returned if ara::per::CleanUpPersistency or ara::per:: ResetPersistency is currently being executed, or if ara:: per::RecoverKeyValueStorage or ara::per:: ResetKeyValueStorage is currently being executed for any Key-Value Storage, or if ara::per::RecoverAllFiles or ara::per::ResetAllFiles is currently being executed for any File Storage, or a ara::per::SharedHandle of a Key- Value Storage or a File Storage is currently in use.
kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the update.
kTooManyFilesrollback_semantics Returned if the files added during the update of any File Storage would exceed the configured PersistencyFileStorageInterface.maxNumberOfFiles.
kQuotaExceededrollback_semantics Returned if the update would exceed the configured PersistencyCommon.MaximumAllowedSize of any Key- Value Storage or File Storage.
kAuthentication-Failedrollback_semantics Returned if calculating or checking the MAC of stored data fails.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00357
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00357@rel:R25-11#317c4dc3
Content hash
317c4dc3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00357
Status: valid/unmigrated Version: rel:R25-11#1d0f3ff3 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00357@rel:R25-11#1d0f3ff3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#77e03de52026-09-30
  • R19-11rel:R19-11#b69714eb2026-10-14
  • R20-11rel:R20-11#2ada0bc82026-10-14
  • R21-11rel:R21-11#fc219af52026-10-14
  • R22-11rel:R22-11#8c6aea8d2026-10-14
  • R23-11rel:R23-11#9bb026b22026-10-14
  • R24-11rel:R24-11#936392f02026-10-14
  • R25-11rel:R25-11#1d0f3ff32026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie operator| [SWS_PER_00144] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00121

constexpr OpenMode operator| (OpenMode left, OpenMode right);

Merges two OpenMode modifiers into one.

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
leftFirst OpenMode modifiers.
rightSecond OpenMode modifiers.

Rückgabewert

TypBeschreibung
OpenModereturns Merged OpenMode modifiers.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00144
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00144@rel:R25-11#614daa03
Content hash
614daa03
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00144
Status: valid/unmigrated Version: rel:R25-11#be0c00de Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00144@rel:R25-11#be0c00de
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#089c02522026-09-30
  • R19-11rel:R19-11#4ac4ea742026-10-14
  • R20-11rel:R20-11#d1a0a9db2026-10-14
  • R21-11rel:R21-11#a74548b62026-10-14
  • R22-11rel:R22-11#f391a35f2026-10-14
  • R23-11rel:R23-11#0b63b8d12026-10-14
  • R24-11rel:R24-11#be0c00de2026-10-14
  • R25-11rel:R25-11#be0c00de2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

functie operator|= [SWS_PER_00434] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00121

OpenMode & operator|= (OpenMode &left, const OpenMode &right);

Merges an OpenMode modifier into this OpenMode.

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
leftLeft OpenMode modifiers.
rightRight OpenMode modifiers.

Rückgabewert

TypBeschreibung
OpenMode &returns The modified OpenMode.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_PER_00434
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00434@rel:R25-11#bb251724
Content hash
bb251724
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00434
Status: valid/unmigrated Version: rel:R25-11#481cc8ef Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00434@rel:R25-11#481cc8ef
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#eda27c892026-09-30
  • R20-11rel:R20-11#7995a25b2026-10-14
  • R21-11rel:R21-11#7c5577592026-10-14
  • R22-11rel:R22-11#483368c52026-10-14
  • R23-11rel:R23-11#951ada062026-10-14
  • R24-11rel:R24-11#481cc8ef2026-10-14
  • R25-11rel:R25-11#481cc8ef2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill