وحدة ara::ucm — Update and Configuration Management
دليل الوحدةمولَّد بالذكاء الاصطناعي
يدير النقل الآمن لحزم البرمجيات، والتحقق منها، وتفعيلها على Adaptive Platform.
يدير النقل الآمن لحزم البرمجيات، والتحقق منها، وتفعيلها على Adaptive Platform.
يتحكم Functional Cluster المسمى Update and Configuration Management في التثبيت المعاملي لحزم البرمجيات، والتحقق منها، وتفعيلها على جهاز Adaptive (AUTOSAR_AP_EXP_SWArchitecture ص. 138). وتحقق واجهة الخدمة PackageManagement لهذا الغرض خط أنابيب ثلاثي المراحل يتألف من نقل البيانات، ومعالجة الحزمة، والتبديل اللاحق عبر Activate ([SWS_UCM_00352]). وعند حدوث أخطاء أو غياب التبعيات، تضمن الآليات الموحدة قياسياً مثل Rollback وRevertProcessedSwPackages استعادة آمنة لحالة النظام السابقة ([SWS_UCM_00350]، [SWS_UCM_00353]).
يعد Update and Configuration Management (UCM) بمثابة Functional Cluster قائم على برنامج خفي (daemon) ضمن AUTOSAR Adaptive Platform، حيث يوفر الواجهة الموجهة نحو الخدمة PackageManagement عبر ara::com ([SWS_UCM_00361]، AUTOSAR_AP_EXP_SWArchitecture ص. 138). ويعمل UCM كجهة تنفيذ محلية لعملاء OTA، وتطبيقات التشخيص، أو إدارة تحديث وتكوين المركبة (V-UCM) على مستوى المركبة بالكامل، ويتم عنونته في تكوينات متعددة وحدات التحكم الإلكترونية (Multi-ECU) عبر معرّف مثيل فريد على مستوى المركبة باستخدام GetId ([SWS_UCM_00343]، TPS_ManifestSpecification ص. 631).
يجري تسلسل التحديث في ثلاث مراحل: نقل البيانات، والمعالجة، والتفعيل (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 136). ويمكن دفق حزم البرمجيات كتلياً في أي وقت عبر TransferStart وTransferData وTransferExit، أو تسجيلها عبر RegisterSoftwarePackage كمسار URI موجود ([SWS_UCM_00344]، [SWS_UCM_00345]، [SWS_UCM_00346]). ويمكن إزالة عمليات النقل التي لم تعد هناك حاجة إليها باستخدام DeleteTransfer ([SWS_UCM_00348]).
مخطط التتابع: نقل حزمة برمجيات عبر الدفق الكتلي أو التسجيل المباشر لمسار URI. المصادر: [SWS_UCM_00344]، [SWS_UCM_00345]، [SWS_UCM_00346]، [SWS_UCM_00347]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 136، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 137.
يتم تشغيل المعالجة بواسطة ProcessSwPackage، حيث يتحقق UCM من بيانات بيان الحزمة (manifests) والتوقيعات، ويفك حزم العناقيد المستهدفة، ويعرض التقدم في حقل الحالة CurrentStatus وعبر GetProgress ([SWS_UCM_00349]، [SWS_UCM_00360]، [SWS_UCM_00361]). وبعد الإعداد الناجح، يقوم Activate بالتبديل إلى العناقيد الجديدة بالتنسيق مع State Management وExecution Management، وعندئذٍ يقوم Finish بتنظيف البيانات المصدرية المؤقتة ([SWS_UCM_00352]، [SWS_UCM_00354]، AUTOSAR_AP_EXP_PlatformDesign ص. 77).
مخطط التتابع: التفعيل، والانتقال في حالة المنصة، وتنظيف حزم البرمجيات. المصادر: [SWS_UCM_00352]، [SWS_UCM_00354]، AUTOSAR_AP_EXP_PlatformDesign ص. 77.
تؤدي المعالجات غير الصحيحة إلى الحالة kProcessingFailed، بينما تتم استعادة الحملات غير المكتملة معاملياً إلى الحالة الأصلية قبل التفعيل باستخدام RevertProcessedSwPackages وبعد فشل التبديل باستخدام Rollback ([SWS_UCM_00350]، [SWS_UCM_00353]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 38). وتُستخدم GetSwClusterInfo وGetSwClusterChangeInfo وكذلك GetHistory لفحص الحالة والتدقيق ([SWS_UCM_00355]، [SWS_UCM_00356]، [SWS_UCM_00357]).
الدور والحدود الوظيفية للنظام ضمن مجمع المنصة
يشكل Functional Cluster المسمى Update and Configuration Management (UCM) مكون المنصة المركزي لـ AUTOSAR Adaptive Platform للتحديث والتثبيت وإلغاء التثبيت الآمن والمعاملي لبرمجيات التطبيقات والمنصة على مستوى الجهاز (AUTOSAR_AP_EXP_SWArchitecture ص. 138). ومن الناحية التقنية، تم تنفيذ UCM كخدمة خلفية على مستوى النظام (daemon-based)، ويوفر وظائفه الأساسية عبر واجهة خدمة ara::com الأساسية PackageManagement ([SWS_UCM_00361]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 90). وتشمل الكيانات المستهلكة عملاء Over-the-Air (عملاء OTA) داخل المركبة، وأجهزة فحص التشخيص عبر Diagnostic Management، والمنسقين من المستوى الأعلى مثل Vehicle Update and Configuration Management (V-UCM) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 17).
ضمن بنية مركبة متعددة المستويات، يعمل UCM كجهة تنفيذ محلية (UCM Subordinate)، بينما ينسق V-UCM المركزي للمركبة الحملات المدعومة برمجياً عبر عدة وحدات تحكم إلكترونية (SWS_VehicleUpdateAndConfigurationManagement ص. 16، AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement ص. 12). ولتمكين المنسق المركزي من عنونة عدة مثيلات موزعة لـ UCM على أجهزة مختلفة، يوفر كل مثيل معرّفه الفريد عبر الطريقة GetId ([SWS_UCM_00343]). ويجب تكوين هذا المعرّف وفقاً لمواصفات البيان ليكون فريداً لكل جهاز على مستوى المركبة بالكامل (TPS_ManifestSpecification ص. 631).
مخطط السياق: التضمين الوظيفي لبرنامج UCM الخفي في Adaptive Platform والتفاعل مع العملاء وعناقيد المنصة. المصادر: AUTOSAR_AP_EXP_SWArchitecture ص. 138، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 17، SWS_VehicleUpdateAndConfigurationManagement ص. 16.
توفير ونقل حزم البرمجيات
تنقسم دورة حياة تحديث البرمجيات قياسياً إلى ثلاث مراحل كلية: نقل البيانات (Data Transmission)، ومعالجة الحزمة (Processing)، والتفعيل (Activation) (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 136). ومن السمات المعمارية الأساسية لـ UCM فصل نقل البيانات عن حالات المعالجة الداخلية وإدارة الحزم: حيث يمكن نقل حزم البرمجيات إلى الجهاز في أي وقت أثناء التشغيل الجاري (SWS_UpdateAndConfigurationManagement ص. 38).
لتوفير حزم البرمجيات، تحدد الواجهة PackageManagement آليتين متكاملتين:
- الدفق الكتلي: يبدأ العميل النقل عن طريق استدعاء
TransferStartمع تحديد الحجم الإجمالي بالبايت، ويتلقىTransferIdTypeفريداً بالإضافة إلى الحد الأقصى المسموح به لحجم الكتلة ([SWS_UCM_00345]). وبعد ذلك، تُنقل أجزاء البيانات بشكل تسلسلي باستخدامTransferDataوعداد كتل متتابع ([SWS_UCM_00346]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 136). ويمثل استدعاء الطريقةTransferExitالإتمام الرسمي ([SWS_UCM_00347]). - التسجيل القائم على URI: إذا تم بالفعل توفير الحزمة خارج UCM (على سبيل المثال عبر مدير تنزيل في الخلفية أو إيداع مسبق في نظام الملفات المحلي)، يمكن للعميل تسجيل الحزمة عبر
RegisterSoftwarePackageمع تحديد مسار URI قياسي ([SWS_UCM_00344]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 137).
في كلتا الحالتين، يعيّن UCM للحزمة TransferId فريداً، تُحال إليه جميع الإجراءات اللاحقة. ويمكن إزالة الحزم المنقولة التي لم تتم معالجتها بعد صراحةً من الذاكرة المؤقتة عند الإلغاء أو تنظيف الذاكرة باستخدام DeleteTransfer ([SWS_UCM_00348]).
مخطط التتابع: نقل حزمة برمجيات عبر الدفق الكتلي أو التسجيل المباشر لمسار URI. المصادر: [SWS_UCM_00344]، [SWS_UCM_00345]، [SWS_UCM_00346]، [SWS_UCM_00347]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 136، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 137.
المعالجة والتحقق في UCM المحلي
بعد النقل أو التسجيل الناجح، يُطلق العميل معالجة الحزمة عبر الطريقة ProcessSwPackage ([SWS_UCM_00349]). تشمل المعالجة استخراج عناقيد البرمجيات، وقراءة البيانات الوصفية (Manifests)، وفحوصات السلامة والموثوقية، بالإضافة إلى التحقق الثابت من تبعيات العناقيد (EXP_SWArchitecture ص. 185). يمكن لحزمة برمجيات مفردة أن تغلف ملفات قابلة للتنفيذ لـ Adaptive Applications، أو تحديثات نظام التشغيل أو البرامج الثابتة (Firmware)، فضلاً عن بيانات التكوين والمعايرة (SWS_UpdateAndConfigurationManagement ص. 27).
ينقل استدعاء ProcessSwPackage حقل الخدمة CurrentStatus إلى الحالة kProcessing ([SWS_UCM_00361]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 123). يمكن للعملاء الاشتراك في الحقل أو مراقبة التقدم الحالي عبر طريقة الاستعلام GetProgress ([SWS_UCM_00360]). بالإضافة إلى ذلك، يتيح GetSwPackages الاستعلام عن جميع حزم البرمجيات المعروفة حالياً في UCM وحالة معالجتها ([SWS_UCM_00359]). يمكن عند الحاجة مقاطعة خطوات المعالجة الجارية المستغرقة للوقت باستخدام Suspend واستئنافها في وقت لاحق بواسطة Resume ([SWS_UCM_00397]، [SWS_UCM_00398]). وإذا تم إلغاء المعالجة، يمكن إيقاف العملية بصورة منضبطة باستخدام Cancel ([SWS_UCM_00351]).
مخطط تسلسلي: معالجة الحزمة مع انتقال الحالة ومراقبة التقدم. المصادر: [SWS_UCM_00349]، [SWS_UCM_00360]، [SWS_UCM_00361]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 123.
سير عمل التفعيل وتغيير حالة المنصة
إذا تمت معالجة جميع الحزم المخصصة لحملة ما بنجاح، يبدأ العميل تفعيل عناقيد البرمجيات الجديدة عبر الاستدعاء المتزامن لـ Activate ([SWS_UCM_00352]). ويشترط لذلك أن يكون UCM في حالة سكون متسقة وألا تكون هناك مهام معالجة أو إلغاء نشطة قيد التشغيل (EXP_SWArchitecture ص. 185). ينسق UCM خطوة التفعيل بشكل وثيق مع State Management (SM) وExecution Management (EM): حيث يتم إنهاء العمليات الجارية للإصدار القديم بنظام، وترحيل هياكل بيانات الاستدامة، وبدء مثيلات التطبيق الجديدة (AUTOSAR_AP_EXP_PlatformDesign ص. 77).
يدعم النموذج الفوقي للبيان التوصيفي (Manifest) في Adaptive Platform خطوات تفعيل متعددة المراحل (SoftwarePackageStep)، مما يسمح بفصل ترتيب معالجة الحزم بمرونة عن التحضير ولحظة التبديل الفعلية (activationSwitch=True) (AUTOSAR_TPS_ManifestSpecification ص. 642). بعد التبديل الناجح والتحقق من إصدارات البرمجيات الجديدة، يختتم العميل الحملة باستخدام Finish ([SWS_UCM_00354]). يقوم هذا الاستدعاء بتنظيف نهائي، وحذف حزم المصدر من التخزين المؤقت، ونقل عناقيد البرمجيات إلى الحالة الدائمة (EXP_SWArchitecture ص. 138).
مخطط التتابع: التفعيل، والانتقال في حالة المنصة، وتنظيف حزم البرمجيات. المصادر: [SWS_UCM_00352]، [SWS_UCM_00354]، AUTOSAR_AP_EXP_PlatformDesign ص. 77.
دورة حياة العنقود، وواجهات برمجة تطبيقات الاستعلام، وسجل التدقيق
تمتلك عناقيد البرمجيات (SwCluster) دورة حياة محددة بدقة: بعد المعالجة الناجحة عبر ProcessSwPackage، ينتقل عنقود مضاف حديثاً إلى الحالة kAdded، بينما يتخذ عنقود محدث الحالة kUpdating (SWS_UpdateAndConfigurationManagement ص. 24). وفقط مع الاستدعاء الختامي لـ Finish بعد التفعيل، تنتقل هذه العناقيد إلى الحالة الإنتاجية المستقرة kPresent (SWS_UpdateAndConfigurationManagement ص. 24). وبالنسبة لحزم البرمجيات نفسها، توجد آلات حالة مفككة الارتباط: يتيح TransferState (الحالتان kTransferring، kTransferred) وProcessingState (الحالات kReady، kProcessing، kProcessed، kProcessingFailed) أيضاً سيناريوهات تدفق بحتة دون تخزين وسيط مسبق للحزمة بأكملها (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 38).
أثناء وقت التشغيل، يوفر UCM واجهات معلومات شاملة لفحص النظام:
- يُرجع
GetSwClusterInfoقائمة بجميع عناقيد البرمجيات النشطة حالياً في الحالةkPresentمع معرفات الإصدار ([SWS_UCM_00357]). - يُبلغ
GetSwClusterChangeInfoعن جميع التغييرات المعلقة (عناقيد ستتم إضافتها، أو تحديثها، أو إزالتها) قبل التفعيل النهائي ([SWS_UCM_00356]). - يتيح
GetSwClusterManifestInfoالاستعلام المستهدف عن تفاصيل البيان التوصيفي لعنقود برمجيات مثبت محدد ([SWS_UCM_00358]). - يمكّن
GetHistoryمن قراءة مسار تدقيق زمني لجميع إجراءات UCM ضمن فاصل زمني محدد للتتبع السلس والشامل في إدارة الأسطول ([SWS_UCM_00355]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 86).
مخطط حالة: آلات حالة مفككة الارتباط لنقل البيانات ومعالجة حزمة برمجيات. المصادر: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 38، AUTOSAR_SWS_UpdateAndConfigManagement ص. 20.
مخطط حالة: دورة حياة عنقود برمجيات من التحضير حتى التفعيل النهائي. المصادر: SWS_UpdateAndConfigurationManagement ص. 24، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 87.
السلوك في حالة الخطأ وتأمين المعاملات
لضمان السلامة الوظيفية واستقرار النظام لوحدة التحكم الإلكترونية (ECU) في ظل جميع ظروف التشغيل، يفرض UCM فحوصات اتساق صارمة ويوفر آليات تراجع لكل مرحلة من مراحل عملية التحديث. إذا فشل التحقق أو التثبيت أثناء معالجة الحزمة، تنتقل الحزمة المعنية إلى الحالة kProcessingFailed (AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 38). وإذا كان يلزم التخلص من حزم تمت معالجتها بالفعل قبل التفعيل، فإن RevertProcessedSwPackages يعيد جميع تغييرات الملفات والتكوينات المؤقتة بصورة مجمعة ([SWS_UCM_00350]).
إذا تم اكتشاف خطأ أثناء خطوة التفعيل – كوجود تبعيات غير قابلة للحل (kDependencyMissing)، أو فشل تخصيص الذاكرة (kPersistencyAllocationFailed)، أو أخطاء في جلسة التحديث مع State Management ([SWS_UCM_00352]) – يقوم UCM بإلغاء التفعيل. في حالة خطأ كهذه، تعيد الطريقة Rollback المنصة بأكملها إلى الحالة الدقيقة التي كانت عليها قبل بدء معالجة الحزمة ([SWS_UCM_00353]). تفسير: من المرجح أن UCM يعتمد هنا على هياكل تخزين مكررة مثل أقسام A/B أو لقطات نظام الملفات (Snapshots)، لإعادة تشغيل الإصدارات القديمة غير المعدلة دون فقدان البيانات (AUTOSAR_AP_EXP_SWArchitecture ص. 138). سؤال Q-8d85be7343a9aace (مفتوح)
على مستوى الواجهة، يتم رفض الاستدعاءات غير المسموح بها (مثل محاولات التفعيل في حال وجود حزم مفقودة أو استدعاءات متوازية أثناء العمليات النشطة) بشكل حتمي عبر رمز الخطأ kOperationNotPermitted ([SWS_UCM_00347]، [SWS_UCM_00352]). تفسير: من المرجح أن UCM يحظر تماماً أي استدعاءات تعديل متزامنة أثناء عمليات التفعيل أو التراجع الجارية، لمنع حالات التسابق (Race Conditions) أثناء تبديل الأقسام (EXP_SWArchitecture ص. 185). سؤال Q-60859031e6230a65 (مفتوح) ويرد UCM على معرفات الجلسة غير الصالحة أو غير المعروفة بخطأ التطبيق kTransferIdInvalid ([SWS_UCM_00348]، [SWS_UCM_00351]).
أدلة تفصيلية إضافية
إن بنية UCM ودمجه الموجه نحو الخدمات مثبتان بصورة ملزمة في المواصفات الأساسية التالية:
- واجهة الخدمة وبروتوكول النقل لـ
PackageManagement: [SWS_UCM_00345]، [SWS_UCM_00346]، [SWS_UCM_00347]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 85. - المعالجة، وانتقالات الحالة، ومعالجة الأخطاء: [SWS_UCM_00349]، [SWS_UCM_00350]، [SWS_UCM_00352]، [SWS_UCM_00353]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 38.
- فحص الحالة، ونموذج بيانات عنقود البرمجيات، والتاريخ: [SWS_UCM_00355]، [SWS_UCM_00356]، [SWS_UCM_00357]، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 86، AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 87.
- تنسيق وحدات ECU المتعددة والتفاعل مع Vehicle UCM: [SWS_UCM_00343]، SWS_VehicleUpdateAndConfigurationManagement ص. 16، TPS_ManifestSpecification ص. 631.
يستند هذا الدليل حصرياً إلى المتطلبات المعيارية والمصنوعات المعمارية لإصدار AUTOSAR Adaptive Platform R25-11.
service method: 20 service field: 1
واجهات الخدمة
PackageManagementواجهات الخدمة
PackageManagementخريطة المواضيع
لا توجد بيانات عناصر لهذا الإصدار
واجهات الخدمة
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
واجهات الخدمة (منمذجة عبر ara::com)
- PackageManagement 21 Mitglieder
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني