Class representing Function Group defined in meta-model (ARXML). An instance of this class will represent Function Group defined inside meta-model (ARXML). This class is intended to be an implementation specific representation, of information inside meta-model. Once created based on ARXML path, its internal value stays bounded to it for entire lifetime of a object.
يمثل مجموعة وظائف محددة في نموذج تعريف AUTOSAR لتمييزها وتحديد نوعها في وقت التشغيل.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: de9017db52cfالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يمثل مجموعة وظائف محددة في نموذج تعريف AUTOSAR لتمييزها وتحديد نوعها في وقت التشغيل.
تُستخدم الفئة كتمثيل في وقت التشغيل، خاص بالتنفيذ، لمجموعة وظائف محددة في نموذج تعريف AUTOSAR. ويتم إنشاء نسخها حصرياً عبر محدد مثيل لمنفذ مجموعة الوظائف [SWS_EM_02586]، والذي يظل الكائن مرتبطاً بمساره ارتباطاً وثيقاً طوال فترة حياته. ولتجنب المشاكل أثناء تخصيص الموارد، فإن الفئة غير قابلة للنسخ، لكنها تدعم دلالات النقل الآمنة ضد الاستثناءات [SWS_EM_02328]. وعبر معاملات المقارنة، يمكن تحديد ما إذا كان مثيلان يمثلان نفس عنصر نموذج التعريف.
السياق
تعمل الفئة ara::exec::FunctionGroup في وحدة Adaptive Platform exec (Execution Management) كتمثيل لمجموعة وظائف محددة في نموذج تعريف AUTOSAR (ARXML). وتوفر نسخة من هذه الفئة تجريداً خاصاً بالتنفيذ للمعلومات المخزنة في نموذج التعريف. ووفقاً للمواصفة، تظل القيمة الداخلية لكائن ما، بعد إنشائه استناداً إلى مسار ARXML، مرتبطة ارتباطاً وثيقاً بعنصر نموذج التعريف هذا طوال فترة حياته.
تبرز كأطراف تفاعل أساسية مكونةُ البرمجيات المستخدمة (State Client)، ومحدد المثيل (ara::core::InstanceSpecifier)، وكذلك نموذج التعريف الأساسي. ويتم الربط مع تكوين النظام بشكل موجه عبر InstanceSpecifier يشير إلى RPortPrototype لـ StateClientInterface[SWS_EM_02586]. وبذلك تتيح الفئة للعمليات ووحدات التحكم الإشارة إلى مجموعات الوظائف بطريقة محددة النوع والتحقق من تطابقها دون الحاجة إلى التعامل مباشرة مع مسارات أو توصيفات نماذج غير مهيكلة.
يتبع إنشاء كائنات ara::exec::FunctionGroup وإدارتها قواعد صارمة فيما يتعلق بإدارة الموارد وسلامة الذاكرة. فقد تم حذف المنشئ الافتراضي الخالي من المعاملات صراحةً (= delete) [SWS_EM_02321]. وعوضاً عن ذلك، يتم إنشاء المثيل بالضرورة عبر المنشئ العادي مع تمرير مرجع ثابت إلى ara::core::InstanceSpecifier[SWS_EM_02586]. وقد أُعلن هذا المنشئ على أنه آمن ضد الاستثناءات (noexcept) وآمن بالنسبة للخيوط.
فيما يتعلق بملكيات الموارد وعملية النسخ، صُممت الفئة كنوع بيانات مخصص للنقل فقط (Move-Only). وقد تم حذف كل من منشئ النسخ [SWS_EM_02322] ومعامل التعيين بالنسخ [SWS_EM_02327]، وذلك لاستبعاد التعارضات المحتملة ومشاكل وقت التشغيل عند تخصيص الموارد الداخلية أثناء عمليات النسخ من الأساس. ولا يمكن تمرير المثيلات أو إعادة تنظيمها إلا عبر عمليات النقل: إذ يتيح منشئ النقل [SWS_EM_02328] ومعامل التعيين بالنقل [SWS_EM_02329] نقل الملكية بكفاءة إلى كائن جديد أو قائم. تفسير: عند إجراء عملية نقل، يُتوقع أن يتولى الكائن الهدف الارتباط بعنصر نموذج التعريف بسلاسة، بينما ينتقل المثيل المصدر إلى حالة صالحة لكن غير محددة. سؤال Q-99b40860db69ffe6 (مفتوح)
يتم الإتلاف بصورة حتمية عبر مدمر الكائن [SWS_EM_02266]، المحدد أيضاً بأنه آمن ضد الاستثناءات (noexcept). وبينما يكون الإنشاء عبر InstanceSpecifier[SWS_EM_02586] آمناً بالنسبة للخيوط، فإن عمليات النقل [SWS_EM_02328] و[SWS_EM_02329] وكذلك مدمر الكائن [SWS_EM_02266] محددة بأنها غير آمنة بالنسبة للخيوط (not thread-safe). فإذا وصلت عدة خيوط تنفيذ بالتزامن إلى نفس المثيل، يلزم إجراء مزامنة من جانب التطبيق.
مسار الاستخدام
يشمل الاستخدام العادي لـ ara::exec::FunctionGroup عادةً التسلسل التالي من خطوات العمل:
توفير معرف المنفذ: يحدد التطبيق منفذ واجهة الحالة المطلوب استناداً إلى مسار نموذجه في شكل ara::core::InstanceSpecifier.
إنشاء المثيل: عبر المنشئ المزود بمعاملات، يتم إنشاء مثيل FunctionGroup وربطه ارتباطاً وثيقاً بعنصر نموذج التعريف للمنفذ الهدف [SWS_EM_02586].
التحقق من التطابق والمقارنة: في إطار الاستعلام عن الحالات أو عمليات التحقق من الصحة، يمكن مقارنة مثيلين عبر المعاملات العلائقية operator==[SWS_EM_02267] أو operator!=[SWS_EM_02268]. وتعطي المقارنة true حصراً (عند معامل التساوي) إذا كان كلا المثيلين يمثلان بالضبط نفس العنصر في نموذج تعريف ARXML. وكلا المعاملين آمن بالنسبة للخيوط وآمن ضد الاستثناءات.
النقل أو الإخلاء: إذا كان سيتم نقل الكائن إلى هياكل حاوية أو تمريره بين الوحدات، فيتم ذلك عبر دلالات النقل [SWS_EM_02328]، [SWS_EM_02329]. وعندما يغادر الكائن نطاق صلاحيته، يحرر مدمر الكائن [SWS_EM_02266] كافة الارتباطات المخصصة.
سيناريوهات الأخطاء
في مجال سيناريوهات الأخطاء، تتميز الواجهة بتصميم صارم ومانع للأخطاء:
عمليات نسخ غير مسموح بها: تؤدي محاولات مضاعفة المثيلات عبر منشئ النسخ [SWS_EM_02322] أو معامل التعيين بالنسخ [SWS_EM_02327] مباشرة إلى خطأ أثناء التحويل البرمجي (Compile-Time-Error).
غياب معرف المثيل: يتم منع التهيئة غير المكتملة دون مرجع لنموذج التعريف، نظراً لحذف المنشئ الخالي من المعاملات [SWS_EM_02321].
تزامن غير صالح: نظراً لأن عمليات النقل ومدمر الكائن غير آمنة بالنسبة للخيوط، فإن عمليات الوصول المتزامنة غير المنسقة تؤدي إلى سلوك غير محدد (حالات تسابق Race Conditions)، وهو ما يجب منعه على مستوى جهة الاستدعاء عبر آليات المزامنة.
تم إعداد هذا الدليل التوجيهي بواسطة مساعد ذكاء اصطناعي استناداً إلى مواصفة AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني