مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9cb072b2740aالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يوفر فضاء التسمية ara::per واجهات للتخزين الدائم للبيانات من خلال تمكين التطبيقات التكيفية من الوصول إلى نطاقات التخزين القائمة على الملفات وتلك القائمة على المفتاح والقيمة عبر معرّفات المثيلات ([SWS_PER_00052]، [SWS_PER_00116]). وتدير التطبيقات المخازن المفتوحة عبر مقابض مشتركة، وتجري تحديثات منسقة عند تغييرات البيان (Manifest)، ويمكنها إصلاح البيانات غير المتسقة عبر آليات الاستعادة ([SWS_PER_00333]، [SWS_PER_00357]). وبينما تتم عمليات الوصول إلى التخزين بشكل متزامن عبر المقابض، تتطلب العمليات الإدارية مثل التحديثات أو إعادة ضبط التخزين غياب عمليات الوصول المتزامنة ([SWS_PER_00311]).
السياق
يوفر فضاء التسمية ara::per واجهات المجموعة الوظيفية للاستمرارية لـ AUTOSAR Adaptive Platform. وتتمثل مسؤوليته الأساسية في التخزين الدائم لبيانات التطبيق بما يتجاوز الذاكرة عبر عمليات إعادة تشغيل النظام ودورات حياة العمليات. وتميز الوحدة بين نموذجي تخزين أساسيين: KeyValueStorage لأزواج المفتاح والقيمة المنظمة، وFileStorage للوصول إلى التخزين القائم على الملفات. وتصل التطبيقات التكيفية إلى هذه الموارد عبر نماذج المنافذ المكونة باستخدام ara::core::InstanceSpecifier ([SWS_PER_00052]، [SWS_PER_00116]).
الشركاء المهمون للتفاعل مع فضاء التسمية هم Update and Configuration Management (UCM)، الذي يمكنه توفير تكوينات مستهدفة (Target Configuration) محدثة أثناء وقت التشغيل ([SWS_PER_00576]، [SWS_PER_00577])، وكذلك وسيط التخزين المادي، الذي يضمن ara::per عليه الاتساق والتكرار وأمان البيانات ([SWS_PER_00311]).
يتم تنظيم الوصول إلى كائنات التخزين عبر تجريدات المقابض. ويؤدي فتح وحدة تخزين عبر OpenKeyValueStorage أو OpenFileStorage إلى إنشاء SharedHandle ([SWS_PER_00052]، [SWS_PER_00116]). ونظرًا لأن عدة خيوط يمكنها الوصول بالتزامن إلى نفس وحدة التخزين، فلا يتم بالضرورة إغلاق المورد المادي عند خروج SharedHandle فردي من نطاق صلاحيته؛ بل يتم الإغلاق فقط عند إزالة جميع مثيلات SharedHandle المُسندة ([SWS_PER_00052]، [SWS_PER_00116]).
بالنسبة للملفات الموجودة داخل FileStorage، يتم تتبع حالات الإنشاء والتعديل بالتفصيل. ويمثل التعداد FileCreationState ما إذا كان الملف قد أُنشئ أثناء التثبيت (kCreatedDuringInstallation)، أو أثناء التحديث (kCreatedDuringUpdate)، أو عبر إعادة الضبط (kCreatedDuringReset)، أو نتيجة للاستعادة (kCreatedDuringRecovery)، أو بواسطة التطبيق نفسه (kCreatedByApplication) ([SWS_PER_00435]). وبشكل مماثل، يعكس FileModificationState متى وعبر أي عملية تم تعديل الملف لآخر مرة ([SWS_PER_00436]).
لإدارة الحالات الأولية، يوفر فضاء التسمية دوال إعادة الضبط: حيث يعيد ResetKeyValueStorage ([SWS_PER_00334]) وResetAllFiles ([SWS_PER_00336]) مخازن فردية إلى القيم التي تم تعريفها مبدئيًا في البيان. وفي المقابل، تُفرغ العملية العامة ResetPersistency ([SWS_PER_00358]) جميع مخازن المفتاح والقيمة ومخازن الملفات بالكامل؛ ويحدث إعادة إنشائها عند الاستدعاء التالي لـ OpenFileStorage أو OpenKeyValueStorage.
يتضمن مسار التطبيق النموذجي التحقق من تحديثات التكوين، وتطبيق ترحيل البيانات، والوصول اللاحق إلى التخزين:
قبل التشغيل المنتظم أو أثناءه، يتحقق التطبيق باستخدام CheckForManifestUpdate مما إذا كانت UCM قد قامت بتثبيت تكوين مستهدف جديد ([SWS_PER_00576]). وإذا كان الأمر كذلك، تتم قراءة البيان الجديد عبر ReloadPersistencyManifest ([SWS_PER_00577]). وأثناء مرحلة التحقق اللاحقة، يبدأ التطبيق UpdatePersistency ([SWS_PER_00357]). وللتحكم في عمليات ترحيل البيانات الخاصة بالإصدار، يسجل التطبيق مسبقًا عبر RegisterApplicationDataUpdateCallback دالة معاودة اتصال يتم إعلامها بإصدارات العقود الأقدم وتنفذ خطوات الترحيل الخاصة بالتطبيق ([SWS_PER_00356]). بالإضافة إلى ذلك، يمكن مراقبة تغييرات العناصر باستخدام RegisterDataUpdateIndication ([SWS_PER_00578]). وبعد اكتمال التحديث، يزيل CleanUpPersistency النسخ الاحتياطية القديمة والأصول الزائدة عن الحاجة ([SWS_PER_00567]).
للوصول المنتظم، يفتح التطبيق المورد المستهدف عبر OpenKeyValueStorage ([SWS_PER_00052]) أو OpenFileStorage ([SWS_PER_00116]). وتتم إدارة عمليات الوصول إلى الملفات في FileStorage عبر أقنعة بتات التعداد OpenMode (مثل kAtTheBeginning، وkAtTheEnd، وkTruncate، وkAppend)، والتي يتم دمجها عبر المعاملين operator| ([SWS_PER_00144]) وoperator|= ([SWS_PER_00434]) ([SWS_PER_00147]). وتتم عمليات تحديد الموضع بالنسبة إلى Origin (kBeginning، kCurrent، kEnd) ([SWS_PER_00146]). ويمكن تحديد حجم التخزين المشغول حاليًا في وقت التشغيل عبر GetCurrentKeyValueStorageSize ([SWS_PER_00405]) وGetCurrentFileStorageSize ([SWS_PER_00406]).
تتم الإشارة إلى الأخطاء في فضاء التسمية بشكل قياسي عبر التعداد PerErrc ([SWS_PER_00311]) مقترنًا بـ PerErrorDomain ([SWS_PER_00352]) وMakeErrorCode ([SWS_PER_00351]). ومن المتوقع أن تعمل الفئة المصرح عنها PerException كنوع استثناء C++ للبيئات التي لا تتم فيها معالجة الأخطاء عبر ara::core::Result، بل عبر الاستثناءات (تفسير). سؤال Q-263982a4a4dae284 (مفتوح)
تشمل سيناريوهات الخطأ المركزية ما يلي:
أخطاء التكوين والعنونة: إذا كان InstanceSpecifier المُمرَّر لا يطابق أي PortInterface مُهيأ في النموذج، يفشل الفتح مع PerErrc::kStorageNotFound ([SWS_PER_00052]، [SWS_PER_00116]، [SWS_PER_00311]). وتؤدي عمليات الوصول إلى ملفات غير موجودة إلى توليد PerErrc::kFileNotFound ([SWS_PER_00311]).
فقدان السلامة والاستعادة: في حالات التلف الهيكلي (PerErrc::kIntegrityCorrupted) أو فشل فحوصات التكرار (PerErrc::kValidationFailed)، يتيح ara::per استعادة بأفضل جهد ممكن عبر RecoverKeyValueStorage ([SWS_PER_00333]) أو RecoverAllFiles ([SWS_PER_00335]). وعبر RegisterRecoveryReportCallback ([SWS_PER_00433])، يمكن للتطبيقات ذات الصلة بالسلامة تسجيل تدابير التصحيح تلقائيًا بالاستناد إلى RecoveryReportKind (مثل kKeyValueStorageRecovered، kFileRecovered) ([SWS_PER_00432]).
حدود التخزين والأخطاء المادية: في حال تجاوز الحصص النسبية أو السعات المادية، يتم الإبلاغ عن PerErrc::kOutOfStorageSpace، PerErrc::kQuotaExceeded أو PerErrc::kTooManyFiles ([SWS_PER_00311]). وتؤدي أخطاء العتاد أو نظام الملفات إلى PerErrc::kPhysicalStorageFailure ([SWS_PER_00311]).
الأمان وأنماط الوصول: إذا فشلت عمليات التحقق أو الحسابات التشفيرية، يُرجع النموذج PerErrc::kEncryptionFailed أو PerErrc::kAuthenticationFailed ([SWS_PER_00311]). وتُرفض محاولات الكتابة على مساحات تخزين محمية ضد الكتابة باستخدام PerErrc::kIllegalWriteAccess ([SWS_PER_00311]).
يستند هذا الدليل حصريًا إلى مواصفة AUTOSAR Adaptive R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 7a469464e330المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-medium · 2026-10-14
إدارة التخزين الدائم للبيانات والملفات وتحديثها والتعافي من تلفها للتطبيقات التكيفية.
يوفر نطاق الأسماء ara::per واجهات لإدارة وتخزين البيانات المستمرة في التطبيقات التكيفية عبر نمطي تخزين المفتاح والقيمة وتخزين الملفات [SWS_PER_00052][SWS_PER_00116]. ويتولى النطاق إدارة دورة حياة البيانات والتحديث المتزامن مع تكوينات النظام المنشورة إلى جانب استعادة البيانات التالفة بالاعتماد على آليات التكرار الاحتياطي [SWS_PER_00357][SWS_PER_00333]. وتخضع العمليات لقواعد تزامن صارمة تعيد الخطأ kResourceBusy عند تضارب التعديلات أو الاستخدام الفعال للمقابض [SWS_PER_00311].
السياق والمسؤوليات
يوفر نطاق الأسماء ara::per واجهات التخزين المستمر (Persistency) للتطبيقات التكيفية (Adaptive Applications) في منصة AUTOSAR Adaptive Platform، حيث يتيح آليات متكاملة لإدارة البيانات الثابتة والاحتفاظ بها عبر دورات إعادة تشغيل النظام أو ترقيته. تنقسم قدرات التخزين وظيفياً إلى نمطين أساسيين: التخزين بمفتاح وقيمة عبر KeyValueStorage للتعامل مع البيانات المهيكلة وعناصر الضبط [SWS_PER_00052]، والتخزين المعتمد على الملفات عبر FileStorage لمعالجة تدفقات البيانات والملفات الكبيرة عبر واجهات وصول متخصصة مثل ReadAccessor وWriteAccessor وReadWriteAccessor[SWS_PER_00116]. يعتمد النطاق على كائنات المقابض المشتركة SharedHandle لإدارة مراجع التخزين المفتوحة وضمان تزامن الوصول بين الخيوط المتعددة. كما يتفاعل مع مدير التحديثات والتكوينات (UCM) عبر ملفات التكوين المستهدفة (Target Configuration) لتنسيق تحديث هياكل البيانات وبيانات التطبيق المخزنة [SWS_PER_00576].
تخضع مستودعات التخزين في ara::per لدورة حياة مشتركة تبدأ بالفتح الصريح عبر OpenKeyValueStorage[SWS_PER_00052] أو OpenFileStorage[SWS_PER_00116] باستخدام معرف النموذج ara::core::InstanceSpecifier. تعيد هذه الدوال مقبضاً ذكياً من نوع SharedHandle؛ ولا يتم إغلاق المستودع فعلياً وتحرير موارده إلا بعد انتهاء نطاق جميع كائنات SharedHandle المشيرة إليه عبر مختلف خيوط التنفيذ، مما يمنح أماناً للوصول المتزامن. يوثق النطاق حالات نشأة الملفات وتعديلها بدقة عبر التعدادين FileCreationState وFileModificationState، مما يوضح ما إذا كان الملف قد أُنشئ أو عُدّل أثناء التثبيت الأولي، أو التحديث، أو الاستعادة بعد تلف، أو بواسطة التطبيق مباشرة [SWS_PER_00435][SWS_PER_00436]. كما يتيح النطاق إعادة ضبط المستودعات إلى حالتها الأولية المنشورة عبر ResetKeyValueStorage[SWS_PER_00334] وResetAllFiles[SWS_PER_00336]، أو مسح المحتويات بالكامل وإعادة بنائها لاحقاً عبر ResetPersistency[SWS_PER_00358]، إلى جانب التخلص من النسخ الاحتياطية غير المستخدمة عبر CleanUpPersistency[SWS_PER_00567].
مسار الاستخدام وتحديث البيانات
يتضمن المسار النمطي للتطبيق التكيفي تهيئة دوال النداء الراجع (Callbacks)، والتحقق من التحديثات، ثم فتح وحدات التخزين للتعامل مع البيانات. يسجل التطبيق أولاً دالة لمتابعة تحديث بيانات التطبيق عبر RegisterApplicationDataUpdateCallback للتعامل مع تغيير إصدارات العقود (Contract Versions) [SWS_PER_00356]، أو دالة استشعار التحديثات الفردية عبر RegisterDataUpdateIndication[SWS_PER_00578]. أثناء تشغيل التطبيق، يمكن استكشاف تحديثات التكوين عبر CheckForManifestUpdate[SWS_PER_00576]، وإعادة قراءة البيان المنشور بواسطة ReloadPersistencyManifest[SWS_PER_00577]، ثم تطبيق التحديثات عبر UpdatePersistency[SWS_PER_00357]. وعند فتح الملفات عبر وحدات التخزين، تُحدد أوضاع الفتح بمزج قيم OpenMode عبر العوامل operator| وoperator|=، مع مراعاة قواعد التعارض المحددة مثل حظر الجمع بين kAtTheBeginning وkAtTheEnd[SWS_PER_00147][SWS_PER_00144][SWS_PER_00434]، بالإضافة إلى توجيه مؤشرات الإزاحة عبر Origin[SWS_PER_00146] واستعلام المساحات المستهلكة عبر GetCurrentKeyValueStorageSize[SWS_PER_00405] وGetCurrentFileStorageSize[SWS_PER_00406].
تتبع إدارة الأخطاء في النطاق نموذج ara::core::Result بالاستناد إلى نطاق الأخطاء PerErrorDomain الذي يتم الحصول عليه عبر GetPerDomain[SWS_PER_00352] وإنشاء رموزه بواسطة MakeErrorCode[SWS_PER_00351]. يعرّف التعداد PerErrc أخطاء تشغيلية متنوعة تشمل عدم العثور على التخزين kStorageNotFound، وتلف البنية kIntegrityCorrupted، وفشل التحقق أو التشفير أو المصادقة (kValidationFailed وkEncryptionFailed وkAuthenticationFailed)، وتجاوز الحصص التخزينية (kQuotaExceeded وkOutOfStorageSpace وkTooManyFiles) [SWS_PER_00311]. ويبرز الخطأ kResourceBusy كشرط تزامني أساسي عند محاولة فتح مستودع أو استعادته أثناء انشغاله بعمليات جارية مثل UpdatePersistency أو ResetPersistency أو CleanUpPersistency[SWS_PER_00116][SWS_PER_00052]. ولمواجهة تلف البيانات بآليات التكرار الاحتياطي، يوفر النطاق الدالتين RecoverKeyValueStorage[SWS_PER_00333] وRecoverAllFiles[SWS_PER_00335]، مع إمكانية تسجيل دالة لمراقبة تقارير التعافي عبر RegisterRecoveryReportCallback لتتبع نجاح أو فشل ترميم العناصر بالاستناد إلى RecoveryReportKind في التطبيقات الحساسة للسلامة [SWS_PER_00433][SWS_PER_00432].
تم إنشاء هذا الدليل آلياً استناداً إلى متطلبات مواصفات AUTOSAR Adaptive Platform R25-11 لنطاق ara::per.
KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.
مخطط الفئة
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
=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.
=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.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b1f49db8b33dالمصدر
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تفحص الدالة المتزامنة CheckForManifestUpdate من ملف الترويسة ara/per/update.h في مساحة الاسم ara::per ما إذا كانت هناك تحديثات لـ Persistency Target Configuration [SWS_PER_00576]. وهي تعمل على اكتشاف تغييرات التهيئة التي تم تطبيقها بواسطة Update and Configuration Management (UCM) أثناء تشغيل التطبيق التكيفي الذي يستخدم الاستمرارية بالفعل [SWS_PER_00576]. لا تقبل الدالة أي معاملات وتعيد ara::core::Result<bool>: true إذا تم تحديث التهيئة منذ آخر قراءة، أو false إذا بقيت دون تغيير [SWS_PER_00576].
معالجة الأخطاء والتزامن
تم التصريح عن الدالة بأنها noexcept وآمنة من الاستثناءات (exception safe)، ولكنها ليست آمنة للخيوط (not thread-safe) [SWS_PER_00576]. في حالة حدوث خطأ، تحتوي النتيجة إما على أخطاء خاصة بالجهة المصنعة أو على أحد رموز الخطأ التالية [SWS_PER_00576]:
kPhysicalStorageFailure: يحدث عندما يفشل الوصول إلى وحدة التخزين الفعلية أثناء الفحص [SWS_PER_00576].
kIntegrityCorrupted: يحدث عندما يتعذر قراءة البيانات المحفوظة بسبب تلف السلامة الهيكلية [SWS_PER_00576].
تفاعل
إذا تم اكتشاف تحديث (القيمة المُرجعة true)، فيجب على التطبيق استدعاء ara::per::ReloadPersistencyManifest بعد ذلك لإعادة قراءة الـ Target Configuration التي تم تغييرها فعليًا [SWS_PER_00576].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي استنادًا إلى المواصفة.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8caa97337579المصدر
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-medium · 2026-10-14
الاستخدام والغرض التشغيلي
تُستخدم الدالة CheckForManifestUpdate المعرفة في النطاق ara::per عبر ملف الترويسة #include "ara/per/update.h" للتحقق من وجود تحديثات في تكوين هدف الاستدامة (Persistency Target Configuration) قام بتثبيتها مدير التحديث والتكوين (UCM) أثناء تشغيل التطبيق التكيفي [SWS_PER_00576]. تعمل الدالة بدلالات متزامنة ولا تطلق استثناءات (noexcept)، وتُرجع نتيجة من نوع ara::core::Result<bool> تحتوي على القيمة true في حال تم تحديث التكوين منذ آخر قراءة له، أو false إذا ظل دون تغيير [SWS_PER_00576]. وإذا أظهر التحقق وجود تحديث، يتعين على التطبيق استدعاء ara::per::ReloadPersistencyManifest لإعادة قراءة تكوين الهدف المحدث [SWS_PER_00576].
معالجة الأخطاء والقيود التشغيلية
في حال تعذر التحقق، تُرجع الدالة خطأً ضمن ara::core::Result يخضع لدلالات التراجع (rollback semantics)، وتشمل الأخطاء المحددة [SWS_PER_00576]:
kPhysicalStorageFailure: يُرجع عند تعذر الوصول إلى وسيط التخزين المادي أثناء عملية الفحص [SWS_PER_00576].
kIntegrityCorrupted: يُرجع عند استحالة قراءة البيانات المخزنة بسبب تلف في سلامة البنية الهيكلية [SWS_PER_00576].
أخطاء مخصصة يحددها المورد (vendor specific error) [SWS_PER_00576].
تتمتع الدالة بأمان الاستثناءات (exception safe)، غير أنها ليست آمنة مع تعدد الخيوط المتزامنة (not thread-safe) [SWS_PER_00576]؛ تفسير: يُرجَّح أنه يتعين على التطبيق التكيفي تنسيق استدعاءاتها عبر آليات قفل خارجية في حال استدعائها من خيوط متعددة لمنع تعارض الوصول.
تم إنشاء هذا التوضيح آلياً بالاعتماد حصرياً على مواصفة AUTOSAR Adaptive R25-11.
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
Fehlercode
Beschreibung
kPhysicalStorage-Failure
rollback_semantics Returned if access to the physical storage fails during the checking operation.
kIntegrityCor-rupted
rollback_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.
Removes backup data and other unused data of all Persistency Key-Value Storages and File Storages.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ce1bea3039deالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة المتزامنة CleanUpPersistency من ara/per/update.h لإزالة بيانات النسخ الاحتياطي (Backup Data) وغيرها من البيانات غير المستخدمة عبر كافة مخازن المفتاح-القيمة (Key-Value) والملفات (File-Storages) لمثيل ما [SWS_PER_00567]. وهي لا تقبل أي معاملات وتُعيد النتيجة عبر نوع الإرجاع ara::core::Result<void>[SWS_PER_00567].
التزامن والقيود
الدالة ليست آمنة للخيوط (not thread-safe) وتتطلب وصولاً حصريًا إلى جميع موارد التخزين [SWS_PER_00567]. إذا كان هناك ara::per::SharedHandle لمخزن مفتاح-قيمة أو ملف لا يزال مفتوحًا، يفشل الاستدعاء مع kResourceBusy[SWS_PER_00567]. وبالمثل، تؤدي العمليات الجارية بالتوازي مثل UpdatePersistency، ResetPersistency، RecoverKeyValueStorage، ResetKeyValueStorage، RecoverAllFiles أو ResetAllFiles إلى رمز الخطأ kResourceBusy[SWS_PER_00567].
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.
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.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 14078ca86bfbالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تفتح الدالة المتزامنة ara::per::OpenFileStorage وحدة تخزين ملفات للبيانات المستدامة وتوفرها عبر مقبض وصول مشترك [SWS_PER_00116]. وتتوقع كمعلمة مرجعًا إلى ara::core::InstanceSpecifier، والذي يحدد مسار shortName لنموذج أولي للمنفذ مصنف النوع بواسطة PersistencyFileStorageInterface. وتكون القيمة المرجعة ara::core::Result<ara::core::SharedHandle<FileStorage>>[SWS_PER_00116].
فيما يتعلق بالتزامن، تم تحديد الدالة على أنها آمنة خيطيًا (thread-safe) وآمنة من الاستثناءات (exception-safe) [SWS_PER_00116]. ونظرًا لأن خيوطًا متعددة يمكنها الوصول بالتوازي إلى نفس مثيل وحدة تخزين الملفات، فإن وحدة التخزين المادية لا تُغلق بالضرورة عند خروج SharedHandle فردي من نطاق الصلاحية. ويتم الإغلاق فقط بعد خروج جميع المقابض المرجعية عن النطاق (out-of-scope) [SWS_PER_00116].
في حالة حدوث خطأ، يحتوي Result على أكواد أخطاء من التعداد PerErrc أو أخطاء خاصة بالشركة المصنعة [SWS_PER_00116]:
PerErrc::kResourceBusy: يتم إرجاعه عند تنفيذ عمليات إدارية بالتزامن مثل CleanUpPersistency أو ResetPersistency أو RecoverAllFiles أو ResetAllFiles. وأثناء نشاط UpdatePersistency، يحدث هذا الخطأ إذا تم الاستدعاء خارج رد الاتصال المسجل عبر RegisterApplicationDataUpdateCallback أو باستخدام معرّف مختلف [SWS_PER_00116]، [SWS_PER_00356].
أخطاء التكوين والوصول: kStorageNotFound عند وجود مثيل غير مهيأ، وkPhysicalStorageFailure عند حدوث أخطاء في التخزين المادي، وkIntegrityCorrupted وkValidationFailed وkEncryptionFailed وkAuthenticationFailed عند وجود مشكلات في السلامة أو الفحص أو فك التشفير [SWS_PER_00116].
حدود السعة أثناء التحديثات الضمنية: kOutOfStorageSpace أو kTooManyFiles أو kQuotaExceeded[SWS_PER_00116].
بالتفاعل مع الوحدة، تؤدي إعادة التعيين المسبقة باستخدام ResetPersistency إلى إعادة إنشاء وحدات تخزين الملفات المحذوفة عند الاستدعاء التالي لـ OpenFileStorage[SWS_PER_00358]. وإذا تم تحديث البيانات أثناء الفتح، يتم استدعاء رد اتصال إشعار (indication callback) مسجل عبر RegisterDataUpdateIndication مباشرةً في سياق OpenFileStorage[SWS_PER_00578].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Adaptive R25-11.
rollback_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.
no_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.
rollback_semantics Returned if the files that are added/updated during an implicit update of the File Storage would exceed the configured maximum AllowedSize.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d24427922381المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام ودورة الحياة
تفتح الدالة المتزامنة OpenKeyValueStorage وحدة تخزين مفتاح-قيمة ومحددة كـ thread-safe وكذلك noexcept[SWS_PER_00052]. يتم تمرير ara::core::InstanceSpecifier كمعلمة kvs، والتي تشير إلى مسار PortPrototype مصنف النوع بواسطة PersistencyKeyValueStorageInterface. وتتم الإرجاع كـ ara::core::Result<SharedHandle<KeyValueStorage>>. نظرًا لأن خيوطًا متعددة يمكنها فتح وحدة التخزين نفسها بشكل متزامن، فإن Persistency لا تغلق وحدة التخزين المادية إلا بعد أن تغادر جميع مثيلات SharedHandle المرجعية نطاق صلاحيتها [SWS_PER_00052].
معالجة الأخطاء والتزامن
في حالة حدوث خطأ، تُرجع النتيجة أكواد أخطاء محددة لنطاق أخطاء Persistency [SWS_PER_00052]:
PerErrc::kStorageNotFound: المعرّف لا يتطابق مع أي واجهة مهيأة للملف التنفيذي (Executable).
PerErrc::kResourceBusy: يحدث عند تنفيذ CleanUpPersistency أو ResetPersistency[SWS_PER_00358] أو RecoverKeyValueStorage أو ResetKeyValueStorage بالتزامن لوحدة التخزين هذه. وأثناء UpdatePersistency، لا يُسمح بالاستدعاء إلا داخل رد الاتصال (callback) المسجل عبر RegisterApplicationDataUpdateCallback باستخدام معرّف المثيل الممرر هناك [SWS_PER_00356].
PerErrc::kPhysicalStorageFailure وPerErrc::kIntegrityCorrupted وPerErrc::kValidationFailed وPerErrc::kEncryptionFailed وPerErrc::kAuthenticationFailed عند وجود أعطال أو أخطاء في التحقق من الصحة أو أخطاء في التشفير.
PerErrc::kOutOfStorageSpace وPerErrc::kQuotaExceeded عند عدم كفاية مساحة التخزين أو تجاوز الحصة النسبية أثناء تحديث ضمني.
تفاعل
إذا تم حذف جميع البيانات مسبقًا باستخدام ResetPersistency، يُعاد إنشاء وحدة التخزين تلقائيًا عند الاستدعاء التالي لـ OpenKeyValueStorage[SWS_PER_00358]. بعد الفتح، يمكن إعادة تعيين التعديلات غير المحفوظة عبر DiscardPendingChanges إلى حالة الفتح [SWS_PER_00365]. بالإضافة إلى ذلك، يمكن أن يؤدي الفتح إلى إطلاق تنفيذ ردود الاتصال المسجلة عبر RegisterDataUpdateIndication[SWS_PER_00578].
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.
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
Fehlercode
Beschreibung
Found
Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
rollback_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.
no_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.
rollback_semantics Returned if the values that are added/updated during an implicit update of the Key-Value Storage would exceed the configured maximumAllowedSize.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ca84cc440ba3المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تجري الدالة RecoverAllFiles استعادة لوحدة تخزين قائمة على الملفات (File Storage) بما في ذلك جميع الملفات المخزنة بداخلها عند فشل فحوصات التكرار [SWS_PER_00335]. ويتم الاستدعاء بشكل متزامن مع تحديد InstanceSpecifier لنموذج المنفذ المكوّن وتُرجع ara::core::Result<void>[SWS_PER_00335].
تعمل الاستعادة وفقًا لمبدأ بذل أقصى جهد (Best-Effort): بعد الانتهاء، قد تحتوي الملفات على محتويات قديمة، أو قد تتم إعادتها إلى حالتها الأولية، أو قد تُفقد تمامًا [SWS_PER_00335]. وإذا فشل الوصول إلى وسيط التخزين (PerErrc::kPhysicalStorageFailure) أو لم تكن مساحة التخزين كافية (PerErrc::kOutOfStorageSpace)، فلا يوجد ضمان للتراجع [SWS_PER_00335]. وإذا حدث خطأ أثناء التشفير (PerErrc::kEncryptionFailed)، أو فحص السلامة (PerErrc::kAuthenticationFailed)، أو قيود حجم الذاكرة (PerErrc::kQuotaExceeded)، يتم تطبيق دلالات التراجع [SWS_PER_00335]. وإذا لم يتطابق المعرّف مع أي واجهة مكوّنة، فإن هذا ينتج عنه PerErrc::kStorageNotFound[SWS_PER_00335].
على الرغم من أن الدالة آمنة مؤشريًا، إلا أن التنفيذ يفشل مع PerErrc::kResourceBusy طالما كانت وحدة التخزين مفتوحة أو وُجد مقبض مشترك (Shared-Handle) نشط [SWS_PER_00335]، [SWS_PER_00116]. وبالمثل، فإن عمليات التنفيذ المتوازية لـ ResetAllFiles[SWS_PER_00336] لنفس وحدة التخزين وكذلك عمليات التحديث العامة UpdatePersistency[SWS_PER_00357]، وResetPersistency[SWS_PER_00358]، وCleanUpPersistency[SWS_PER_00567] تمنع الاستدعاء [SWS_PER_00335].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على المواصفات.
rollback_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.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ba269bfce693المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الدالة المتزامنة RecoverKeyValueStorage في مساحة الاسم ara::per لاستعادة وحدة تخزين Key-Value بعد فشل عمليات التحقق من التكرار الإضافي ([SWS_PER_00333]). يتم تمرير ara::core::InstanceSpecifier كمعامل kvs، والذي يشير إلى مسار ShortName الخاص بـ PortPrototype المقابل ([SWS_PER_00333]). تتم الاستعادة وفقاً لمبدأ أقصى جهد ممكن؛ وبعد العملية، قد تظهر للمفاتيح قيم قديمة أو أولية، أو قد تُفقد تماماً ([SWS_PER_00333]).
على الرغم من تحديد الدالة على أنها آمنة لمؤشرات الترابط، إلا أن التنفيذ يفشل مع رمز الخطأ PerErrc::kResourceBusy إذا كانت وحدة تخزين Key-Value المعنية مفتوحة – أي في حال وجود SharedHandle نشط واحد على الأقل ([SWS_PER_00052]، [SWS_PER_00333]). يحدث نفس الخطأ عندما تستدعي مؤشرات ترابط أخرى دوال معدّلة في نفس الوقت: UpdatePersistency ([SWS_PER_00357])، CleanUpPersistency ([SWS_PER_00567])، ResetPersistency ([SWS_PER_00358]) أو ResetKeyValueStorage ([SWS_PER_00334]). وأثناء عملية الاستعادة، يفشل أيضاً استدعاء OpenKeyValueStorage مع kResourceBusy ([SWS_PER_00052]).
يتم إرجاع النتيجة بشكل متزامن كـ ara::core::Result<void>. بالإضافة إلى PerErrc::kResourceBusy، تم تحديد الأخطاء الخاصة التالية ([SWS_PER_00333]):
PerErrc::kStorageNotFound: المعرّف الممرر لا يتطابق مع أي واجهة مهيأة.
PerErrc::kPhysicalStorageFailure: فشل الوصول إلى وحدة التخزين الفعلية (بدون دلالات تراجع).
PerErrc::kOutOfStorageSpace: مساحة تخزين فعلية غير كافية للبيانات المستعادة (بدون دلالات تراجع).
PerErrc::kQuotaExceeded: تجاوز الحد الأقصى للطول المكون (maximumAllowedSize).
PerErrc::kEncryptionFailed و PerErrc::kAuthenticationFailed: أخطاء في التشفير أو حساب MAC.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استناداً إلى مواصفة AUTOSAR.
rollback_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.
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.
The 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
Typ
Beschreibung
None
Request a governed re-review of this record. The record is not changed immediately.
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.
The 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.
monitoredStorage
A Key-Value Storage or File Storage for which updates shall be reported.
monitoredElements
A set of elements for which updates shall be reported.
Rückgabewert
Typ
Beschreibung
None
Request a governed re-review of this record. The record is not changed immediately.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5828fc3d3f00المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الدالة RegisterRecoveryReportCallback في مساحة الأسماء ara::per ([SWS_PER_00433]) لتسجيل روتين رد نداء لدى مكوّن Persistency. وتُستخدم في Adaptive Applications الموجهة نحو السلامة لاكتشاف الإجراءات التصحيحية لـ Persistency فيما يتعلق بصحة البيانات المستمرة وموثوقية التخزين [SWS_PER_00433].
المعاملات ودلالات الاستدعاء
يتم تمرير recoveryReportCallback كمعلمة، وهو std::function يتم استدعاؤه بواسطة Persistency عند تصحيح الأخطاء في البيانات المخزنة بنجاح باستخدام التكرار الزائد المتاح [SWS_PER_00433]. ويتم تمرير معلومات السياق التالية إلى رد النداء [SWS_PER_00433]:
storage: مسار (shortName) وحدة Key-Value Storage أو File Storage المتأثرة كـ ara::core::InstanceSpecifier.
recoveryReportKind: نوع تقرير الاسترداد (ara::per::RecoveryReportKind).
reportedElements: متجه لمعرفات العناصر المتأثرة (ara::core::Vector<ara::core::String>).
لا تُرجع الدالة أي قيمة وتم التصريح عنها كـ noexcept؛ وتعتبر آمنة من الاستثناءات (exception safe) [SWS_PER_00433]. ولا توجد رموز خطأ خاصة بها [SWS_PER_00433]. فيما يتعلق بأمان خيوط المعالجة، تم تصنيف الواجهة كـ not thread-safe[SWS_PER_00433]. لذلك، من المحتمل أن يتم الاستدعاء عادة في مرحلة تهيئة التطبيق قبل بدء عمليات الوصول المتزامنة إلى التخزين. سؤال Q-e5b93ea58fb56a1c (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى مواصفات منصة AUTOSAR.
The 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
Typ
Beschreibung
None
Request a governed re-review of this record. The record is not changed immediately.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 19920ccb9cf9المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تعيد الدالة المتزامنة ReloadPersistencyManifest من مساحة الاسم ara::per (المُصرح عنها في #include "ara/per/update.h") قراءة التهيئة المستهدفة (Target Configuration) للاستمرارية [SWS_PER_00577]. وتعمل على إعداد تحديثات Key-Value Storages وFile Storages بعد تثبيت تهيئة مستهدفة جديدة بواسطة Update and Config Management (UCM) أثناء وقت تشغيل الـ Adaptive Application [SWS_PER_00577].
عادةً ما يتحقق التطبيق مسبقًا باستخدام CheckForManifestUpdate[SWS_PER_00576] مما إذا كان هناك تحديث للتهيئة، ثم يستدعي ReloadPersistencyManifest بعد ذلك [SWS_PER_00576]. ومع ذلك، فإن إعادة القراءة لا تحدث وحدات التخزين المستمرة على الفور: لا يتم تحديث وحدات التخزين إلا بعد إغلاقها – إما عند إعادة فتحها أو عبر استدعاء صريح لـ ara::per::UpdatePersistency[SWS_PER_00577]. تفسير: على الأرجح لا يتم إغلاق مساحات التخزين المفتوحة بالفعل تلقائيًا بواسطة هذا الاستدعاء، مما يلزم التطبيق بإغلاقها بنفسه أو تحديثها بشكل صريح. سؤال Q-16f9dae418feb3fa (مفتوح)
لا تأخذ الدالة أي معاملات وتعيد ara::core::Result<void>[SWS_PER_00577]. في حالة حدوث خطأ، تحتوي النتيجة على أخطاء خاصة بالجهة المصنعة أو على أحد رموز الخطأ التالية ذات دلالات التراجع (Rollback) [SWS_PER_00577]:
kPhysicalStorageFailure: يحدث إذا فشل الوصول إلى وحدة التخزين الفعلية أثناء عملية القراءة [SWS_PER_00577].
kIntegrityCorrupted: يحدث إذا تعذر قراءة البيانات المخزنة بسبب تلف السلامة الهيكلية [SWS_PER_00577].
فيما يتعلق بالتزامن، تم تحديد الدالة بأنها ليست آمنة للخيوط (not thread-safe)، ولكن تم التصريح عنها بأنها آمنة من الاستثناءات (exception safe) وnoexcept[SWS_PER_00577]. لذلك، يجب مزامنة الاستدعاءات المتوازية من جانب التطبيق.
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى المواصفة.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f645139d391cالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تعيد الدالة ResetAllFiles تعيين وحدة File Storage بشكل متزامن إلى حالة التسليم الأولية الخاصة بها وفقًا لـ Target Configuration الحالية [SWS_PER_00336]. وبعد التنفيذ الناجح، تحتوي وحدة التخزين حصريًا على الملفات المحددة هناك بمحتوياتها الأصلية، كما لو أنه تم تثبيتها من جديد [SWS_PER_00336].
الاستخدام والتزامن: يُمرَّر عبر المعلمة fs مُعرِّف المثيل لـ PortPrototype ذي النوع PersistencyFileStorageInterface[SWS_PER_00336]. ورغم أن الدالة مُحدَّدة على أنها thread-safe وexception safe، إلا أنها تتطلب وصولاً حصرياً إلى وحدة التخزين: فإذا كانت وحدة التخزين مفتوحة حالياً (على سبيل المثال عبر SharedHandle نشط من OpenFileStorage[SWS_PER_00116]) أو يجري تعديلها بشكل متزامن بواسطة UpdatePersistency[SWS_PER_00357] أو CleanUpPersistency[SWS_PER_00567] أو ResetPersistency[SWS_PER_00358] أو RecoverAllFiles[SWS_PER_00335] أو استدعاء آخر لـ ResetAllFiles، فإن التنفيذ يفشل [SWS_PER_00336].
معالجة الأخطاء: تُرجع الدالة ara::core::Result<void>[SWS_PER_00336]. رموز الخطأ المحتملة من PerErrc هي:
kResourceBusy: وحدة تخزين الملفات مفتوحة أو يجري تعديلها بشكل متزامن (دلالات التراجع Rollback) [SWS_PER_00336].
kStorageNotFound: المُعرِّف لا يطابق أي واجهة تم تكوينها للملف التنفيذي [SWS_PER_00336].
kPhysicalStorageFailure أو kOutOfStorageSpace: خطأ في وحدة التخزين الفعلية أو عدم كفاية مساحة التخزين (بدون دلالات التراجع) [SWS_PER_00336].
kEncryptionFailed أو kAuthenticationFailed: خطأ أثناء التشفير أو حساب MAC (دلالات التراجع) [SWS_PER_00336].
التفاعل: بعد إعادة التعيين، تمتلك الملفات المستعادة عند الاستعلام عن حالتها الحالة FileCreationState::kCreatedDuringReset[SWS_PER_00435] وكذلك FileModificationState::kModifiedDuringReset[SWS_PER_00436].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R25-11.
rollback_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.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 48697319880fالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تعيد الدالة المتزامنة ResetKeyValueStorage تعيين Key-Value-Storage محدد إلى حالته الأولية [SWS_PER_00334]. بعد التنفيذ الناجح، يحتوي التخزين حصرياً على أزواج المفتاح والقيمة بقيمها الأولية التي تم توفيرها عبر Target Configuration؛ وبعد ذلك يتصرف التخزين كما لو تم تثبيته حديثاً من التكوين الحالي [SWS_PER_00334]. يتم تمرير مسار kvs كـ ara::core::InstanceSpecifier، والذي يشير إلى PortPrototype الخاص بـ PersistencyKeyValueStorageInterface مهيأ [SWS_PER_00334].
تم تحديد الدالة على أنها thread-safe و exception safe، ولكنها تخضع لشروط تزامن صارمة فيما يتعلق بوحدات التخزين المفتوحة وعمليات الاستدامة العامة [SWS_PER_00334]:
يفشل الاستدعاء مع PerErrc::kResourceBusy، إذا كان Key-Value-Storage المعني مفتوحاً حالياً (أي لا يزال هناك SharedHandle موجوداً، انظر [SWS_PER_00052]) أو إذا تم تنفيذ استعادة باستخدام RecoverKeyValueStorage[SWS_PER_00333] في نفس الوقت على نفس التخزين [SWS_PER_00334].
يؤدي التنفيذ المتوازي للعمليات العامة UpdatePersistency[SWS_PER_00357]، CleanUpPersistency[SWS_PER_00567]، ResetPersistency[SWS_PER_00358] أو الاستدعاء المتزامن لـ ResetKeyValueStorage في مؤشر ترابط آخر أيضاً إلى kResourceBusy[SWS_PER_00334].
كنتيجة، تقدم الدالة ara::core::Result<void>[SWS_PER_00334]. في حالة حدوث خطأ، تظهر رموز الخطأ المحددة التالية إلى جانب kResourceBusy: PerErrc::kStorageNotFound (InstanceSpecifier غير صالح)، و PerErrc::kPhysicalStorageFailure (خطأ في الوصول إلى وسيط التخزين، بدون دلالات تراجع)، و PerErrc::kOutOfStorageSpace (مساحة تخزين غير كافية للقيم الأولية، بدون دلالات تراجع)، و PerErrc::kEncryptionFailed (خطأ في التشفير) بالإضافة إلى PerErrc::kAuthenticationFailed (خطأ في حساب MAC) [SWS_PER_00334].
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR R25-11.
rollback_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.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d1720067a24eالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة المتزامنة ResetPersistency ([SWS_PER_00358]) من ملف الترويسة ara/per/update.h لإعادة التعيين الكامل لجميع وحدات تخزين المفتاح-القيمة والملفات الخاصة بأحد التطبيقات. عند الاستدعاء، يتم حذف كافة المحتويات الدائمة دون ترك أي أثر. ولا يتم إعادة إنشاء وحدات التخزين نفسها على الفور، بل يتم إنشاؤها مجددًا فقط عند الاستدعاء التالي لـ ara::per::OpenKeyValueStorage ([SWS_PER_00052]) أو ara::per::OpenFileStorage ([SWS_PER_00116]). وتحصل الملفات التي يتم توفيرها مجددًا بعد إعادة التعيين على حالة الإنشاء FileCreationState::kCreatedDuringInstallation ([SWS_PER_00435]).
معالجة الأخطاء
تُرجع الدالة كقيمة إرجاع ara::core::Result<void> ([SWS_PER_00358]). إذا فشل الوصول إلى وسيط التخزين المادي أثناء العملية، تُرجع الدالة kPhysicalStorageFailure بدون دلالة التراجع. وإذا كانت الموارد الدائمة مشغولة أو يتم تعديلها بشكل متوازٍ، يتم إلغاء الاستدعاء مع kResourceBusy ودلالة تراجع نشطة ([SWS_PER_00358]). بالإضافة إلى ذلك، قد تحدث أخطاء خاصة بالشركة المصنعة.
التزامن والقيود
تم التصريح عن الواجهة بأنها exception safe، ولكن تم تصنيفها صراحةً بأنها not thread-safe ([SWS_PER_00358]). وهي تفشل مع kResourceBusy بمجرد:
أن تكون هناك عمليات عامة قيد التنفيذ بالفعل مثل UpdatePersistency ([SWS_PER_00357]) أو CleanUpPersistency ([SWS_PER_00567])،
أو معالجة وحدة تخزين فردية بشكل متوازٍ عبر RecoverKeyValueStorage، ResetKeyValueStorage، RecoverAllFiles ([SWS_PER_00335]) أو ResetAllFiles ([SWS_PER_00336])،
أو استمرار وجود SharedHandle نشط واحد على الأقل لوحدة تخزين مفتاح-قيمة أو ملفات ([SWS_PER_00358]).
طالما أن ResetPersistency قيد التشغيل، تؤدي محاولات الفتح المتزامنة عبر OpenKeyValueStorage ([SWS_PER_00052]) أو OpenFileStorage ([SWS_PER_00116]) في خيوط أخرى أيضًا إلى kResourceBusy.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. مواصفات AUTOSAR هي المرجع الحاسم.
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.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a05074f12eedالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تحدّث الدالة المتزامنة ara::per::UpdatePersistency ([SWS_PER_00357]، ملف الترويسة ara/per/update.h) كافة وحدات تخزين المفتاح-القيمة وتخزين الملفات لتطبيق ما بعد تثبيت تكوين هدف جديد. وهي تُستخدم لتحديث البيانات المستدامة لتطبيق Adaptive أثناء مرحلة التحقق [SWS_PER_00357]. ولا تأخذ الدالة أي معلمات تمرير وتُرجع ara::core::Result<void>[SWS_PER_00357].
معالجة الأخطاء
في حالة حدوث خطأ، يحتوي Result المرجع على كود خطأ محدد أو خطأ خاص بالشركة المصنعة [SWS_PER_00357]. ويتم التمييز هنا بين العمليات ذات دلالات التراجع والعمليات التي بدونها:
دلالات التراجع: عند kIntegrityCorrupted وkValidationFailed وkEncryptionFailed وkAuthenticationFailed وkTooManyFiles (تجاوز maxNumberOfFiles) وkQuotaExceeded (تجاوز MaximumAllowedSize) وكذلك kResourceBusy، يتم التراجع عن التغييرات التي أُجريت [SWS_PER_00357].
بدون دلالات التراجع: عند حدوث أخطاء في التخزين المادي (kPhysicalStorageFailure) وكذلك عدم كفاية مساحة التخزين المادية (kOutOfStorageSpace)، لا يُضمن التراجع [SWS_PER_00357].
التزامن والقيود
تم تحديد الدالة على أنها آمنة من الاستثناءات (exception safe)، ولكنها صراحةً ليست آمنة خيطيًا (not thread-safe) [SWS_PER_00357]. ويفشل الاستدعاء مع kResourceBusy بمجرد أن يظل SharedHandle الخاص بوحدة تخزين مفتاح-قيمة أو تخزين ملفات قيد الاستخدام، أو عند تنفيذ دوال صيانة بالتوازي مثل CleanUpPersistency[SWS_PER_00567] أو ResetPersistency[SWS_PER_00358] أو RecoverKeyValueStorage[SWS_PER_00333] أو ResetKeyValueStorage[SWS_PER_00334] أو RecoverAllFiles[SWS_PER_00335] أو ResetAllFiles[SWS_PER_00336][SWS_PER_00357]. وبالمثل، تفشل الاستدعاءات المتزامنة لـ OpenKeyValueStorage[SWS_PER_00052] وOpenFileStorage[SWS_PER_00116] من خيوط أخرى أثناء التحديث مع kResourceBusy أيضًا.
تفاعل
إذا قام UCM بتثبيت تكوين هدف جديد أثناء التشغيل وتمت إعادة قراءته عبر ReloadPersistencyManifest[SWS_PER_00577]، فسيتم تحديث وحدات التخزين المغلقة عبر UpdatePersistency. وإذا تم تسجيل ردود اتصال مسبقًا عبر RegisterDataUpdateIndication[SWS_PER_00578] أو RegisterApplicationDataUpdateCallback[SWS_PER_00356]، فسيتم استدعاؤها بشكل متزامن في سياق UpdatePersistency[SWS_PER_00578].
تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى مواصفة AUTOSAR R25-11.
no_rollback_semantics Returned if the available physical storage space is insufficient for the update.
kTooManyFiles
rollback_semantics Returned if the files added during the update of any File Storage would exceed the configured PersistencyFileStorageInterface.maxNumberOfFiles.
kQuotaExceeded
rollback_semantics Returned if the update would exceed the configured PersistencyCommon.MaximumAllowedSize of any Key- Value Storage or File Storage.
kAuthentication-Failed
rollback_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.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني