لغة البرمجة العربية(خبير)
جامعة الملك فهد
للبترول و المعادن
كلية
هندسة و علوم الحاسب
تعريب الحاسب الالي
لغة البرمجة العربية(خبير)
فهد
علي القحطاني
215467
الفهرس:
مقدمة............................................................................3
لغة خبير كاداة نظام إنتاج....................................................3
برمجة الذوات في خبير.......................................................5
خبير كلغة استعلام.............................................................7
المراجع..........................................................................7
المشاكل التي واجهتني........................................................7
الفوائد............................................................................8
الاسئلة...........................................................................8
مقدمة:
تطورت نظم خلال العقد الفائت بشكل ملحوظ. و هذا يرجع الي
الجهود المبذوله داخل المراكز البحث العلمي و مدعوما
بعدد من المصانع. و هذا ما زاد من عدد الادوات المستخدمه في بناء نظم الخبرة. فظهرت ادوات تستخدم
لغات برمجة متعددة غير لغة البرمجة(). و من مميزات هذا النظم قدرتها علي العمل في
بيئات تشغيل و عتاد مختلف.
تكمن قوة نظم الخبرة في قدرتها علي تمثيل الحقائق و الاستدلال علي حقائق اخرى من الحقائق الموجودة. و تعد لغة (خبير)احد لغات البرمجة
العربية . سوف نتكلم في هذا البحث عن لغة
الترجمة العربية (خبير)كنظام انتاج و كلغة تعتمد علي
الذوات و اخيرا كلغة استفسار.
2-خبير
كنظام انتاج:
تعتبر خبير احد نظم الانتاج
حيث بإمكانها حل مسالة ما باستخدام نمط متسلسل تم تخزينه مسبقا للقيام بعملية
المعالجة. و تتكون خبير من :-
ا-قاعدة معرفيه:
حيث تخزن في هذه القاعدة عدد من القواعد و شروط يجب توفرها لتطبيق قاعدة معينة.
ب-الحقائق المنشطة:
حيث يحتوى هذا الجزء علي جميع القواعد التي تم تطبيقها و مازالت نشطة.
ج-المحضر:
و هو عبارة عن ذاكرة تخزن فيها جميع القواعد المنشطة بحسب أولوياتها. فعند
تنشيط قاعدة جديدة يتم إدخال هذه القاعدة في المحضر و سوف يتم إدراجها بطريقه
معينه بحيث يكون جميع القواعد التي تعلوها تكون ذات أولويات اعلي و جميع القواعد التي أسفلها ذات أفضليه
ادني منها.
د-حلقة المعالجة المتكررة:
حيث يقوم خبير بتكرار حلقه التكرار للتوصل الي حل
للمسالة. و تتكون حلقة التكرار من:
1) ابحث في قاعدة المعرفة عن جميع القواعد التي
تحققت شروطها.
2) نشط جميع هذه القواعد.
3) ادخل الحقائق الجديدة في المحضر حسب افضليتها.
4) نفذ الحقيقة العليا من المحضر.
و نتيجة لتكرار هذه الحلقة سوف يكون هناك حقائق تنشط و حقائق يتم
تعطيلها. و هذا ما يؤدي إلي التوصل إلي عدة حقائق يتم استنتاجها من
الحقائق المعطاة.
3:
2-1:التراكيب البرمجية في خبير:
التراكيب البرمجية للغة خبير قريبة للغاية من التراكيب البرمجية للغة. فالأنماط المتسلسلة التي تعتمد عليها لغة خبير
يمكن تطبيقها علي المتغيرات المفردة و المتعددة و السلال المكونة من رموز و الأرقام. كما ان العوامل() في
هذه الأنماط المتسلسلة يمكن تطبيقها علي احد الحقائق الموجودة في قاعد المعرفة او تطبيقها علي جميع الحقائق. بالإضافة الي ذلك
فان الظروف في القواعد يمكن أن تكتب بطريقه تمكن من تنشيط فعل معين في حالة عدم
توفر احد الشروط المطلوبة لتنشيط قاعدة معينة.
تتكون القاعدة في لغة خبير من طرفين هما:
1-الظروف:
و هي مجموعة يتوجب توفرها لتشغيل القاعدة.
و يمكن لهذه الظروف ان تربط يبعضها بواسطة عوامل
منطقية مثل "و" او "او".
و في حالة كتابة الظروف من دون العوامل المنطقية فان خبير سيستخدم عامل المنطق
"و" كرابط افتراضي.
بالإضافة لهذا فان خبير يدعم البرمجة التسلسلية في طرف الأفعال
من القاعدة. حيث يدعم كل من جمل القرار
ممثلا بالأمر (اذا.فان.و الا). و أيضا هناك حلقات التكرار ممثلة بالأمر(طالما).
كما أن خبير يتيح للمبرمج مراقبة خط سير عمل البرنامج لاكتشاف الاخطاء
ان وجدت. و هذه
الاوامر هي:-
1) الأمر(راقب
حقائق):-
حيث يتيح هذا الأمر للمبرمج أن يتابع جميع الحقائق التي يتم إضافتها إلي قاعدة
المعرفة.
2) الأمر(راقب قواعد):
بإمكان المبرمج باستخدام هذا الأمر أن يراقب جميع القواعد التي تضاف الي المحضر.
3) الأمر(راقب
تنفيذ):
يستخدم هذا الأمر لترقب تنفيذ القواعد المنشطة حديثا.
4) الأمر(وضع وقفة):
يستخدم هذا الأمر لوقف تنفيذ البرنامج لمدة معينة لتمكن المبرمج من مشاهدة الحقائق
و القواعد في كل من قاعدة المعرفة و المحضر.
و يتوفر هناك بعض الأوامر لمشاهدة كل من قاعدة المعرفة و المحضر . و هي:
1) الأمر(حقائق):
يستخدم هذا الأمر لعرض جميع الحقائق الموجودة حاليا.
2) الأمر(قواعد):
يستخدم هذا الأمر لعرض جميع القواعد الموجودة حاليا في قاعدة المعرفة.
3) الأمر(محضر):
يستخدم لعرض جميع القواعد المتواجدة حاليا في المحضر.
4) الأمر(طابق):
يستخدم هذا الأمر للبحث عن القواعد التي يمكن تطبيقها بوجود بعض الحقائق المعطاة
من المستخدم.
كما يوجد امر (شغل) و هذا الامر
يمكن المبرمج من التحكم بعدد حلقات التكرار التي سيقوم بها
البرنامج. فمثلا:
مثال:
>>شغل 2
يسمح للبرنامج ان ينفذ حلقتين تكرارعلي
الاكثر قبل ان يتوقف.
3-برمجة الذوات في خبير:
تدعم خبير لغات البرمجة المعتمدة علي الذوات كونها تدعم الخمس الخصائص الواجب
توفرها في أي لغة برمجة تعتمد علي الذوات. و هذه الخصائص الخمس هي:التجرد,التغليف,التوارث,تعدد
التصرف و أخيرا ربط المتغير.
و يمكن للمستخدم أن يعرف أصناف جديدة و كل من هذه الأصناف تحوى علي سمات لحفظ
المتغيرات الخاصة بها و كما أنها تحتوى علي عدد من
المعالجات لمعالجة الرسائل المرسلة إليها من الأصناف الأحرى أو من المستخدم. و هذا ما يجعل خبير تدعم خاصية
التجرد.
و باستطاعة المستخدم ان يعرف
صنف جديد بواسطة التوارث المتعدد بحيث يكون الصنف الجديد ينتمي لأكثر من فصيل. تعدد التصريف مدعوم بحيث يورث الصنف الجديد جميع السمات
و المعالجات التي يورث منها. و يمكن للمستخدم أن يعيد تعريف المعالجات و اضافة معالجات و سمات جديدة للصنف الجديد.
و خبير يدعم تعدد التصريف(تعامل المعالجات بشكل مختلف مع انواع
الرسائل المرسلة لها). هذا راجع الي تعريف معالجات للرسائل تقوم بتنفيذ أوامر مختلفة و لكنها تحمل نفس
الاسم.
3-1:اصناف
النظام:
هناك 11 صنف معرفة مسبقا بالنظام و لا يمكن للمستخدم أن يحذفها او يعدل عليها. و هذه
الأصناف مبينه بالشكل التالي:
3-2:تعريف الأصناف:-
يمكن للمستخدم ان يعرف أصناف جديدة باستخدام الأمر
عرف-صنف. و لتعريف صنف يجب تحديد كل من:
-مجموعة الأصناف التي سوف يرث منها هذا الصنف سماتها و معالجاتها.
-معالج الرسائل الخاصة بهذا الصنف أن وجدت.
-السمات الخاصة بهذا الصنف ان وجدت.
-هل الصنف الجديد عقيم او منتج؟.
مثال:
(عرف-صنف سيارة) يكون مستخدم(
)سمة المقعد-الامامي(
)سمة صندوق) متعدد((
)سمة عدد-الادوات-في-الصندوق((
)عرف-معالج سيارة ضع-المواد-في-السيارة )؟مادة #؟البقية(
)ارسل ؟نفس ضع-المقعد-الامامي ؟مادة(
)ارسل ؟نفس ضع-صندوق ؟البقية(
)ارسل ؟نفس ضع-عدد-الادوات-في-الصندوق) طول ؟البقية(((
خبير> )عمل-عينة تويوتا من سيارة(
[ تويوتا]
خبير> )ارسل [تويوتا] ضع-المواد-في-السيارة شنطة اطار شنطة-دبلوماسية(
نعم
خبير> (ارسل [تويوتا] طبع(
تويوتا
من سيارة
)المقعد-الامامي شنطة)
(صندوق اطار شنطة-دبلوماسية)
(عدد-الادوات-في-الصندوق 2)
3-3: تعريف
المعالجات:
يتيح الأمر عرف-معالج تعريف معالج جديد. و
بتعريف المعالج الجديد يعطي المستخدم السلوك الذي يجب ان
يسلكه البرنامج عند استلام رسالة معينة. و لتعريف معالج جديد يجب تحديد التالي:
1) اسم الصنف: الصنف الذي سيحتوى هذا المعالج.
-اسم الرسالة: حيث يجب أن يكون لكل معالج اسم خاص به.
2) نوع المعالج.
-بعض الملحوظات الاختيارية.
3) مصفوفه من القيم التي سيتم إرسالها لهذا المعالج.
-سلسلة من الأوامر التي سيتم تنفيذها عند إرسال رسالة لهذا
المعالج.
و يتكون جسم المعالج من مجموعة من التعابير البرمجية
التي تنفذ عندما يتم إرسال رسالة معينة له.
و يعطي المعالج النتيجة النهائية لأخر تعبير يتم تنفيذه للمستخدم.
و في لغة خبير يتم إنشاء معالجين لكل سمة في الصنف:
1) حصل<اسم-السمة>:حيث يمكن هذا المعالج من قراءه قيمة
السمة.
2) وضع-<اسم-السمة>:حيث يستخدم هذا المعالج لوضع قيمة
جديدة للسمة المعينة و عندما تنتهي هذه العملية بنجاح يتم ارجاع
القيمة الجديدة للمستخدم.ك
و هناك معالجات يتم إنشاءها لكل صنف و لا يمكن للمستخدم ان
يعيد تعريفها او حذفها. و هذه المعالجات هي:
1) جهز: و هذا المعالج يستخدم في انشاء
عينة جديدة من هذا الصنف و يعطي السمات قيمها الافتراضية.
2) حذف:يستخدم هذا الامر لحذف عينة.
3) طبع: يستخدم هذا الامر لعرض قيم عينة ما.
4-خبير
كلغة استعلام:
تتيح لغة خبير للمستخدم بواسطة الاستعلام تنفيذ اوامر
معينة علي عينات من الأصناف التي تم تعريفها من المستخدم. و هناك 6 أوامر في لغة
خبير لهذا الغرض:
|
الامر |
يبحث اذا ما كان هناك عينة توافق الاستعلام. (نعم\لا) |
هل-من-عينة |
ترجع اول عينة تتوافق مع امر الاستعلام.(عينة) |
اوجد-عينة |
يعطيك جميع العينات التي تتوافق مع امر الاستعلام. |
اوجد-كل-العينات |
ينفذ الامر المطلوب في امرالاستعلام لاول عينة تتوافق مع امر الاستعلام. |
نفذ-لعينة |
نفذ الامر المطلوب في امر الاستعلام لجميع العينات التي تتوافق مع شرط الاستعلام. |
نفذ-لكل-عينة |
اجمع جميع العينات التي تتوافق مع شرط الاستعلام و نفذ امر الاستعلام. |
نفذ-لجميع-العينات |
و يتكون امر الاستعلام في لغة خبير من :
-اسم الاستعلام.
-مجموعة العينات التي سيجري امر الاستعلام عليها.
-شروط الاستعلام.
-الاوامر التي ستنفذ.
5)
المراجع:
ا) بحث مقدم من الدكتور حسني المحتسب.
ب) شرائح مادة تعريب الحاسبات.
6-المشاكل التي واجهتني:
ا) واجهتني صعوبة في البحث عن مراجع علي الشبكة العنكبوتية.
7- الفوائد:
ا) الاعتماد علي النفس.
ب) القدرة علي اتخاذ القرارات.
ج) تنظيم الوقت.
د) تنمية القدرة علي التعلم الذاتي.
8-الاسئلة:
س1:تدعم لغة خبير برمجة الذوات.
ا) نعم. ب) لا.
س2:طورت لغة خبير باستخدام لغة:
ا) جافا. ب) فورتران. ج) سي. د) بيسك.
س3:طورت لغة خبير في:
ا) جامعة الملك فهد للبترول و المعادن.
ب) جامعة الملك فيصل.
ج) جامعة الملك سعود.
د) جامعة الملك خالد.