أكسوم (لغة برمجة)
أكسوم (التي كانت تُعرف سابقًا بالاسم الرمزي مايسترو ) هي لغة برمجة متزامنة خاصة بمجال معين ، تعتمد على نموذج الممثل ، وقد كانت قيد التطوير النشط من قبل مايكروسوفت [ 1 ] بين عامي 2009 و2011. [ 2 ] وهي لغة كائنية التوجه مبنية على بيئة تشغيل اللغة العامة .NET ، وتستخدم بنية شبيهة بلغة C. وباعتبارها لغة خاصة بمجال معين، فهي مُصممة لتطوير أجزاء من تطبيقات البرمجيات التي تتناسب تمامًا مع التزامن. ومع ذلك، فهي تحتوي على عدد كافٍ من البنى العامة التي تُغني عن استخدام لغة برمجة عامة الأغراض (مثل C# ) للأجزاء التسلسلية من المكونات المتزامنة. [ 1 ]
تعتمد لغة البرمجة الرئيسية في أكسوم على مفهوم الوكيل (أو الممثل )، وهو كيان معزول يعمل بالتوازي مع وكلاء آخرين. [ 3 ] في مصطلحات أكسوم، يُشار إلى ذلك بتنفيذ الوكلاء في نطاقات عزل منفصلة ؛ [ 3 ] لا يمكن الوصول مباشرةً إلى الكائنات المُنشأة داخل نطاق ما من نطاق آخر. [ 4 ] الوكلاء مترابطون بشكل ضعيف (أي أن عدد التبعيات بينهم ضئيل) ولا يتشاركون الموارد مثل الذاكرة (على عكس نموذج الذاكرة المشتركة في لغة C# واللغات المشابهة)؛ بل يُستخدم نموذج تمرير الرسائل . [ 3 ] لتنسيق عمل الوكلاء أو لطلب أحد الوكلاء موارد وكيل آخر، يجب إرسال رسالة صريحة إليه. توفر أكسوم قنوات لتسهيل هذه العملية.
يمكن اعتبار القنوات مسارًا اتجاهيًا للتواصل بين مثيلات الوكلاء. بعد ربط كائن القناة بمثيل وكيل، يمكن استخدام الدوال الأعضاء فيه للتواصل معه. تحتوي القناة على منافذ إدخال وإخراج ، وهي عبارة عن قوائم انتظار تُستخدم لإرسال البيانات إلى الوكيل أو استقبالها منه. ولتنسيق التواصل بين الوكلاء، يسمح Axum لكل قناة بامتلاك بروتوكول اتصال مُعرَّف من قِبل المستخدم. يُعرَّف البروتوكول كآلة حالة . [ 5 ] يمكن تقييد البيانات المُرسلة عبر القناة، اختياريًا، لتتوافق مع مخطط مُحدد مسبقًا . سيفرض المُصرِّف ووقت التشغيل التوافق مع هذا المخطط. [ 6 ] في جوهر الأمر، يُترجم المخطط إلى فئة .NET قابلة للتسلسل تحتوي فقط على خصائص وأساليب خالية من الآثار الجانبية. [ 7 ]
وصل مشروع أكسوم إلى مرحلة النموذج الأولي مع تكامل فعال مع مايكروسوفت فيجوال ستوديو . [ 8 ] وقد أتاحت مايكروسوفت نسخة تجريبية من أكسوم للجمهور، [ 9 ] ولكن تم حذفها لاحقًا. ورغم أن مايكروسوفت قررت عدم تحويل أكسوم إلى مشروع، [ 2 ] إلا أن بعض الأفكار التي بُني عليها أكسوم تُستخدم في TPL Dataflow في .Net 4.5.
مراجع
- 1 2 "مايسترو: لغة مُدارة خاصة بالمجال للبرمجة المتزامنة" . القناة 9. مؤرشف من الأصل في 7 أبريل 2009. تم الاسترجاع في 16 أبريل 2009 .
- 1 2 "دولة أكسوم" . نيكلاس جوستافسون . تم الاسترجاع 2011/02/28 .
- 1 2 3 فيليبس جوشوا. "لم ننسَ الطرازات الأخرى - صدقوني!" . مدونات MSDN . مؤرشف من الأصل في 8 مايو 2009. تم الاطلاع عليه بتاريخ 16 أبريل 2009 .
- ↑ نيكلاس غوستافسون. "العزلة في مايسترو" . مدونات MSDN . مؤرشف من الأصل في 8 مايو 2009. تم الاطلاع عليه في 16 أبريل 2009 .
- ↑ نيكلاس غوستافسون. "القنوات" . مدونات MSDN . مؤرشف من الأصل في 26 أبريل 2009. تم الاسترجاع في 16 أبريل 2009 .
- ↑ جوشوا فيليبس. "أكسوم" . عرض تقديمي لـ Lang.NET. مؤرشف من الأصل في 21 أبريل 2009. تم الاطلاع عليه بتاريخ 20 أبريل 2009 .
- ↑ نيكلاس غوستافسون. "الأشياء في أكسوم" . مدونات MSDN . مؤرشف من الأصل في 26 أبريل 2009. تم الاسترجاع في 20 أبريل 2009 .
- ↑ "أكسوم: قطعة أخرى من أحجية البرمجة المتوازية لمايكروسوفت" . مدونات سي نت . مؤرشف من الأصل في 17 أبريل 2009. تم الاطلاع عليه بتاريخ 16 أبريل 2009 .
- ↑ "أكسوم" . مختبرات تطوير MSDN. مؤرشف من الأصل في 11 مايو 2009. تم الاسترجاع في 9 مايو 2009 .
روابط خارجية
- لغات برمجة .NET
- لغات البرمجة الكائنية التوجه
- لغات البرمجة المتزامنة
