بليكسيل

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  : ينتقل الأصل (الوحيد) للعقدة إلى حالة تنفيذ العقدة.
  • شرط التكرار ص/خ  : يتغير شرط التكرار من غير معروف إلى صحيح أو خطأ.

انظر أيضاً

مراجع

  1. إستلين، تارا؛ جونسون، آري؛ باساريانو، كورينا ؛ سيمونز، ريد؛ تسو، كام؛ فيرما، فاندي (أبريل 2006). "لغة تبادل تنفيذ الخطة (PLEXIL)" (ملف PDF) . خادم التقارير الفنية لوكالة ناسا . تم الاطلاع عليه بتاريخ 8 فبراير 2019 .
  2. "قائمة مراجع المنشورات المتعلقة بمشروع PLEXIL، مصنفة حسب الفئة" . موقع Plexil sourceforge . تاريخ الاسترجاع: 17 مارس 2025 .
  3. "الصفحة الرئيسية: تطبيقات ناسا" . PLEXIL sourceforge . تم الاطلاع عليه بتاريخ 17 مارس 2025 .
  4. "PLEXIL (برنامج تنفيذ الخطط)" .

انظر أيضاً