بليكسيل
PLEXIL ( لغة تبادل تنفيذ الخطط ) هي تقنية مفتوحة المصدر للأتمتة ، تم إنشاؤها وهي قيد التطوير حاليًا بواسطة وكالة ناسا .
ملخص
PLEXIL هي لغة برمجة لتمثيل خطط الأتمتة .
يُستخدم نظام PLEXIL في تقنيات الأتمتة مثل مركبة ناسا K10 الجوالة، ومثقاب الطرق الخاص بمركبة كيوريوسيتي الجوالة على سطح المريخ ، ووحدة الموئل الفضائي العميق ووحدة عرض الموئل ، ونموذج إديسون لشبكات الأقمار الصناعية الصغيرة ، ونظام LADEE ، ونظام التشغيل الذاتي (AOS)، وأتمتة الإجراءات لمحطة الفضاء الدولية . [ 1 ] [ 2 ] [ 3 ]
يُعدّ برنامج PLEXIL التنفيذي محركًا تنفيذيًا يُطبّق لغة PLEXIL، ويمكن ربطه (باستخدام إطار برمجي مُقدّم) بأنظمة خارجية للتحكم بها و/أو الاستعلام عنها. وقد استُخدمت لغة PLEXIL لعرض تقنيات الأتمتة المُوجّهة لبعثات ناسا الفضائية المستقبلية.
تتوفر الملفات الثنائية والوثائق على نطاق واسع كمصدر مفتوح مرخص بموجب ترخيص BSD من GitHub . [ 4 ]
العقد
الوحدة البرمجية الأساسية في PLEXIL هي العقدة. العقدة عبارة عن بنية بيانات تتكون من عنصرين أساسيين: مجموعة من الشروط التي توجه تنفيذ العقدة ومجموعة أخرى تحدد ما تنجزه العقدة بعد التنفيذ.
يُطلق على التركيب الهرمي للعقد اسم الخطة . الخطة عبارة عن شجرة مقسمة إلى عقد قريبة من الجذر (عقد عالية المستوى) وعقد طرفية تمثل إجراءات أولية مثل تعيين المتغيرات أو إرسال الأوامر إلى النظام الخارجي.
أنواع العقد:
اعتبارًا من سبتمبر 2008، قامت وكالة ناسا بتطبيق سبعة أنواع من العقد.
- عقد القوائم : عقد القوائم هي العقد الداخلية في الخطة. تحتوي هذه العقد على عقد فرعية يمكن أن تكون من أي نوع.
- عقد الأوامر : تصدر هذه العقد أوامر تتحكم في النظام.
- عقد التعيين : تقوم بتنفيذ عملية محلية وتعيين قيمة لمتغير.
- عقد استدعاء الوظائف : الوصول إلى الوظائف الخارجية التي تقوم بإجراء العمليات الحسابية، ولكنها لا تغير حالة النظام.
- تحديث العقد : يوفر معلومات لواجهة التخطيط ودعم اتخاذ القرار.
- عقد استدعاء المكتبة : تستدعي هذه العقد عقدًا في مكتبة خارجية.
- العقد الفارغة : هي العقد التي تحتوي على سمات ولا تقوم بأي إجراءات.
حالات العقدة:
يمكن أن تكون كل عقدة في حالة واحدة فقط. وهي:
- غير نشط
- منتظر
- تنفيذ
- التشطيب
- انتهت التكرارة
- الفشل
- انتهى
انتقالات العقد:
- SkipCondition T : يتغير شرط التخطي من غير معروف أو خاطئ إلى صحيح.
- StartCondition T : يتغير شرط البداية من غير معروف أو خاطئ إلى صحيح.
- InvariantCondition F/U : يتغير الشرط الثابت من صحيح إلى خطأ أو غير معروف.
- EndCondition T : يتغير شرط النهاية إلى صحيح.
- Ancestor_inv_condition F/U : يتغير الشرط الثابت لأي سلف إلى خطأ أو غير معروف.
- Ancestor_end_condition T : يتغير شرط نهاية أي سلف إلى صحيح.
- All_children_waiting_or_finished T : هذا صحيح عندما تكون جميع العقد الفرعية إما في حالة انتظار العقدة أو مكتملة.
- Command_abort_complete T : عند اكتمال عملية الإجهاض لأمر ما.
- Function_abort_complete T : تم إكمال عملية إجهاض استدعاء الدالة.
- Parent_waiting T : ينتقل الأصل (الوحيد) للعقدة إلى حالة انتظار العقدة.
- Parent_executing T : ينتقل الأصل (الوحيد) للعقدة إلى حالة تنفيذ العقدة.
- شرط التكرار ص/خ : يتغير شرط التكرار من غير معروف إلى صحيح أو خطأ.
انظر أيضاً
مراجع
- ↑ إستلين، تارا؛ جونسون، آري؛ باساريانو، كورينا ؛ سيمونز، ريد؛ تسو، كام؛ فيرما، فاندي (أبريل 2006). "لغة تبادل تنفيذ الخطة (PLEXIL)" (ملف PDF) . خادم التقارير الفنية لوكالة ناسا . تم الاطلاع عليه بتاريخ 8 فبراير 2019 .
- ↑ "قائمة مراجع المنشورات المتعلقة بمشروع PLEXIL، مصنفة حسب الفئة" . موقع Plexil sourceforge . تاريخ الاسترجاع: 17 مارس 2025 .
- ↑ "الصفحة الرئيسية: تطبيقات ناسا" . PLEXIL sourceforge . تم الاطلاع عليه بتاريخ 17 مارس 2025 .
- ↑ "PLEXIL (برنامج تنفيذ الخطط)" .
روابط خارجية
انظر أيضاً
- لغات البرمجة الخاصة بالمجال
- برامج الروبوتات
