DEENESPTFRRUARHIKOZHNL

وحدة ara::ucm — Update and Configuration Management

Spezifikation: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement.pdf (R25-11) · 21 API-Records

دليل الوحدةمولَّد بالذكاء الاصطناعي

يدير النقل الآمن لحزم البرمجيات، والتحقق منها، وتفعيلها على Adaptive Platform.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4ab0b48693a4 المصدر أسئلة مفتوحة (2)
المرساة السببية: R25-11 صالح اعتبارًا من R25-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يدير النقل الآمن لحزم البرمجيات، والتحقق منها، وتفعيلها على 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]).

سير نقل حزمة البرمجياتClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopلكل كتلة بياناتTransferData(id, data, blockCounter)تأكيدTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

مخطط التتابع: نقل حزمة برمجيات عبر الدفق الكتلي أو التسجيل المباشر لمسار 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).

سير عمل التنشيط والإنهاءClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenبدء عمليات جديدة لمجموعات البرمجياتStopUpdateSession()قيمة الإرجاع لـ Activate (نجاح)Finish()حذف مصادر الحزم المؤقتة وتعيين المجموعات إلى kPresentقيمة الإرجاع لـ Finish

مخطط التتابع: التفعيل، والانتقال في حالة المنصة، وتنظيف حزم البرمجيات. المصادر: [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_kontext client Client (OTA / V-UCM / Diagnose) ucm Update & Configuration Management (UCM) client->ucm PackageManagement (ara::com) sm State Management ucm->sm UpdateSession Request em Execution Management ucm->em التحكم في العمليات (إيقاف/بدء) fs Lokaler Speicher / Partitionen ucm->fs Paketablage & A/B-Umschaltung

مخطط السياق: التضمين الوظيفي لبرنامج 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]).

سير نقل حزمة البرمجياتClientUCM: PackageManagementUse Case: Option A: Blockweises StreamingTransferStart(size)id (TransferId), blockSizeloopلكل كتلة بياناتTransferData(id, data, blockCounter)تأكيدTransferExit(id)ErfolgUse Case: Option B: Direkte RegistrierungRegisterSoftwarePackage(uri)transferId

مخطط التتابع: نقل حزمة برمجيات عبر الدفق الكتلي أو التسجيل المباشر لمسار 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]).

معالجة الحزم ومراقبة التقدمClientUCM: PackageManagementSubscribe(CurrentStatus)CurrentStatus = kReadyProcessSwPackage(transferId)CurrentStatus = kProcessing (Notifier)قيمة الإرجاع ProcessSwPackageloopأثناء نشاط المعالجةGetProgress()progressInformationالتحقق من السلامة وفك حزم المجموعاتCurrentStatus = kReady (Notifier)

مخطط تسلسلي: معالجة الحزمة مع انتقال الحالة ومراقبة التقدم. المصادر: [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).

سير عمل التنشيط والإنهاءClientUCMState ManagementExecution ManagementActivate()RequestUpdateSession()ReadyForUpdateLaufende Prozesse alter Versionen beendenKonfiguration umschalten & Persistenz migrierenبدء عمليات جديدة لمجموعات البرمجياتStopUpdateSession()قيمة الإرجاع لـ Activate (نجاح)Finish()حذف مصادر الحزم المؤقتة وتعيين المجموعات إلى kPresentقيمة الإرجاع لـ Finish

مخطط التتابع: التفعيل، والانتقال في حالة المنصة، وتنظيف حزم البرمجيات. المصادر: [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).
ucm_package_lifecycle cluster_transfer TransferState cluster_processing ProcessingState t_init Start t_transferring kTransferring t_init->t_transferring TransferStart / RegisterSoftwarePackage t_transferring->t_transferring TransferData t_transferred kTransferred t_transferring->t_transferred TransferExit t_final Ende t_transferring->t_final DeleteTransfer t_transferred->t_final DeleteTransfer / Finish p_init Start p_ready kReady p_init->p_ready p_processing kProcessing p_ready->p_processing ProcessSwPackage p_processed kProcessed p_processing->p_processed Verarbeitung erfolgreich p_failed kProcessingFailed p_processing->p_failed Fehler / Cancel p_processed->p_ready RevertProcessedSwPackages / Finish p_failed->p_ready RevertProcessedSwPackages

مخطط حالة: آلات حالة مفككة الارتباط لنقل البيانات ومعالجة حزمة برمجيات. المصادر: AUTOSAR_AP_SWS_UpdateAndConfigurationManagement ص. 38، AUTOSAR_SWS_UpdateAndConfigManagement ص. 20.

ucm_cluster_state c_init Start c_added kAdded c_init->c_added ProcessSwPackage (مضاف حديثًا) c_added->c_init Revert / Rollback c_present kPresent c_added->c_present Activate + Finish c_updating kUpdating c_updating->c_present Activate + Finish c_updating->c_present Revert / Rollback c_present->c_updating ProcessSwPackage (Update vorhanden) c_removed kRemoved c_present->c_removed ProcessSwPackage (Deinstallation) c_removed->c_init Activate + Finish c_removed->c_present Revert / Rollback

مخطط حالة: دورة حياة عنقود برمجيات من التحضير حتى التفعيل النهائي. المصادر: 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 ودمجه الموجه نحو الخدمات مثبتان بصورة ملزمة في المواصفات الأساسية التالية:

يستند هذا الدليل حصرياً إلى المتطلبات المعيارية والمصنوعات المعمارية لإصدار AUTOSAR Adaptive Platform R25-11.

service method: 20 service field: 1

خريطة المواضيع

واجهات الخدمة

1

عرض التفاصيل

اختر عنصرًا من المخطط.

واجهات الخدمة

PackageManagement واجهة خدمة

Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).

واجهات الخدمة (منمذجة عبر ara::com)