‫دراسة‬‫بحثية‬‫وتطبيقية‬‫حول‬‫مكتبات‬‫النظم‬‫الخبيرة‬‫وط‬‫رق‬
‫تمثيل‬‫المعرفة‬
‫اإلجازة‬ ‫لنيل‬ ‫أعد‬ ‫بحث‬.‫اآللي‬ ‫والتحكم‬ ‫الحاسبات‬ ‫هندسة‬ ‫في‬
:‫إعداد‬‫مال‬ ‫محمد‬ ‫طارق‬
:‫إشراف‬‫األحمد‬ ‫د.حسن‬
2013-2014
‫تشرين‬ ‫جامعة‬
‫والكهربائية‬ ‫الميكانيكية‬ ‫الهندسة‬ ‫كلية‬
‫اآللي‬ ‫والتحكم‬ ‫الحاسبات‬ ‫هندسة‬ ‫قسم‬
‫الصفحة‬1
‫م‬‫ي‬‫ح‬‫الر‬‫من‬‫ح‬‫الر‬‫هللا‬‫م‬‫س‬‫ب‬
‫م‬ُ‫يت‬ِ‫ُوت‬‫أ‬ ‫ا‬َ‫م‬َ‫و‬‫ن‬ِ‫م‬‫ا‬‫ل‬‫ي‬ِ‫ل‬َ‫ق‬ َّ‫ال‬ِ‫إ‬ ِ‫م‬‫ل‬ِ‫ع‬‫ال‬
‫علمنا‬ ‫اللهم‬ ،‫احلكيم‬ ‫العليم‬ ‫أنت‬ ‫إنك‬ ‫علمتنا‬ ‫ما‬ ‫إال‬ ‫لنا‬ ‫علم‬ ‫ال‬ ‫اللهم‬
،‫ينفعنا‬ ‫ما‬‫علما‬ ‫وزدان‬ ،‫علمتنا‬ ‫مبا‬ ‫انفعنا‬‫و‬
‫الصفحة‬2
‫النوعية‬ ‫حيث‬ ‫من‬ ‫مالئم‬ ‫أنه‬ ‫على‬ ‫التخرج‬ ‫لمشروع‬ ‫ومناقشتها‬ ‫قراءتها‬ ‫بعد‬ ‫الحكم‬ ‫لجنة‬ ‫تصادق‬
. ‫التخرج‬ ‫لمشروع‬ ً‫ا‬‫بحث‬ ‫ليكون‬ ‫واألهمية‬
: ‫الحكم‬ ‫لجنة‬ ‫أسماء‬
‫ه‬:‫الحكم‬ ‫لجنة‬ ‫مالحظات‬ ‫لوضع‬ ‫مخصصة‬ ‫الصفحة‬ ‫ذه‬
‫الصفحة‬3 I
‫شكر‬ ‫كلمة‬
‫فإنما‬ ‫شكر‬ ‫ومن‬ ‫أكفر‬ ‫أم‬ ‫ءأشكر‬ ‫ليبلوني‬ ‫ربي‬ ‫فضل‬ ‫من‬ ‫هذا‬ ‫"قال‬ :‫وتعالى‬ ‫سبحانه‬ ‫هللا‬ ‫يقول‬
"‫كريم‬ ‫غني‬ ‫ربي‬ ‫فإن‬ ‫كفر‬ ‫ومن‬ ‫لنفسه‬ ‫يشكر‬
‫أنهي‬ ‫لكي‬ ‫أعانني‬ ‫الذي‬ ‫فهو‬ ،‫له‬ ‫خالصة‬ ،‫وتعالى‬ ‫سبحانه‬ ‫هلل‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫الشكر‬ ‫كلمة‬ ‫فإن‬ ‫لذلك‬
‫واألشخاص‬ ‫األسباب‬ ‫لي‬ ‫وهيأ‬ ،‫البحث‬ ‫هذا‬‫إلكماله‬‫إذ‬ ‫بعد‬ ‫علمني‬ ،‫و‬ ،‫جاهال‬ ‫كنت‬،‫علم‬ ‫منزل‬ ‫غني‬ّ‫بل‬
.‫الدنيا‬ ‫هذه‬ ‫في‬ ‫درجة‬ ‫ورفعني‬
‫علي‬ ‫هللا‬ ‫صلى‬ ‫محمد‬ ‫سيدنا‬ ‫يقول‬ ،‫الناس‬ ‫لنشكر‬ ‫يأمرنا‬ ‫هو‬ ‫أيضا‬‫لم‬ ،‫الناس‬ ‫يشكر‬ ‫لم‬ ‫"من‬ ‫وسلم‬ ‫ه‬
."‫هللا‬ ‫يشكر‬
‫شخص‬ ‫ولكل‬ ،‫عليه‬ ‫هو‬ ‫لما‬ ‫يصل‬ ‫لكي‬ ‫البحث‬ ‫هذا‬ ‫في‬ ‫وأعاني‬ ‫ساعدني‬ ‫من‬ ‫لكل‬ ‫بالشكر‬ ‫أتقدم‬ ‫لذلك‬
.‫إنهائه‬ ‫في‬ ‫صغير‬ ‫ولو‬ ‫سهم‬ ‫له‬ ‫كان‬
‫لي‬ ‫يقدم‬ ‫وكان‬ ،‫البحث‬ ‫على‬ ‫مشرفا‬ ‫كان‬ ‫الذي‬ ،‫األحمد‬ ‫حسن‬ ‫للدكتور‬ ‫خاص‬ ‫بشكل‬ ‫بالشكر‬ ‫أتقدم‬
‫الم‬ ‫والمعلومات‬ ‫الخبرة‬.‫بها‬ ‫يمدني‬ ‫كان‬ ‫التي‬ ‫النصائح‬ ‫إلى‬ ‫باإلضافة‬ ،‫أحتاجها‬ ‫التي‬ ‫طلوبة‬
‫و‬ ،‫المشروع‬ ‫هذا‬ ‫إنهاء‬ ‫في‬ ‫وساعدوني‬ ‫معي‬ ‫كانوا‬ ‫الذين‬ ‫واألخوة‬ ‫لألصدقاء‬ ‫أيضا‬ ‫بالشكر‬ ‫أتقدم‬‫ك‬‫انوا‬
‫مراح‬ ‫جميع‬ ‫في‬ ‫لي‬ ‫عونا‬ ‫دوما‬‫له‬.
‫أعانني‬ ‫شخص‬ ،‫عمري‬ ‫طوال‬ ‫بخدمته‬ ‫بقيت‬ ‫ولو‬ ‫شكره‬ ‫عن‬ ‫أعجز‬ ‫لشخص‬ ‫األكبر‬ ‫الشكر‬ ‫ويبقى‬
‫طو‬.‫الجامعية‬ ‫حياتي‬ ‫كامل‬ ‫في‬ ‫وأخيرا‬ ‫أوال‬ ‫الفضل‬ ‫وله‬ ،‫الجامعة‬ ‫درب‬ ‫ال‬
‫شكر‬ ‫أخيرا‬‫القلب‬ ‫من‬‫مسيرتي‬ ‫في‬ ‫بسيطة‬ ‫ولو‬ ‫بمعلومة‬ ‫وأمدني‬ ،‫السنين‬ ‫طوال‬ ‫حرفا‬ ‫علمني‬ ‫من‬ ‫لكل‬
.‫علي‬ ‫فضل‬ ‫لهم‬ ‫كان‬ ‫الذين‬ ‫واألصدقاء‬ ،‫والمهندسين‬ ،‫تشرين‬ ‫جامعة‬ ‫في‬ ‫الدكاترة‬ ‫لكل‬ ،‫الجامعية‬
‫الصفحة‬4 III
‫دراسة‬‫بحثية‬‫وتطبيقية‬‫حول‬‫مكتبات‬‫النظم‬‫الخبيرة‬‫في‬‫بيئة‬.Net‫وطرق‬
‫تمثيل‬‫المعرفة‬
‫ملخص‬:‫البحث‬
‫البحث‬ ‫يتحدث‬‫عن‬‫نظرية‬ ‫دراسة‬‫وتطبيقية‬‫بيئة‬ ‫على‬ ‫تعمل‬ ‫التي‬ ‫الخبيرة‬ ‫النظم‬ ‫لمكتبات‬
.Net‫األمثل‬ ‫المكتبة‬ ‫الختيار‬ ‫محددة‬ ‫معايير‬ ‫ووضع‬ ‫بينها‬ ‫والمقارنة‬‫نواة‬ ‫يتضمن‬ ‫مشروع‬ ‫ألي‬
‫خبير‬ ‫لنظام‬،.‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫المتبعة‬ ‫الطرق‬ ‫ودراسة‬
‫تم‬‫الـ‬ ‫قرابة‬ ‫على‬ ‫الدراسة‬ ‫إجراء‬10‫الطرق‬ ‫أشهر‬ ‫ودراسة‬ ،‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫من‬ ‫مكتبات‬
‫في‬ ‫المتبعة‬‫المعارف‬ ‫تمثيل‬‫ضمنها‬،‫و‬،‫بينها‬ ‫المقارنة‬‫ثم‬‫تم‬ ‫أيضا‬ ،‫طريقة‬ ‫كل‬ ‫ومساوئ‬ ‫مزايا‬ ‫وضع‬
‫يمكن‬ ‫التي‬ ‫الكيفية‬ ‫وضع‬‫ا‬‫خا‬ ‫معيار‬ ‫وضع‬ ‫من‬ ‫لمبرمج‬‫ضمن‬ ‫واستخدامه‬ ‫المعارف‬ ‫لتمثيل‬ ‫به‬ ‫ص‬
.‫الصنعي‬ ‫الذكاء‬ ‫تطبيقات‬
‫مكتبة‬ ‫اختيار‬ ‫في‬ ‫السابقة‬ ‫الدراسة‬ ‫من‬ ‫االستفادة‬ ‫تم‬ ‫حيث‬ ‫خبير‬ ‫لنظام‬ ‫نواة‬ ‫بناء‬ ‫أيضا‬ ‫البحث‬ ‫يتضمن‬
‫برمجة‬ ‫آخرا‬ ‫وتم‬ ،‫النواة‬ ‫لبناء‬ ‫مناسبة‬‫يقدم‬ ،‫ويب‬ ‫موقع‬ ‫على‬ ‫موجود‬ ‫خبير‬ ‫لنظام‬ ‫عملي‬ ‫تطبيق‬
‫مع‬ ‫في‬ ‫للمستخدمين‬ ‫االستشارة‬‫الموجودة‬ ‫الكورسات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫لهم‬ ‫المناسبة‬ ‫الكورسات‬ ‫رفة‬
‫و‬ ،‫الموقع‬ ‫على‬‫ذلك‬‫تم‬ ‫التطبيق‬ ،‫الكورسات‬ ‫هذه‬ ‫تابعوا‬ ‫الذين‬ ‫اآلخرين‬ ‫الناس‬ ‫خبرة‬ ‫على‬ ‫اعتمادا‬
‫تصميمه‬‫على‬ ‫أوال‬‫مكتبي‬ ‫تطبيق‬ ‫شكل‬Windows Application‫ومن‬‫موقع‬ ‫على‬ ‫تطبيقه‬ ‫تم‬ ‫ثم‬
‫ويب‬‫جميع‬ ‫من‬ ‫الناس‬ ‫خبرات‬ ‫على‬ ‫والحصول‬ ،‫منه‬ ‫االستفادة‬ ‫المستخدمين‬ ‫من‬ ‫أكبر‬ ‫لعدد‬ ‫يمكن‬ ‫لكي‬
.‫العالم‬ ‫أنحاء‬
‫م‬ ‫من‬ ‫االستفادة‬ ‫وتم‬ ،‫العملي‬ ‫المشروع‬ ‫لتنفيذ‬ ‫الويب‬ ‫مجال‬ ‫في‬ ‫التقنيات‬ ‫آخر‬ ‫استخدام‬ ‫تم‬‫ك‬‫خاصة‬ ‫تبة‬
‫مكتبة‬ ‫وهي‬ ‫الخبيرة‬ ‫النظم‬ ‫في‬NxBRE‫وت‬ ،‫المجال‬ ‫هذا‬ ‫في‬ ‫بعراقتها‬ ‫تتميز‬ ‫والتي‬ ،‫معيار‬ ‫استخدام‬ ‫م‬
‫معيار‬ ‫هو‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫عالمي‬RuleML.
‫األساسية‬ ‫بالنواة‬ ‫واالهتمام‬ ،‫الحديثة‬ ‫الويب‬ ‫مستعرضات‬ ‫مع‬ ‫اإلمكان‬ ‫قدر‬ ‫الموقع‬ ‫توافقية‬ ‫دراسة‬ ‫تمت‬
‫سيتم‬ ‫ويب‬ ‫لموقع‬ ‫نواة‬ ‫سيكون‬ ‫كونه‬ ،‫والتطوير‬ ‫الصيانة‬ ‫وقابلية‬ ،‫البرمجي‬ ‫البناء‬ ‫حيث‬ ‫من‬ ‫للمشروع‬
‫اإلنترن‬ ‫شبكة‬ ‫على‬ ‫رفعه‬‫يت‬.
‫الصفحة‬5
‫الصفحة‬6
:‫األشكال‬ ‫جدول‬
‫الصفحة‬ ‫رقم‬ ‫الشكل‬
21 ( ‫الشكل‬1-1‫البحث‬ ‫محركات‬ )Google‫و‬YAHOO.
31 ( ‫الشكل‬1-2‫البيانات‬ ‫تنقيب‬ ‫عملية‬ )Data Mining
31 ( ‫الشكل‬1-3‫موقع‬ )Quora
31 ( ‫الشكل‬1-4‫موقع‬ )FaceBook
81 ( ‫الشكل‬2-1‫لفكرة‬ ‫توضيحي‬ ‫مخطط‬ )‫الخبير‬ ‫النظام‬
19 ( ‫الشكل‬2-2‫الخبيرة‬ ‫النظم‬ ‫مكونات‬ )
12 ( ‫الشكل‬2-3‫الخبير‬ ‫النظام‬ ‫في‬ ‫توجد‬ ‫أن‬ ‫يمكن‬ ‫التي‬ ‫للمكونات‬ ‫عام‬ ‫مخطط‬ )
22 ( ‫الشكل‬2-4‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫بين‬ ‫التواصل‬ ‫طريقة‬ )
52 ( ‫الشكل‬3-1‫الترميز‬ ‫لغات‬ ‫أهم‬ ‫شجرة‬ )
62 ( ‫الشكل‬3-2‫لغة‬ ‫استخدام‬ ‫مجاالت‬ )XML
82 ( ‫الشكل‬3-3‫المعايير‬ ‫تمثيل‬ ‫طريقة‬ )
13 ‫الشكل‬)3-4(‫عن‬ ‫المتفرعة‬ ‫المعايير‬ ‫أهم‬XML
63 ( ‫الشكل‬3-5)‫المعيار‬ ‫مكونات‬RuleML
39 ( ‫الشكل‬3-6)‫لغة‬ ‫عمل‬ ‫بيئة‬PROLOG
34 ( ‫الشكل‬4-1‫لمكتبة‬ ‫الهيكلية‬ ‫البنية‬ )NxBRE
46 ( ‫الشكل‬4-2‫برنامج‬ )Visio‫من‬Microsoft
74 ( ‫الشكل‬4-3‫برنامج‬ ‫في‬ ‫القواعد‬ ‫مع‬ ‫التصميم‬ ‫دمج‬ )Visio
50 ( ‫الشكل‬4-4‫مكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬ )NetBpm
15 ( ‫الشكل‬4-5‫المكتبة‬ ‫عمليات‬ )NetBpm
35 ( ‫الشكل‬4-6‫مكتبة‬ ‫محركات‬ )FlexRule
53 ( ‫الشكل‬4-7‫في‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬ )FlexRule
61 ( ‫الشكل‬5-1‫باستخدام‬ ‫برمجتها‬ ‫يمكن‬ ‫التي‬ ‫التطبيقات‬ ‫أنواع‬ )ASP.NET
62 ( ‫الشكل‬5-2‫الـ‬ ‫عمل‬ ‫طريقة‬ )AJAX
63 ( ‫الشكل‬5-3‫التقليدية‬ ‫الويب‬ ‫تطبيقات‬ ‫عمل‬ ‫طريقة‬ )
63 ( ‫الشكل‬5-4‫الويب‬ ‫تطبيقات‬ ‫عمل‬ ‫طريقة‬ )‫على‬ ‫المعتمدة‬AJAX
66 ( ‫الشكل‬5-5‫المكتبة‬ ‫ملفات‬ )Bootstrap
72 ( ‫الشكل‬6-1‫مكتبة‬ ‫شعار‬ )NxBRE‫المعارف‬ ‫قاعدة‬ ‫ومعيار‬
37 ( ‫الشكل‬6-2‫المحرك‬ ‫عمل‬ ‫طريقة‬ )Flow engine
47 ( ‫الشكل‬6-3‫المحرك‬ ‫عمل‬ ‫طريقة‬ )Inference engine
57 ( ‫الشكل‬6-4‫الذاكرة‬ ‫ضمن‬ ‫الحقائق‬ ‫انتقال‬ ‫مخطط‬ )
76 ( ‫الشكل‬6-5‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫طبقات‬ )
76 ( ‫الشكل‬6-6‫طبقات‬ )‫تفصيلي‬ ‫بشكل‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬
83 ( ‫الشكل‬6-7‫واجهة‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬ )Windows application
84 ( ‫الشكل‬6-8‫الويب‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬ )
85 ( ‫الشكل‬6-9‫الويب‬ ‫موقع‬ ‫هيكلية‬ )
86 ( ‫الشكل‬6-10‫الكورسات‬ ‫صفحة‬ )
‫الصفحة‬7 IV
:‫األكواد‬ ‫جدول‬
‫الصفحة‬ ‫رقم‬ ‫الشكل‬
27 ( ‫الكود‬3-1‫كود‬ ‫عن‬ ‫مثال‬ )XML
29 ( ‫الكود‬3-2‫باستخدام‬ ‫عالقة‬ ‫توصيف‬ )DTD
29 ( ‫الكود‬3-3‫عالقة‬ ‫توصيف‬ )2‫باستخدام‬DTD
29 ( ‫الكود‬3-4( ‫المعامل‬ ‫استخدام‬ )|‫الـ‬ ‫توصيف‬ ‫في‬ )DTD
30 ( ‫الكود‬3-5( ‫المعامل‬ ‫استخدام‬ )+‫الـ‬ ‫توصيف‬ ‫في‬ ) * ( ‫والمعامل‬ )DTD
30 ( ‫الكود‬3-6‫الـ‬ ‫توصيف‬ ‫في‬ ) ‫؟‬ ( ‫المعامل‬ ‫استخدام‬ )DTD
33 ( ‫الكود‬3-7‫الـ‬ ‫ملف‬ )DTD‫لمعيار‬RuleML0.8
34 ( ‫الكود‬3-8)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML
34 ( ‫الكود‬3-9)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML
35 ( ‫الكود‬3-10)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML
36 ( ‫الكود‬3-11)‫الـ‬ ‫ملف‬DTD‫لعيار‬HornML.
37 ( ‫الكود‬3-12)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML
37 ( ‫الكود‬3-13)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML
37 ( ‫الكود‬3-14)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML
38 ( ‫الكود‬3-15‫في‬ ‫الوسوم‬ ‫خصائص‬ ‫استخدام‬ )HornML
38 ‫الكود‬(3-16‫استخدام‬ )ID‫و‬IDREF‫في‬HornML
39 ( ‫الكود‬3-17‫معيار‬ ‫باستخدام‬ ‫معرفة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬ )SHOE.
39 ( ‫الكود‬3-18‫لغة‬ ‫في‬ ‫حقيقة‬ ‫عن‬ ‫مثال‬ )PROLOG
40 ( ‫الكود‬3-19‫باستخدام‬ ‫معرفة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬ )PROLOG
44 ( ‫الكود‬4-1‫من‬ ‫محرك‬ ‫عن‬ ‫مثال‬ )Flow engine
44 ( ‫الكود‬4-2‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )xbre
45 ( ‫الكود‬4-3‫نوع‬ ‫من‬ ‫محرك‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )Inference engine
64 ( ‫الكود‬4-4‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )RuleML
47 ( ‫الكود‬4-5‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )HRF
48 ( ‫الكود‬4-6‫باستخدام‬ ‫محرك‬ ‫عن‬ ‫مثال‬ )Drools.Net
49 ( ‫الكود‬4-7‫المكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬ )Drools.Net
52 ( ‫الكود‬4-8‫للمكتبة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬ )NetBpm
55 ( ‫الكود‬4-9‫قاعدة‬ ‫عن‬ ‫مثال‬ )XML‫للمكتبة‬FlexRule
59 ( ‫الكود‬5-1‫كود‬ ‫عن‬ ‫مثال‬ )HTML
60 ( ‫الكود‬5-2‫كود‬ ‫عن‬ ‫مثال‬ )CSS
60 ( ‫الكود‬5-3‫كود‬ ‫عن‬ ‫مثال‬ )JavaScript
65 ( ‫الكود‬5-4‫تقنية‬ ‫تنفيذ‬ ‫ملف‬ )AJAX
66 ( ‫الكود‬5-5‫مكتبة‬ ‫استخدام‬ ‫طريقة‬ )JQuery
86 ( ‫الكود‬5-6‫مكتبة‬ ‫استخدام‬ ‫طريقة‬ )Bootstrap
87–79 ‫الكود‬(6-1)‫الطبقة‬Inference Engine
08–18–28-38 ( ‫الكود‬6-2‫بالموقع‬ ‫الخاصة‬ ‫المعارف‬ ‫قاعدة‬ ‫من‬ ‫جزء‬ )
‫الصفحة‬8
:‫المحتويات‬
:‫البحث‬ ‫ملخص‬.......................................................................................................................................4
‫األول‬ ‫الفصل‬-:‫البحث‬ ‫إلى‬ ‫مدخل‬..............................................................................................................12
1-1:‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬.......................................................................................................12
1-2:‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬ ‫توصيف‬................................................................................................14
1-2-1:‫المشروع‬ ‫توصيف‬...............................................................................................................14
1-2-2:‫األهداف‬ ‫توصيف‬................................................................................................................14
1-3‫والعمل‬ ‫الدراسة‬ ‫مراحل‬:................................................................................................................15
1-4:‫المشروع‬ ‫واجهت‬ ‫التي‬ ‫التحديات‬.....................................................................................................15
1-5:‫سابقا‬ ‫إنجازه‬ ‫تم‬ ‫ما‬......................................................................................................................15
1-6:‫التوثيق‬ ‫فصول‬ ‫عن‬ ‫لمحة‬..............................................................................................................16
‫الثاني‬ ‫الفصل‬-:‫الخبيرة‬ ‫النظم‬...................................................................................................................18
2-1:‫الخبير‬ ‫النظام‬ ‫تعريف‬...................................................................................................................18
2-2:‫الخبير‬ ‫النظام‬ ‫مكونات‬..................................................................................................................19
2-2-1‫المعرفة‬ ‫قاعدة‬Knowledge base:.............................................................................................19
2-2-2‫االستدالل‬ ‫آلية‬Inference Engine:.............................................................................................20
2-2-3‫االستخدام‬ ‫واجهة‬Interface User:.............................................................................................20
2-3:‫الخبير‬ ‫النظام‬ ‫خواص‬..................................................................................................................21
2-4:‫الخبير‬ ‫النظام‬ ‫استخدامات‬..............................................................................................................22
2-5:‫الخبير‬ ‫النظام‬ ‫ميزات‬...................................................................................................................23
2-6:‫الخبير‬ ‫النظام‬ ‫عيوب‬....................................................................................................................23
‫لغة‬ :‫الثالث‬ ‫الفصل‬XML:‫المعارف‬ ‫تمثيل‬ ‫وطرق‬...........................................................................................25
3-1‫الموسعة‬ ‫الترميز‬ ‫لغة‬XML:...........................................................................................................25
3-1-1‫لغة‬ ‫مميزات‬XML:..............................................................................................................25
3-1-2‫وظائف‬XML:‫الويب‬ ‫في‬.......................................................................................................25
3-1-3‫لملف‬ ‫الهيكلية‬ ‫البنية‬XML:.....................................................................................................26
3-2‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬XML:..............................................................................................27
3-2-1‫لملفات‬ ‫المعايير‬ ‫وصف‬XML:.................................................................................................27
3-2-2‫باستخدام‬ ‫المعيار‬ ‫توصيف‬DTDs:.............................................................................................29
3-3:‫الخبيرة‬ ‫للنظم‬ ‫المعارف‬ ‫تمثيل‬ ‫معايير‬ ‫أشهر‬........................................................................................31
3-3-1‫معيار‬RuleML:..................................................................................................................31
3-3-1-1‫معيار‬ ‫تاريخ‬RuleML:...................................................................................................32
3-3-1-2‫ملف‬DTDs‫لمعيار‬RuleML 0.8:.....................................................................................33
3-3-1-3‫معيار‬ ‫عن‬ ‫أمثلة‬RuleML:...............................................................................................34
‫الصفحة‬9
3-3-1-4‫المعيار‬ ‫مكونات‬RuleML:...............................................................................................36
3-3-2‫معيار‬HornML:.................................................................................................................36
3-3-2-1‫ملف‬DTDs‫لمعيار‬RuleML:..........................................................................................36
3-3-2-2‫معيار‬ ‫عن‬ ‫أمثلة‬HornML:..............................................................................................37
3-3-3‫معيار‬SHOE:.....................................................................................................................38
3-3-4‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬PROLOG:.........................................................................................39
‫الرابع‬ ‫الفصل‬-:‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬.........................................................................................................41
4-1‫مكتبة‬NxBRE:..........................................................................................................................42
4-1-1:‫المكتبة‬ ‫مكونات‬..................................................................................................................42
4-1-2‫نوع‬ ‫من‬ ‫المحركات‬Flow Engine:............................................................................................43
4-1-3‫االستدالل‬ ‫محرك‬Inference Engine:.........................................................................................44
4-1-3-1‫هيئة‬ ‫على‬ ‫القواعد‬ ‫ملفات‬RuleML:....................................................................................46
4-1-3-2‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬VDX‫باستخدام‬Visio:......................................................................46
4-1-3-3‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬HRF:...........................................................................................47
4-2‫مكتبة‬Drools.NET:....................................................................................................................47
4-3‫مكتبة‬NetBPM:.........................................................................................................................49
4-4‫مكتبة‬FlexRule:........................................................................................................................52
4-5‫مكتبة‬cDevWorkflow:...............................................................................................................55
4-6‫مكتبة‬NGinn.BPM:....................................................................................................................55
4-7‫مكتبة‬Workflow Engine.Net:.......................................................................................................56
4-8‫مكتبة‬SRE (Simple Rule Engine):.................................................................................................56
4-9‫مكتبة‬Stateless:.........................................................................................................................57
4-10‫مكتبة‬Softix.Orchestration:........................................................................................................57
‫الخامس‬ ‫الفصل‬-:‫الحديثة‬ ‫الويب‬ ‫تقنيات‬.......................................................................................................59
5-1‫الويب‬ ‫تطبيقات‬ ‫بناء‬Web application:.............................................................................................59
5-2‫بيئة‬ASP.NET:.........................................................................................................................61
5-3‫تقنية‬AJAX:.............................................................................................................................62
5-3-1‫الـ‬ ‫عمل‬ ‫طريقة‬AJAX:..........................................................................................................63
5-4‫مكتبة‬JQuery:...........................................................................................................................65
5-5‫الـ‬ ‫مكتبة‬BootStrap:....................................................................................................................66
:‫العملي‬ ‫والتطبيق‬ ‫الدراسة‬ ‫نتائج‬ :‫السادس‬ ‫الفصل‬............................................................................................71
6-1:‫النظرية‬ ‫الدراسة‬........................................................................................................................71
6-1-1:‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫اختيار‬ ‫معايير‬................................................................................................71
‫الصفحة‬10
6-1-2‫المكتبة‬ ‫اختيار‬NxBRE:............................................................................................................73
6-1-3:‫المعارف‬ ‫تمثيل‬ ‫طريقة‬ ‫اختيار‬.....................................................................................................73
6-1-4:‫االستدالل‬ ‫محرك‬ ‫اختيار‬...........................................................................................................74
6-2‫الخبير‬ ‫النظام‬ ‫نواة‬Expert System Core:..............................................................................................77
6-2-1‫الـ‬ ‫طبقة‬Inefernce Engine:........................................................................................................78
6-2-2:‫بالتطبيق‬ ‫الخاصة‬ ‫المعارف‬ ‫قاعدة‬.................................................................................................81
6-3:‫العملي‬ ‫التطبيق‬..............................................................................................................................84
6-3-1‫الويب‬ ‫تطبيق‬Web Application:.................................................................................................85
6-3-2:‫الموقع‬ ‫هيكلية‬........................................................................................................................86
6-3-3:‫الويب‬ ‫موقع‬ ‫صفحات‬...............................................................................................................87
6-3-4:‫الموقع‬ ‫توافقية‬ ‫تجريب‬..............................................................................................................88
:‫التطويرية‬ ‫المقترحات‬ ،‫الخاتمة‬ :‫السابع‬ ‫الفصل‬..............................................................................................91
7-1:‫الخاتمة‬...................................................................................................................................91
7-2‫األعمال‬:‫التطويرية‬ ‫والمقترحات‬ ‫المستقبلية‬.........................................................................................91
‫المراجع‬.............................................................................................................................................92
‫الصفحة‬11
:‫األول‬ ‫الفصل‬
‫البحث‬ ‫إلى‬ ‫مدخل‬
:‫الفصل‬ ‫هذا‬ ‫في‬
›‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬.
›‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬ ‫توصيف‬.
›‫والعمل‬ ‫الدراسة‬ ‫مراحل‬.
›‫المشروع‬ ‫واجهت‬ ‫التي‬ ‫التحديات‬.
›‫لمحة‬‫التوثيق‬ ‫فصول‬ ‫عن‬.
‫الصفحة‬12
‫الفصل‬‫األول‬-:‫البحث‬ ‫إلى‬ ‫مدخل‬
1-1:‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬
،‫الويب‬ ‫عالم‬ ‫المجاالت‬ ‫هذه‬ ‫ومن‬ ،‫المجاالت‬ ‫كافة‬ ‫في‬ ‫العلماء‬ ‫قبل‬ ‫من‬ ‫اهتمام‬ ‫تلقى‬ ‫التي‬ ‫العلوم‬ ‫أكثر‬ ‫من‬ ‫الصنعي‬ ‫الذكاء‬ ‫إن‬
‫وبالرغم‬ ،‫علينا‬ ‫يخفى‬ ‫يعد‬ ‫لم‬ ‫الويب‬ ‫مواقع‬ ‫تبديه‬ ‫ذكاء‬ ‫من‬ ‫نالحظه‬ ‫وما‬ ‫نلعبها‬ ‫التي‬ ‫األلعاب‬ ‫وفي‬ ‫هواتفنا‬ ‫في‬ ‫الموجود‬ ‫الذكاء‬ ‫إن‬
‫حتى‬ ‫أحد‬ ‫يستطع‬ ‫لم‬ ‫فإنه‬ ‫ذلك‬ ‫من‬‫الصنعي‬ ‫الذكاء‬ ‫تعريف‬ ‫يمكن‬ ‫فإننا‬ ‫عام‬ ‫بشكل‬ ‫ولكن‬ ،‫الصنعي‬ ‫للذكاء‬ ‫محدد‬ ‫تعريف‬ ‫وضع‬ ‫اآلن‬
Artificial intelligence‫الحاسب‬ ‫علم‬ ‫فروع‬ ‫من‬ ‫فرع‬ ‫بأنه‬Computer science‫عند‬ ‫الذكي‬ ‫السلوك‬ ‫بمحاكاة‬ ‫يعنى‬ ،
‫المعقدة‬ ‫المشكالت‬ ‫حل‬ ‫وفي‬ ،‫اإلنسان‬Complex problem[7]
.
‫على‬ ‫يعتمد‬ ‫ما‬ ‫ومنها‬ ،‫البحث‬ ‫عمليات‬ ‫في‬ ‫يبحث‬ ‫ما‬ ‫ومنها‬ ،‫استداللي‬ ‫هو‬ ‫ما‬ ‫فمنها‬ ،‫متعددة‬ ‫الصنعي‬ ‫الذكاء‬ ‫مجاالت‬ ‫تعتبر‬
‫تنحى‬ ‫أغلبها‬ ‫فإن‬ ‫عام‬ ‫بشكل‬ ‫ولكن‬ ،‫مهمة‬ ‫معلومات‬ ‫على‬ ‫الحصول‬ ‫في‬ ‫اإلحصائية‬ ‫العمليات‬‫منحى‬ ‫باتجاه‬‫الحصو‬ ‫وهو‬ ،‫واحد‬‫ل‬
‫ال‬ ‫هذا‬ ‫من‬ ‫والغاية‬ ،‫اإلنسان‬ ‫كما‬ ‫يفكر‬ ‫عقل‬ ‫على‬‫المجاالت‬ ‫في‬ ‫سيما‬ ‫ال‬ ،‫كافة‬ ‫الحياة‬ ‫مجاالت‬ ‫في‬ ‫لإلنسان‬ ‫عونا‬ ‫يكون‬ ‫أن‬ ‫هي‬ ‫عقل‬
‫كبيرة‬ ‫ذاكرة‬ ‫حفظ‬ ‫عمليات‬ ‫تتطلب‬ ‫التي‬ ‫أو‬ ،‫الكبيرة‬ ‫االستنتاج‬ ‫وعمليات‬ ،‫السريع‬ ‫البحث‬ ‫مثل‬ ‫قاصرا‬ ‫اإلنسان‬ ‫فيها‬ ‫يعتبر‬ ‫التي‬
‫بسرعة‬.[4]
‫مكان‬ ‫كل‬ ‫في‬ ‫به‬ ‫نشعر‬ ‫أصبحنا‬ ‫الصنعي‬ ‫الذكاء‬ ‫فإن‬ ‫الذكر‬ ‫أسلفنا‬ ‫وكما‬‫التطبيق‬ ‫أكثر‬ ‫فمن‬ ،‫الويب‬ ‫عالم‬ ‫في‬ ‫سيما‬ ‫وال‬ ‫حولنا‬ ‫من‬‫ات‬
‫مثل‬ ،‫نستخدمها‬ ‫التي‬ ‫البحث‬ ‫محركات‬ ‫هي‬ ،‫اإلنترنيت‬ ‫شبكة‬ ‫على‬ ‫دائم‬ ‫بشكل‬ ‫معها‬ ‫نتعامل‬ ‫التي‬ ‫الذكية‬Google‫و‬Bing
‫و‬Yahoo‫أجزا‬ ‫في‬ ‫هائل‬ ‫مستودع‬ ‫من‬ ‫المعلومات‬ ‫جلب‬ ‫على‬ ‫رهيبة‬ ‫بقدرة‬ ‫تتمتع‬ ‫المحركات‬ ‫هذه‬ ،‫األخرى‬ ‫البحث‬ ‫ومحركات‬‫ء‬
‫المعلومات‬ ‫أفضل‬ ‫على‬ ‫للحصول‬ ‫ومدروس‬ ‫ذكي‬ ‫بشكل‬ ‫تتم‬ ‫بل‬ ،‫اعتباطي‬ ‫بشكل‬ ‫تتم‬ ‫ال‬ ‫حتما‬ ‫هذه‬ ‫البحث‬ ‫عملية‬ ،‫الثانية‬ ‫من‬ ‫بسيطة‬
.‫ذكية‬ ‫خوارزميات‬ ‫ذلك‬ ‫لتنفيذ‬ ‫ويتم‬ ،‫بسيط‬ ‫وبزمن‬
‫الشكل‬(1-1)‫البحث‬ ‫محركات‬Google‫و‬[25]
YAHOO
‫البيانات‬ ‫"تنقيب‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫الخوارزميات‬ ‫هذه‬ ‫تسمى‬Data Mining‫مع‬ ‫ربطها‬ ‫يتم‬ ‫للبيانات‬ ‫تحليل‬ ‫خوارزميات‬ ‫وهي‬ "
‫معينه‬ ‫معلومات‬ ‫عن‬ ‫وبحث‬ ‫تفتيش‬ ‫عملية‬ ‫هي‬ ‫وببساطه‬ ،‫البيانات‬ ‫هذه‬ ‫لتحليل‬ ‫اإلحصائية‬ ‫والعمليات‬ ‫االصطناعي‬ ‫الذكاء‬ ‫تقنيات‬
‫البيانات‬ ‫من‬ ‫كبير‬ ‫حجم‬ ‫في‬ ‫ومفيدة‬[7]
.
‫الصفحة‬13
‫الشكل‬(1-2)‫البيانات‬ ‫تنقيب‬ ‫عملية‬[25]
Data Mining
،‫ذكي‬ ‫بشكل‬ ‫متعددة‬ ‫مواضيع‬ ‫في‬ ‫ومشورات‬ ‫مساعدات‬ ‫تقدم‬ ‫والتي‬ ‫المشهورة‬ ‫المواقع‬ ‫من‬ ‫الكثير‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫نجد‬ ‫أيضا‬
‫موقع‬ ‫المواقع‬ ‫هذه‬ ‫من‬ ‫نذكر‬Cora‫الشكل‬ ‫في‬ ‫يظهر‬ ‫(الذي‬1-3)‫ميزات‬ ‫يقدم‬ ،‫الصنعي‬ ‫بالذكاء‬ ‫جدا‬ ‫متميز‬ ‫موقع‬ ‫وهو‬‫مهمة‬
‫طرق‬ ‫على‬ ‫اعتمادا‬ ‫وذلك‬ ،‫ما‬ ‫نوعا‬ ‫دقيقة‬ ‫بإجابات‬ ‫فيجيبه‬ ‫معين‬ ‫شيء‬ ‫عن‬ ‫بسؤاله‬ ‫المستخدم‬ ‫يقوم‬ ‫أن‬ ‫يمكن‬ ‫حيث‬ ،‫وجميلة‬
.‫الموقع‬ ‫ضمن‬ ‫خبرتهم‬ ‫أضافوا‬ ‫آخرين‬ ‫لمستخدمين‬ ‫سابقة‬ ‫وخبرات‬ ‫ذكية‬ ‫استدالل‬
‫الشكل‬(1-3)‫موقع‬[26]
Quora
‫موقع‬ ‫يعتبر‬ ‫أيضا‬FaceBook‫فخوارزميا‬ ،‫الصنعي‬ ‫الذكاء‬ ‫بخوارزميات‬ ‫مليء‬ ‫مميزا‬ ‫موقعا‬‫ت‬‫األشخاص‬ ‫أوجه‬ ‫على‬ ‫التعرف‬
‫موقع‬ ‫يحويه‬ ‫الذي‬ ‫الصنعي‬ ‫الذكاء‬ ‫على‬ ‫مثاال‬ ‫تعتبر‬FaceBook‫(الشكل‬1-4)‫ميزة‬ ‫وهي‬ ‫فيه‬ ‫الموجودة‬ ‫المهمة‬ ‫الميزة‬ ‫أيضا‬
‫عل‬ ‫للحصول‬ ‫استداللية‬ ‫بعملية‬ ‫يقوم‬ ‫خبير‬ ‫نظام‬ ‫على‬ ‫مبنية‬ "‫تعرفهم‬ ‫قد‬ ‫"أشخاص‬.‫نعرفهم‬ ‫قد‬ ‫الذين‬ ‫األشخاص‬ ‫هؤالء‬ ‫ى‬
‫الشكل‬(1-4)‫موقع‬[27]
FaceBook
‫الصفحة‬14
1-2:‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬ ‫توصيف‬
‫ضمن‬ ‫وذلك‬ ‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫للمكتبات‬ ‫نظرية‬ ‫دراسة‬ ‫حول‬ ‫المشروع‬ ‫فكرة‬ ‫تدور‬‫بيئة‬.NET‫دراسة‬ ‫إلى‬ ‫باإلضافة‬
‫معايير‬ ‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طريقة‬XML،‫وتم‬‫تكمن‬ ‫خبير‬ ‫نظام‬ ‫على‬ ‫يحتوي‬ ‫ويب‬ ‫لموقع‬ ‫عملي‬ ‫تطبيق‬ ‫على‬ ‫أيضا‬ ‫العمل‬
‫على‬ ‫اعتمادا‬ ‫وذلك‬ ،‫الموقع‬ ‫على‬ ‫الموجودة‬ ‫الكورسات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫يناسبه‬ ‫الذي‬ ‫الكورس‬ ‫تحديد‬ ‫في‬ ‫الزائر‬ ‫مساعدة‬ ‫في‬ ‫أهميته‬
.‫للموقع‬ ‫المنضمين‬ ‫اآلخرين‬ ‫المستخدمين‬ ‫خبرات‬
1-2-1:‫المشروع‬ ‫توصيف‬
‫محاور‬ ‫توصيف‬ ‫يمكن‬:‫التالية‬ ‫بالنقاط‬ ‫المشروع‬
-.‫ومساوئها‬ ‫فوائدها‬ ‫أهم‬ ‫وتحديد‬ ،‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫المكتبات‬ ‫غالب‬ ‫على‬ ‫نظرية‬ ‫دراسة‬ ‫إجراء‬
-.‫شخصي‬ ‫معيار‬ ‫وضع‬ ‫بها‬ ‫يتم‬ ‫التي‬ ‫الطريقة‬ ‫تحديد‬ ‫مع‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫المستخدمة‬ ‫المعايير‬ ‫دراسة‬
-‫ع‬ ‫الحصول‬ ‫تم‬ ‫بحيث‬ ‫والتطبيق‬ ‫التجريب‬ ‫قيد‬ ‫الدراسة‬ ‫وضع‬ ‫تم‬‫االعتماد‬ ‫يمكن‬ ‫التي‬ ‫المعايير‬ ‫من‬ ‫مجموعة‬ ‫لى‬
.‫للمستخدم‬ ‫المناسبة‬ ‫المكتبة‬ ‫لتحديد‬ ‫عليها‬
-‫مكتبة‬ ‫وهي‬ ‫كامل‬ ‫بشكل‬ ‫الخبير‬ ‫النظام‬ ‫بناء‬ ‫في‬ ‫المستخدمة‬ ‫المكتبة‬ ‫دراسة‬NxBRE‫في‬ ‫عليها‬ ‫واالعتماد‬ ،
.‫العملي‬ ‫التطبيق‬
-‫المناس‬ ‫الكورسات‬ ‫تحديد‬ ‫في‬ ‫الخبيرة‬ ‫النظم‬ ‫على‬ ‫يعتمد‬ ‫ويب‬ ‫تطبيق‬ ‫تصميم‬ ‫تم‬‫من‬ ‫قائمة‬ ‫من‬ ‫للمستخدم‬ ‫بة‬
.‫للموقع‬ ‫المنضمين‬ ‫األىخرين‬ ‫األشخاص‬ ‫خبرة‬ ‫وحسب‬ ‫االختصاص‬ ‫حسب‬ ‫وذلك‬ ‫الكورسات‬
-‫النواة‬ ‫جعل‬ ‫على‬ ‫العمل‬Core‫على‬ ‫والعمل‬ ،‫وصيانته‬ ،‫تطويره‬ ‫السهولة‬ ‫من‬ ‫يصبح‬ ‫بحيث‬ ‫قوية‬ ‫بالموقع‬ ‫الخاصة‬
.‫الويب‬ ‫شبكة‬ ‫على‬ ‫العمل‬ ‫قيد‬ ‫وضه‬
-‫الحديث‬ ‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫على‬ ‫االعتماد‬.‫المواصفات‬ ‫لكامل‬ ‫محققا‬ ‫التطبيق‬ ‫لجعل‬ ‫ة‬
1-2-2:‫األهداف‬ ‫توصيف‬
-.‫آخرين‬ ‫ألناس‬ ‫فائدة‬ ‫يحقق‬ ‫بما‬ ‫وتوظيفها‬ ،‫العالم‬ ‫مستوى‬ ‫على‬ ‫الناس‬ ‫يملكها‬ ‫التي‬ ‫الخبرات‬ ‫استخدام‬
-‫حياتهم‬ ‫بظروف‬ ‫يتعلق‬ ‫فيما‬ ‫استشارته‬ ‫من‬ ‫المستخدمين‬ ‫يمكن‬ ‫األنترينت‬ ‫شبكة‬ ‫على‬ ‫موقع‬ ‫على‬ ‫الحصول‬
‫والتي‬ ،‫االعتيادية‬.‫الناس‬ ‫معظم‬ ‫بها‬ ‫يمر‬
-‫عليه‬ ‫االعتماد‬ ‫ويمكن‬ ،‫للمستخدمين‬ ‫عملية‬ ‫فائدة‬ ‫وذو‬ ،‫بالذكاء‬ ‫يتميز‬ ،‫متكامل‬ ،‫تفاعلي‬ ‫ويب‬ ‫موقع‬ ‫على‬ ‫الحصول‬
.‫معينة‬ ‫مشكلة‬ ‫لحل‬
-.‫الويب‬ ‫شبكة‬ ‫على‬ ‫موجودا‬ ‫التطبيق‬ ‫جعل‬ ‫عبر‬ ‫المستخدمين‬ ‫من‬ ‫واسعة‬ ‫لشريحة‬ ‫معين‬ ‫مجال‬ ‫في‬ ‫الفائدة‬ ‫تحقيق‬
-‫عل‬ ‫سوري‬ ‫لطالب‬ ‫مهمة‬ ‫بصمة‬ ‫وضع‬‫كصاحب‬ ،‫العالم‬ ‫في‬ ‫الجامعيين‬ ‫الطالب‬ ‫من‬ ‫العديد‬ ‫يفعل‬ ‫كما‬ ،‫الويب‬ ‫شبكة‬ ‫ى‬
‫موقع‬FaceBook.
‫الصفحة‬15
1-3‫والعمل‬ ‫الدراسة‬ ‫مراحل‬:
‫البدأ‬ ‫تم‬ ‫بحيث‬ ‫المتتالية‬ ‫الخطوات‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫العمل‬ ‫تقسيم‬ ‫تم‬ ‫وقد‬ ،‫األخيرة‬ ‫السنة‬ ‫طوال‬ ‫المشروع‬ ‫على‬ ‫العمل‬ ‫تم‬
،‫سابقتها‬ ‫من‬ ‫االنتهاء‬ ‫حين‬ ‫مرحلة‬ ‫بكل‬:‫هي‬ ‫بالترتيب‬ ‫الخطوات‬ ‫هذه‬
1-‫مجال‬ ‫عن‬ ‫وقوية‬ ‫واسعة‬ ‫معلومات‬ ‫على‬ ‫للحصول‬ ‫أساسي‬ ‫بشكل‬ ‫الخبيرة‬ ‫والنظم‬ ،‫الصنعي‬ ‫الذكاء‬ ‫موضوع‬ ‫دراسة‬
.‫البحث‬
2-،‫إصداراتها‬ ‫آخر‬ ‫على‬ ‫والحصول‬ ‫األنترنيت‬ ‫شبكة‬ ‫على‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫في‬ ‫واسعة‬ ‫بحث‬ ‫عملية‬ ‫إجراء‬ ‫تم‬
‫تتحدث‬ ‫مراجع‬ ‫أي‬ ‫عن‬ ‫البحث‬ ‫إلى‬ ‫باإلضافة‬.‫عليها‬ ‫تعتمد‬ ‫تطبيقات‬ ‫أو‬ ،‫عنها‬
3-،‫انتشارها‬ ‫ومدى‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫المستخدمة‬ ‫المعايير‬ ‫أشهر‬ ‫عن‬ ‫البحث‬ ‫عملية‬ ‫في‬ ‫كانت‬ ‫الثالثة‬ ‫المرحلة‬
.‫عالميا‬ ‫واعتمادها‬
4-‫مكتبة‬ ‫وهي‬ ،‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫من‬ ‫المختارة‬ ‫المكتبة‬ ‫حول‬ ‫واسعة‬ ‫دراسة‬ ‫عملية‬ ‫إجراء‬NxBRE.
5-‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫بناء‬.‫مستقبال‬ ‫وصيانتها‬ ‫تطويرها‬ ‫يمكن‬ ‫بحيث‬ ،‫عالمية‬ ‫برمجية‬ ‫مبادئ‬ ‫على‬ ‫اعتمادا‬
6-‫بتطبيق‬ ‫البدأ‬‫مجال‬ ‫في‬ ‫للمستخدمين‬ ‫النصائح‬ ‫بتقديم‬ ‫متخصص‬ ‫ويب‬ ‫موقع‬ ‫وهو‬ ،‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫يستخدم‬ ‫عملي‬
‫الموقع‬ ‫تطوير‬ ‫تم‬ ‫وقد‬ ،‫لهم‬ ‫المناسبة‬ ‫الكورسات‬‫ق‬ ‫بنيان‬ ‫ذو‬ ‫يكون‬ ‫بحيث‬‫لل‬ ‫وقابل‬ ،‫للتطوير‬ ‫قابل‬ ،‫وي‬‫ص‬‫يانة‬‫و‬ ،‫يع‬‫تمد‬
‫التقنيات‬ ‫آخر‬ ‫على‬.‫الويب‬ ‫مجال‬ ‫في‬
7-،‫األخرى‬ ‫المتصفحات‬ ‫مع‬ ‫توافقه‬ ‫من‬ ‫والتأكد‬ ‫تجريبه‬ ‫يتم‬ ‫لكي‬ ،‫األشخاص‬ ‫بين‬ ‫نشره‬ ‫على‬ ‫والعمل‬ ‫الموقع‬ ‫تجريب‬
.‫تحتويه‬ ‫التي‬ ‫األخطاء‬ ‫وإصالح‬
1-4:‫المشروع‬ ‫واجهت‬ ‫التي‬ ‫التحديات‬
:‫يلي‬ ‫ما‬ ‫أهمها‬ ‫كان‬ ‫كثير‬ ‫تحديات‬ ‫المشروع‬ ‫واجهت‬
-‫الشح‬‫هذه‬ ‫تطبيقات‬ ‫ببرمجة‬ ‫األمر‬ ‫يتعلق‬ ‫حين‬ ‫وخصوصا‬ ،‫الويب‬ ‫شبكة‬ ‫على‬ ‫الخبيرة‬ ‫النظم‬ ‫مراجع‬ ‫في‬ ‫الكبير‬
.‫النظم‬
-‫المكتبات‬ ‫عن‬ ‫الشروحات‬ ‫غالب‬ ‫أن‬ ‫إلى‬ ‫نظرا‬ ‫التخصصية‬ ‫اإلنكليزية‬ ‫اللغة‬ ‫مصطلحات‬ ‫في‬ ‫كبير‬ ‫قوة‬ ‫إلى‬ ‫الحاجة‬
.‫اإلنكليزية‬ ‫باللغة‬ ‫تكون‬
-‫المشروع‬ ‫في‬ ‫المستخدمة‬ ‫واللغات‬ ‫التقنيات‬ ‫كثرة‬.‫المحدد‬ ‫بالزمن‬ ‫ينتهي‬ ‫لكي‬ ‫كبيرا‬ ‫وتحديا‬ ‫عائقا‬ ‫شكل‬ ‫مما‬
1-5:‫سابقا‬ ‫إنجازه‬ ‫تم‬ ‫ما‬
‫على‬ ‫الشركات‬ ‫غالب‬ ‫تعمل‬ ‫التي‬ ‫الحديثة‬ ‫المواضيع‬ ‫من‬ ‫البحث‬ ‫هذا‬ ‫يعتبر‬‫ضمن‬ ‫مفاهيمه‬ ‫تطبيق‬ ‫وتحاول‬ ،‫إليه‬ ‫الدخول‬
‫جع‬ ‫في‬ ‫كبيرة‬ ‫أهمية‬ ‫للخبرة‬ ‫يكون‬ ‫حيث‬ ،‫بالويب‬ ‫يتعلق‬ ‫األمر‬ ‫كان‬ ‫إذا‬ ‫وخاصة‬ ،‫تطبيقاته‬.‫للمستخدمين‬ ‫مفيدا‬ ‫الموقع‬ ‫ل‬
‫المشهور‬ ‫الكتب‬ ‫موقع‬ ‫الخبيرة‬ ‫النظم‬ ‫تطبق‬ ‫التي‬ ‫المواقع‬ ‫من‬Amazon‫مثل‬ ‫االجتماعي‬ ‫التواصل‬ ‫ومواقع‬ ،FaceBook‫و‬
Twitter‫موقع‬ ‫مثل‬ ‫صريح‬ ‫وبشكل‬ ‫فقط‬ ‫بالمعرفة‬ ‫متخصصة‬ ‫مواقع‬ ‫يوجد‬ ‫أيضا‬ ،Cuora.
‫التطبيقات‬ ‫من‬ ‫العديد‬ ‫فيوجد‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫على‬ ‫بينما‬‫ال‬ ‫النظم‬ ‫مبادئ‬ ‫وتطبق‬ ‫شركات‬ ‫قبل‬ ‫من‬ ‫تباع‬ ‫التي‬ ‫التجارية‬،‫خبيرة‬
.‫أجلها‬ ‫من‬ ‫شراؤه‬ ‫يريد‬ ‫التي‬ ‫للغاية‬ ‫أو‬ ،‫شركته‬ ‫ضمن‬ ‫الخدمات‬ ‫هذه‬ ‫من‬ ‫الزبون‬ ‫يستفيد‬ ‫بحيث‬
‫الصفحة‬16
1-6:‫التوثيق‬ ‫فصول‬ ‫عن‬ ‫لمحة‬
:‫رئيسية‬ ‫فصول‬ ‫سبعة‬ ‫إلى‬ ‫التوثيق‬ ‫تقسيم‬ ‫تم‬
‫من‬ ‫العملية‬ ‫الفائدة‬ ‫عن‬ ‫الحديث‬ ‫تم‬ ،‫األول‬ ‫الفصل‬ ‫في‬‫الذكية‬ ‫والتقنيات‬ ‫المواقع‬ ‫أهم‬ ‫وعن‬ ،‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬ ‫وجود‬
‫اتباعها‬ ‫تم‬ ‫التي‬ ‫والخطة‬ ،‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬ ‫توصيف‬ ‫إلى‬ ‫التطرق‬ ‫تم‬ ‫وكذلك‬ ،‫نشعر‬ ‫أن‬ ‫دون‬ ‫من‬ ‫حولنا‬ ‫من‬ ‫تتواجد‬ ‫التي‬
.‫العمل‬ ‫في‬
‫ا‬ ‫وهو‬ ‫المشروع‬ ‫موضوع‬ ‫بصلب‬ ‫المرتبطة‬ ‫المواضيع‬ ‫مناقشة‬ ‫الثاني‬ ‫الفصل‬ ‫في‬ ‫تم‬‫عد‬ ‫من‬ ‫الفصل‬ ‫هذا‬ ‫ويتألف‬ ,‫الخبيرة‬ ‫لنظم‬‫ة‬
‫الثاني‬ ‫القسم‬ ‫في‬ ‫الحديث‬ ‫تم‬ ‫أيضا‬ ،‫الخبير‬ ‫النظام‬ ‫منها‬ ‫يتألف‬ ‫التي‬ ‫للمكونات‬ ‫سريع‬ ‫استعراض‬ ‫منه‬ ‫األول‬ ‫القسم‬ ‫في‬ ‫تم‬ .‫أقسام‬
.‫الخبيرة‬ ‫النظم‬ ‫ومساوئ‬ ‫بميزات‬ ‫الفصل‬ ‫اختتام‬ ‫وتم‬ ،‫الخبيرة‬ ‫النظم‬ ‫خصائص‬ ‫عن‬
‫للغ‬ ‫عمليا‬ ‫توصيفا‬ ‫الثالث‬ ‫الفصل‬ ‫يعتبر‬‫ة‬XML‫معايير‬ ‫عن‬ ‫الحديث‬ ‫تم‬ ‫أيضا‬ ،‫منها‬ ‫نستفيدها‬ ‫التي‬ ‫والفوائد‬ ،‫استخدامها‬ ‫وطرق‬
‫المعيار‬ ‫شرح‬ ‫على‬ ‫التركيز‬ ‫مع‬ ‫المعارف‬ ‫تمثل‬RuleML.‫التطبيق‬ ‫في‬ ‫المستخدم‬
‫لغة‬ ‫عن‬ ‫الحديث‬ ‫وتم‬ ،‫المشروع‬ ‫في‬ ‫استخدامها‬ ‫تم‬ ‫التي‬ ‫الحديثة‬ ‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫توضيح‬ ‫تم‬ ‫الرابع‬ ‫الفصل‬ ‫في‬ASP.NET
‫برم‬ ‫في‬.‫الويب‬ ‫مواقع‬ ‫جة‬
‫الـ‬ ‫بيئة‬ ‫على‬ ‫الموجودة‬ ‫الخبير‬ ‫النظم‬ ‫مكتبات‬ ‫ألهم‬ ‫وشرحا‬ ً‫ا‬‫وصف‬ ‫يحوي‬ ‫فهو‬ ‫الخامس‬ ‫الفصل‬ ‫أما‬.NET‫عن‬ ‫الحديث‬ ‫تم‬ ‫وفيه‬
‫مكتبة‬ ‫شرح‬ ‫على‬ ‫التركيز‬ ‫مع‬ ‫حدى‬ ‫على‬ ‫مكتبة‬ ‫كل‬ ‫ومساوئ‬ ‫مزايا‬ ‫أشهر‬NxBRE.‫التطبيق‬ ‫في‬ ‫المستخدمة‬
،‫الويب‬ ‫وتطبيق‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫بناء‬ ‫طريقة‬‫و‬‫وطريقة‬ ‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫اختيار‬ ‫في‬ ‫عليها‬ ‫االستناد‬ ‫تم‬ ‫التي‬ ‫الطرق‬ ‫شرح‬
.‫السادس‬ ‫الفصل‬ ‫في‬ ‫موجودة‬ ‫المعارف‬ ‫تمثيل‬
‫آمل‬ ‫كنت‬ ‫التي‬ ‫التطويرية‬ ‫المقترحات‬ ‫من‬ ‫مجموعة‬ ‫ويتبعها‬ ‫المستقبلية‬ ‫األفكار‬ ‫عن‬ ‫يتحدث‬ ‫بفصل‬ ‫التوثيق‬ ‫اختتام‬ ‫تم‬ ‫النهاية‬ ‫وفي‬
‫لم‬ ‫الوقت‬ ‫ولكن‬ ‫بها‬ ‫القيام‬‫ص‬ ‫من‬ ‫يكن‬‫الحي‬.
‫الصفحة‬17
‫الفصل‬‫الثاني‬:
‫الخبيرة‬ ‫النظم‬
:‫الفصل‬ ‫هذا‬ ‫في‬
›‫تعريف‬‫النظ‬‫ا‬‫الخبير‬ ‫م‬.
›‫الخبير‬ ‫النظام‬ ‫مكونات‬.
›‫الخبير‬ ‫النظام‬ ‫خواص‬.
›‫النظ‬ ‫استخدامات‬‫ام‬‫الخبير‬.
›‫النظ‬ ‫ميزات‬‫ا‬.‫الخبير‬ ‫م‬
›‫النظ‬ ‫عيوب‬‫ا‬‫الخبير‬ ‫م‬.
‫الصفحة‬18
‫الفصل‬‫الثاني‬-:‫الخبيرة‬ ‫النظم‬
‫هو‬ ‫الخبير‬ ‫النظام‬‫برنامج‬‫البشرية‬ ‫بالخبرة‬ ‫متعلقة‬ ً‫ا‬‫مهام‬ ‫لينفد‬ ‫مصمم‬‫حيث‬ ،‫تعتبر‬ ‫بعمليات‬ ‫القيام‬ ‫الخبير‬ ‫النظام‬ ‫يحاول‬
‫القرارات‬ ‫واتخاد‬ ‫الحكم‬ ‫ويتضمن‬ ‫البشر‬ ‫اختصاص‬ ‫من‬ ‫عادة‬.[7]
‫الخبراء‬ ‫يملك‬‫ا‬‫قواعد‬ ‫إلى‬ ‫عادة‬ ‫تستند‬ ‫الخبيرة‬ ‫النظم‬ ‫فإن‬ ‫لذا‬ ‫عملهم‬ ‫مجاالت‬ ‫في‬ ‫المتخصصة‬ ‫المعرفة‬ ‫من‬ ‫هائلة‬ ‫كمية‬ ‫لبشريون‬
‫المعرفة‬ ‫معلومات‬ ‫تحوي‬ ‫التي‬ ‫المعطيات‬ ‫قواعد‬ ‫من‬ ً‫ال‬‫هائ‬ ‫عدد‬ ‫تتضمن‬ ‫معرفة‬‫وقد‬ ،‫فروع‬ ‫من‬ ‫كفرع‬ ‫الخبيرة‬ ‫النظم‬ ‫نشأت‬
‫االصطناعي‬ ‫الذكاء‬.[7]
2-1‫تعريف‬‫النظ‬‫ا‬‫م‬‫الخبير‬:
‫أن‬ ‫يمكن‬‫نع‬‫ر‬‫برامج‬ ‫عن‬ ‫عبارة‬ ‫بإنها‬ ‫الخبيرة‬ ‫النظم‬ ‫ف‬‫حاسوبية‬‫ا‬ ‫آداء‬ ‫حاكي‬ُ‫ت‬‫معين‬ ‫خبرة‬ ‫مجال‬ ‫في‬ ‫البشري‬ ‫لخبير‬،‫و‬‫عن‬ ‫ذلك‬
‫خبي‬ ‫وخبرة‬ ‫معلومات‬ ‫واستخدام‬ ‫تجميع‬ ‫طريق‬‫مع‬ ‫مجال‬ ‫في‬ ‫أكثر‬ ‫أو‬ ‫ر‬‫وقد‬ ،‫ين‬،‫باالستنتاج‬ ‫فتقوم‬ ‫كاإلنسان‬ ‫تفكر‬ ‫أنها‬ ‫لتبدو‬ ‫طورت‬
‫وتؤد‬ ،‫أخطائها‬ ‫من‬ ‫التعلم‬ ‫على‬ ‫القدرة‬ ‫ولديها‬ً‫ا‬‫تدريب‬ ً‫ا‬‫مدرب‬ ‫متخصص‬ ‫عادة‬ ‫تطلب‬ ‫التي‬ ‫وخاصة‬ ،‫فائقة‬ ‫ومهارة‬ ‫بسرعة‬ ‫مهامها‬ ‫ى‬
‫يعمل‬ ‫وهو‬ ،‫مجاله‬ ‫في‬ ‫البشرى‬ ‫الخبير‬ ‫يؤديها‬ ‫التي‬ ‫المهام‬ ‫يؤدى‬ ‫الخبير‬ ‫النظام‬ ‫أن‬ ‫هذا‬ ‫ويعنى‬ ،‫الخبرة‬ ‫من‬ ‫معين‬ ‫ميدان‬ ‫في‬ ً‫ا‬‫جيد‬
‫ي‬ ‫التي‬ ‫الميادين‬ ‫إحدى‬ ‫داخل‬ ‫والمشكالت‬ ‫وحل‬ ‫القرارات‬ ‫اتخاذ‬ ‫في‬ ‫مساعدة‬ ‫كأداة‬‫الخبير‬ ‫النظام‬ ‫فيها‬ ‫عمل‬[4]
.
‫االصطناعي‬ ‫الذكاء‬ ‫تطبيقات‬ ‫إحدى‬ ‫الخبيرة‬ ‫النظم‬ ‫تعد‬Artificial Intelligence‫الخبرة‬ ‫من‬ ‫االستفادة‬ ‫في‬ ‫المستخدمة‬
‫المتعددة‬ ‫لتطبيقاته‬ ً‫ا‬‫نظر‬ ،‫األخيرة‬ ‫السنوات‬ ‫في‬ ‫ملحوظة‬ ‫أهمية‬ ‫الحديث‬ ‫العلم‬ ‫هذا‬ ‫اكتسب‬ ‫وقد‬ ،‫محددين‬ ‫أشخاص‬ ‫عند‬ ‫الموجودة‬
‫فائدة‬ ‫من‬ ‫يحققه‬ ‫ولما‬ ،‫والمعلومات‬ ‫المكتبات‬ ‫في‬ ‫وكذلك‬ ،‫والتعليم‬ ،‫والكيمياء‬ ،‫والهندسة‬ ،‫كالطب‬ ‫الحياة‬ ‫ميادين‬ ‫كافة‬ ‫في‬‫ك‬‫بيرة‬
‫الخبرة‬ ‫هذه‬ ‫من‬ ‫المستفيدين‬ ‫لجميع‬[8]
.
:‫الخبير‬ ‫النظام‬ ‫لفكرة‬ ‫توضيحيا‬ ‫مخططا‬ ‫التالي‬ ‫الشكل‬ ‫يوضح‬
‫الشكل‬(2-1)‫الخبير‬ ‫النظام‬ ‫لفكرة‬ ‫توضيحي‬ ‫مخطط‬[28]
‫أدرج‬"‫هذه‬ ،‫الخبيرة‬ ‫النظم‬ ‫بها‬ ‫تتصف‬ ‫أن‬ ‫ويجب‬ ‫الخبيرة‬ ‫للنظم‬ ‫شامال‬ ‫تعريفا‬ ‫تشكل‬ ‫مستقلة‬ ‫نقاط‬ ‫سبعة‬ "‫"براجعان‬ ‫العالم‬
‫هي‬ ‫النقاط‬[8]
:
‫الصفحة‬19
1-:‫الخبرة‬،‫الصحيحة‬ ‫النتيجة‬ ‫الى‬ ‫الوصول‬ ‫أجل‬ ‫من‬ ‫الخبير‬ ‫اإلنسان‬ ‫لدى‬ ‫الموجودة‬ ‫الخبرة‬ ‫نفس‬ ‫للنظام‬ ‫يكون‬ ‫أن‬ ‫يجب‬
‫ذلك‬ ‫في‬ ‫واالستنباط‬ ‫االستنتاج‬ ‫عمليات‬ ‫واستخدام‬ ‫مختصرة‬ ‫الحلول‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫كما‬.
2-:‫الرموز‬ ‫استخدام‬.‫المعارف‬ ‫قاعدة‬ ‫تمثيل‬ ‫يسمى‬ ‫ما‬ ‫وهو‬ ،‫الرموز‬ ‫من‬ ‫بمجموعة‬ ‫المشكلة‬ ‫مفاهيم‬ ‫تمثيل‬ ‫أي‬
3-:‫الذكاء‬.‫اإلنسان‬ ‫من‬ ‫ذكاء‬ ‫أقل‬ ‫أو‬ ‫أكثر‬ ،‫ذكيا‬ ‫تصرفا‬ ‫الخبير‬ ‫النظام‬ ‫يبدي‬ ‫أن‬ ‫يجب‬
4-:‫والتعقيد‬ ‫الصعوبة‬‫تافهة‬ ‫مشكلة‬ ‫تكون‬ ‫أن‬ ‫ال‬ ،‫بشريا‬ ‫خبيرا‬ ‫لتتطلب‬ ‫التعقيد‬ ‫من‬ ‫كافي‬ ‫بشكل‬ ‫المشكلة‬ ‫تكون‬ ‫أن‬ ‫يجب‬
‫ال‬.‫خبير‬ ‫لنظام‬ ‫تحتاج‬
5-:‫الصياغة‬‫طريق‬ ‫عن‬ ‫معالجتها‬ ‫باإلمكان‬ ‫يصبح‬ ‫لكي‬ ‫مالئمة‬ ‫صيغة‬ ‫إلى‬ ‫المطروحة‬ ‫المشكلة‬ ‫تحويل‬ ‫على‬ ‫النظام‬ ‫قدرة‬
.‫الخبير‬ ‫للنظام‬ ‫االستداللي‬ ‫باالمحرك‬ ‫الخاصة‬ ‫القواعد‬
6-:‫والتوضيح‬ ‫االستنتاج‬‫اخ‬ ‫في‬ ‫والسبب‬ ‫القرارات‬ ‫توضيح‬ ‫وعلى‬ ‫االستنتاج‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫قدرة‬‫تيا‬‫لهذه‬ ‫ره‬
.‫القرارات‬
7-:‫المشكلة‬ ‫نوع‬‫تكون‬ ‫أن‬ ‫ال‬ ،‫وخاصة‬ ‫محددة‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫حيث‬ ‫حلها‬ ‫أجل‬ ‫من‬ ‫النظام‬ ‫يهيئ‬ ‫التي‬ ‫المشكلة‬ ‫تحديد‬
.‫عامة‬
2-2:‫الخبير‬ ‫النظام‬ ‫مكونات‬
‫مكونات‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫فإن‬ ‫لذلك‬ ،‫حاسوبية‬ ‫برامج‬ ‫عبارة‬ ‫الخبير‬ ‫النظام‬ ‫فإن‬ ‫سابقا‬ ‫تبين‬ ‫كما‬‫ي‬‫مكن‬
‫التالية‬ ‫العناصر‬ ‫من‬ ‫مكونا‬ ‫الغالب‬ ‫في‬ ‫الخبير‬ ‫النظام‬ ‫يكون‬ ‫ما‬ ‫وغالبا‬ ،‫متعددة‬ ‫طرق‬ ‫وباستخدام‬ ‫برمجيا‬ ‫تصميمها‬[8]
:
-‫المعرفة‬ ‫قاعدة‬Knowledge base.
-‫االستدالل‬ ‫آلية‬Inference engine.
-‫االستخدام‬ ‫واجهة‬User Interface.
‫الشكل‬(2-2)‫الخبيرة‬ ‫النظم‬ ‫مكونات‬[25]
2-2-1‫المعرفة‬ ‫قاعدة‬Knowledge base:
‫بها‬ ‫ستتم‬ ‫التي‬ ‫والقواعد‬ ‫الحقائق‬ ‫تدعى‬ ‫معطيات‬ ‫مجموعة‬ ‫على‬ ‫تحتوي‬ ‫لبيانات‬ ‫ملفات‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫المعارف‬ ‫قاعدة‬
‫ملفات‬ ‫أو‬ ‫نصية‬ ‫ملفات‬ ‫باستخدام‬ ‫أو‬ ‫البيانات‬ ‫قواعد‬ ‫باستخدام‬ ‫المعارف‬ ‫قاعدة‬ ‫بناء‬ ‫يتم‬ ‫أن‬ ‫ويمكن‬ ،‫الحقائق‬ ‫معالجة‬XML.
،‫يحتويها‬ ‫التي‬ ‫المعرفة‬ ‫قاعدة‬ ‫ونوعية‬ ‫حجم‬ ‫بداللة‬ ‫الخبير‬ ‫النظام‬ ‫أداء‬ ‫مستوى‬ ‫يقاس‬‫من‬ ‫تتكون‬ ‫والتي‬:‫التالية‬ ‫المكونات‬
‫الصفحة‬20
-‫الحقائق‬Facts‫الخبرة‬ ‫إلى‬ ‫المستندة‬ ‫الحقائق‬ ‫من‬ ‫مجموعة‬ ‫عن‬ ‫عبارة‬ ‫وهي‬ :‫مجال‬ ‫في‬ ‫للخبراء‬ ‫والممارسة‬
‫معين‬.
-.‫االستشارة‬ ‫وتقديم‬ ‫المشكالت‬ ‫حل‬ ‫طرق‬
-‫القواعد‬‫رياضية‬ ‫صيغ‬ ‫على‬ ‫المستندة‬‫وتدعى‬ ،Rules.
:‫الطرق‬ ‫هذه‬ ‫أهم‬ ،‫طرق‬ ‫على‬ ‫اعتمادا‬ ‫المعارف‬ ‫قاعدة‬ ‫وضع‬ ‫يتم‬
1-‫ملفات‬ ‫باستخدام‬XML‫ملف‬ ‫بداخل‬ ‫والقواعد‬ ‫الحقائق‬ ‫وضع‬ ‫يتم‬ ‫حيث‬ :XML،‫معيارية‬ ‫قواعدية‬ ‫بصيغة‬ ‫مبني‬
.‫ممكنا‬ ‫امرا‬ ‫التطبيقات‬ ‫بين‬ ‫تبادله‬ ‫إمكانية‬ ‫تجعل‬
2-:‫البيانات‬ ‫قواعد‬ ‫باستخدام‬‫لمعالجتها‬ ‫الحقائق‬ ‫لهذه‬ ‫استعادة‬ ‫عمليات‬ ‫إجراء‬ ‫ويتم‬ ،‫جداول‬ ‫بداخل‬ ‫الحقائق‬ ‫تمثيل‬ ‫يتم‬ ‫حيث‬
.‫فعالة‬ ‫غير‬ ‫الطريقة‬ ‫وهذه‬ ،‫محددة‬ ‫لقواعد‬ ‫وفقا‬
3-‫عليها‬ ‫وكمثال‬ ،‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫البرمجة‬ ‫لغات‬ ‫إحدى‬ ‫باستخدام‬ ‫المعارف‬ ‫قاعدة‬ ‫إنشاء‬ ‫عملية‬ ‫تتم‬ ‫أن‬ ‫يمكن‬
‫لغة‬Prolog‫ولغة‬ ،CLIPS‫وا‬ ،‫إن‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫بقوتها‬ ‫تتميز‬ ‫لتي‬‫تمثيل‬ ‫لغات‬ ‫أشهر‬ ‫من‬ ‫تعتبر‬ ‫برولوغ‬ ‫لغة‬
‫وهي‬ ،‫المعارف‬‫الحقائق‬ ‫من‬ ‫ضخمة‬ ‫بيانات‬ ‫قاعدة‬ ‫بناء‬ ‫على‬ ‫بقدرتها‬ ‫تتمتع‬ ‫لغة‬ ‫عن‬ ‫عبارة‬facts‫معارف‬ ‫وقاعدة‬ ،
‫القوانين‬ ‫من‬Rules‫استنتاج‬ ‫من‬ ‫برولوغ‬ ‫بلغة‬ ‫المصممة‬ ‫البرامج‬ ‫وتستطيع‬ ،‫قوي‬ ‫بشكل‬ ‫بينها‬ ‫الربط‬ ‫على‬ ‫والقدرة‬
.‫إياها‬ ‫ندخلها‬ ‫التي‬ ‫المعارف‬ ‫قاعدة‬ ‫من‬ ‫األسئلة‬ ‫عن‬ ‫اإلجابة‬
2-2-2‫االستدالل‬ ‫آلية‬Inference Engine:
‫وا‬ ‫المناسبة‬ ‫والحقائق‬ ‫القواعد‬ ‫واختيار‬ ‫وترتيب‬ ‫بفرز‬ ‫تقوم‬ ‫استدالل‬ ‫وسيلة‬ ‫عن‬ ‫عبارة‬ ‫هي‬‫المعرف‬ ‫قاعدة‬ ‫في‬ ‫لمختزنة‬،‫ة‬
‫الخبير‬ ‫النظام‬ ‫على‬ ‫المعروضة‬ ‫بالمشكلة‬ ‫المتعلقة‬ ‫والبيانات‬ ‫المعلومات‬ ً‫ا‬‫مستخدم‬ ،‫للمشكلة‬ ‫حل‬ ‫إلى‬ ‫ليصل‬.[4]
‫بواضيع‬ ‫متخصصة‬ ‫برمجة‬ ‫لغات‬ ‫خالل‬ ‫من‬ ‫أو‬ ،‫المستوى‬ ‫مرتفعة‬ ‫البرمجة‬ ‫لغات‬ ‫إحدى‬ ‫باستخدام‬ ‫االستدالل‬ ‫محرك‬ ‫بناء‬ ‫يتم‬
‫مثل‬ ‫الخبيرة‬ ‫والنظم‬ ‫الصنعي‬ ‫الذكاء‬Clips‫و‬Prolog‫المحرك‬ ‫فإن‬ ‫عام‬ ‫وبشكل‬ ،‫االستدالل‬ ‫لمحركات‬ ‫مختلفة‬ ‫أنواع‬ ‫ويوجد‬ ،
‫التالية‬ ‫المحركات‬ ‫إحدى‬ ‫من‬ ‫يكون‬ ‫أن‬ ‫يمكن‬[17]
:
- Procedural Execution Engine
- Inference Engine
- Flow Engine
- Work flow Engine
- Validation Engine
- Decision Table
‫كفاءة‬ ‫ترتفع‬ ‫حيث‬ ،‫استنتاجه‬ ‫طريقة‬ ‫في‬ ‫الخبير‬ ‫النظام‬ ‫قوة‬ ‫وتكمن‬ ،‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫أهم‬ ‫إحدى‬ ‫االستدالل‬ ‫محارك‬ ‫يعتبر‬
‫كانت‬ ‫كلما‬ ‫يقدمها‬ ‫التي‬ ‫المعلومات‬.‫ومدروسة‬ ،‫متطورة‬ ‫لالستنتاج‬ ‫يستخدمها‬ ‫التي‬ ‫الطريقة‬
2-2-3‫واجهة‬‫االستخدام‬Interface User:
‫هذه‬ ‫سوى‬ ‫التطبيق‬ ‫من‬ ‫يرى‬ ‫ال‬ ‫والمستخدم‬ ،‫والمستخدم‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬ ‫بين‬ ‫الوصل‬ ‫صلة‬ ‫هي‬ ‫االستخدام‬ ‫واجهة‬
‫و‬ ‫االهتمام‬ ‫يجب‬ ‫لذا‬ ،‫الواجهة‬‫هذه‬ ‫عبر‬ ‫معه‬ ‫يتعامل‬ ‫بل‬ ،‫مباشرة‬ ‫الخبير‬ ‫النظام‬ ‫مع‬ ‫يتعامل‬ ‫ال‬ ‫المستخدم‬ ‫ألن‬ ‫وذلك‬ ‫بها‬ ‫االعتناء‬
‫مهما‬ ‫يهمه‬ ‫يعد‬ ‫ال‬ ‫الخبير‬ ‫النظام‬ ‫كل‬ ‫فإن‬ ‫المستخدم‬ ‫يريدها‬ ‫التي‬ ‫والبساطة‬ ‫السهولة‬ ‫تحقق‬ ‫ال‬ ‫الواجهة‬ ‫هذه‬ ‫كانت‬ ‫فإذا‬ ،‫الواجهة‬
‫ف‬ ‫وأساسي‬ ،‫مهم‬ ‫أمر‬ ‫الواجهة‬ ‫فبناء‬ ‫لذلك‬ ،‫ومتينا‬ ‫قويا‬ ‫كان‬.‫الخبيرة‬ ‫النظم‬ ‫ي‬
‫الصفحة‬21
‫بشكل‬ ‫له‬ ‫وتؤمنه‬ ،‫المستخدم‬ ‫يلزم‬ ‫ما‬ ‫كل‬ ‫على‬ ‫بالضرورة‬ ‫تحتوي‬ ‫أن‬ ‫يجب‬ ‫ولكن‬ ،‫شكل‬ ‫بأي‬ ‫االستخدام‬ ‫واجهة‬ ‫تكون‬ ‫أن‬ ‫يمكن‬
‫وراء‬ ‫ما‬ ‫أبدا‬ ‫يهمه‬ ‫ال‬ ،‫عادي‬ ‫شخص‬ ‫هو‬ ‫الخبير‬ ‫النظام‬ ‫من‬ ‫سيستفيد‬ ‫الذي‬ ‫الشخص‬ ‫أن‬ ‫والسبب‬ ،‫تعقيد‬ ‫دون‬ ‫من‬ ‫وبسيط‬ ‫سلس‬
‫الت‬ ‫الطريقة‬ ‫يهمه‬ ‫ولكن‬ ،‫التطبيق‬:‫خيارات‬ ‫عدة‬ ‫من‬ ‫واحدة‬ ‫المستخدم‬ ‫واجهة‬ ‫تكون‬ ‫أن‬ ‫يمكن‬ ‫ولذلك‬ ،‫النظام‬ ‫هذا‬ ‫مع‬ ‫بها‬ ‫يتفاعل‬ ‫ي‬
1-.‫عليها‬ ‫يجيب‬ ‫وهو‬ ،‫المستخدم‬ ‫على‬ ‫بطرحها‬ ‫النظام‬ ‫يقوم‬ ،‫محددة‬ ‫أجوبة‬ ‫على‬ ‫تحتوي‬ ‫أسئلة‬ ‫تكون‬ ‫قد‬
2-.‫رسومية‬ ‫شاشة‬ ‫أو‬ ،‫قوائم‬ ‫عن‬ ‫عبارة‬ ‫تكون‬ ‫قد‬
3-‫المستخدم‬ ‫فيه‬ ‫يقوم‬ ،‫متطور‬ ‫بشكل‬ ‫تكون‬ ‫أن‬ ‫يمكن‬‫ثم‬ ‫أوال‬ ‫النص‬ ‫بفهم‬ ‫النظام‬ ‫ويقوم‬ ،‫طبيعية‬ ‫بلغة‬ ‫المشكلة‬ ‫بكتابة‬
.‫المستخدم‬ ‫مراد‬ ‫لمعرفة‬ ‫تحليله‬
‫الشكل‬(2-3)‫الخبير‬ ‫النظام‬ ‫في‬ ‫توجد‬ ‫أن‬ ‫يمكن‬ ‫التي‬ ‫للمكونات‬ ‫عام‬ ‫مخطط‬[4]
2-3:‫الخبير‬ ‫النظام‬ ‫خواص‬
‫ال‬ ‫الذين‬ ‫العلماء‬ ‫بعض‬ ‫يوجد‬‫يصنفون‬،‫ذكي‬ ‫نظام‬ ‫بأنه‬ ‫الخبير‬ ‫النظام‬‫ل‬ ‫وذلك‬‫كونه‬‫فقط‬ ‫معارف‬ ‫قاعدة‬ ‫على‬ ‫يعتمد‬،‫حيث‬
‫التفسير‬ ‫على‬ ‫القدرة‬ ‫النظام‬ ‫هذا‬ ‫يمتلك‬ ‫أن‬ ‫يجب‬ ‫بل‬ ،‫خبير‬ ‫نظام‬ ‫هو‬ ‫المعرفة‬ ‫قاعدة‬ ‫إلى‬ ‫يستند‬ ‫نظام‬ ‫كل‬ ‫ليس‬ ‫أنه‬ ‫إلى‬ ‫ننتبه‬ ‫أن‬ ‫يجب‬
‫والتح‬ ‫والتحليل‬ ‫التفسير‬ ‫عملية‬ ‫في‬ ‫الخبير‬ ‫اإلنسان‬ ‫يفعل‬ ‫كما‬ ‫إضافية‬ ‫معلومات‬ ‫وطلب‬ ،‫القرارات‬ ‫إلى‬ ‫للوصول‬ ‫واالستنتاج‬‫ر‬‫ي‬
‫أكيدة‬ ‫غير‬ ‫أو‬ ‫كاملة‬ ‫غير‬ ‫الحقائق‬ ‫فيها‬ ‫تكون‬ ‫التي‬ ‫المجاالت‬ ‫في‬ ‫وخاصة‬[1]
.
:‫يلي‬ ‫بما‬ ‫نجملها‬ ‫أن‬ ‫يمكن‬ ‫الخبير‬ ‫النظام‬ ‫خواص‬ ‫فإن‬ ‫عام‬ ‫وبشكل‬
-‫ر‬ ّ‫مطو‬ ‫أو‬ ‫عادي‬ ‫مستخدم‬ ‫سواء‬ ‫مستخدم‬ ‫ألي‬ ‫االستخدام‬ ‫سهلة‬.
-‫مباشرة‬ ‫وغير‬ ‫مباشرة‬ ‫بطريقة‬ ‫الخبراء‬ ‫من‬ ‫التعلم‬ ‫على‬ ‫قادرة‬.
-‫تفسير‬ ‫على‬ ‫قادرة‬‫إليها‬ ‫الوصول‬ ‫طريقة‬ ‫توضيح‬ ‫مع‬ ‫إليها‬ ‫تتوصل‬ ‫حلول‬ ‫أي‬.
-.‫تتذبذب‬ ‫ال‬ ‫ثابت‬ ‫واستشاري‬ ‫علمي‬ ‫بمستوى‬ ‫تعمل‬
-‫المتخصصين‬ ‫غير‬ ‫تعليم‬ ‫على‬ ‫قادرة‬‫البسيطة‬ ‫الخبرة‬ ‫ذوي‬.
-. ‫معين‬ ‫بمجال‬ ‫الخاصة‬ ‫المعارف‬ ‫من‬ ‫هائلة‬ ‫كميات‬ ‫تمثيل‬ ‫بناؤها‬ ‫يتطلب‬
-‫في‬ ‫المعقدة‬ ‫وكذلك‬ ‫البسيطة‬ ‫لألسئلة‬ ‫االستجابة‬ ‫على‬ ‫قادرة‬‫التطبيق‬ ‫حدود‬.
‫لكي‬ ‫األشخاص‬ ‫بعض‬ ‫جهود‬ ‫تضافر‬ ‫إلى‬ ‫يحتاج‬ ‫الخبير‬ ‫النظام‬ ‫إن‬‫ي‬:‫هم‬ ‫األشخاص‬ ‫هؤالء‬ ،‫الكاملة‬ ‫الحالة‬ ‫على‬ ‫ظهر‬
‫الصفحة‬22
1-‫المعارف‬ ‫قاعدة‬ ‫من‬ ‫بالقراءة‬ ‫تقوم‬ ‫التي‬ ‫والعمليات‬ ،‫االستنتاج‬ ‫آلية‬ ‫وووضع‬ ،‫النظام‬ ‫بتصميم‬ ‫يقوم‬ ‫والذي‬ ‫النظام‬ ‫مهندس‬
.‫فيها‬ ‫والحفظ‬
2-‫الذي‬ ‫الشخص‬ ‫وهو‬ :‫الخبير‬.‫النظام‬ ‫ضمن‬ ‫إدخالها‬ ‫المراد‬ ‫الخبرة‬ ‫يمتلك‬
3-.‫الخبير‬ ‫النظام‬ ‫يفهمها‬ ‫رموز‬ ‫إلى‬ ،‫الخبير‬ ‫الشخص‬ ‫خبر‬ ‫بتحويل‬ ‫يقوم‬ ‫الذ‬ ‫الشخص‬ ‫وهو‬ :‫المعرفة‬ ‫مهندس‬
4-.‫الخبير‬ ‫النظام‬ ‫من‬ ‫يستفيد‬ ‫الذي‬ ‫الشخص‬ ‫وهو‬ :‫المستخدم‬
‫الشكل‬(2-4)‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫بين‬ ‫التواصل‬ ‫طريقة‬[4]
2-4‫النظ‬ ‫استخدامات‬‫ام‬:‫الخبير‬
:‫مثل‬ ‫والمجاالت‬ ‫الميادين‬ ‫من‬ ‫واسع‬ ‫نطاق‬ ‫في‬ ‫الخبيرة‬ ‫النظم‬ ‫استخدمت‬
-.‫األمراض‬ ‫وتشخيص‬ ‫الطب‬
-.)‫والبرية‬ ‫والبحرية‬ ‫الجوية‬ ‫الرحالت‬ ‫وتنظيم‬ ‫(تخطيط‬ ‫السياحة‬
-.)‫الجوية‬ ‫األحوال‬ ‫تحديد‬ ( ‫الطقس‬
-‫األسواق‬ ‫(تحليل‬ ‫التجارة‬-.)‫القرارات‬ ‫اتخاذ‬ ‫في‬ ‫األعمال‬ ‫رجال‬ ‫مساعدة‬
-‫الصناعة‬.)‫التصنيع‬ ‫خطوات‬ ‫(مراقبة‬
-‫المعارك‬ ‫نشوب‬ ‫وقت‬ ‫القرارات‬ ‫(اتخاذ‬ ‫العسكرية‬ ‫العلوم‬-.)‫الخطط‬ ‫وإعداد‬ ‫المواقف‬ ‫تحليل‬
.‫الجيولوجيا‬ ،‫اإللكترونيات‬ ،‫الفضاء‬ ،‫الكيمياء‬ ،‫الزراعة‬ ‫مثل‬ ‫الخبيرة‬ ‫النظم‬ ‫فيها‬ ‫طبقت‬ ‫أخرى‬ ‫مجاالت‬ ‫إلى‬ ‫باإلضافة‬
‫الصفحة‬23
2-5‫النظ‬ ‫ميزات‬‫الخبير‬ ‫ام‬:
،‫الشركات‬ ‫وباألخص‬ ،‫عليها‬ ‫الحصول‬ ‫إلى‬ ‫الناس‬ ‫تدفع‬ ‫التي‬ ‫المميزات‬ ‫من‬ ‫بالعديد‬ ‫الخبيرة‬ ‫النظم‬ ‫تتميز‬‫ي‬ ‫حيث‬‫العلماء‬ ‫قوم‬
‫أهمها‬ ،‫األمور‬ ‫من‬ ‫مجموعة‬ ‫لذلك‬ ‫ويدفعهم‬ ،‫النظم‬ ‫هذه‬ ‫بتصميم‬[7]
:
-‫اإلنقراض‬ ‫أو‬ ‫اإلندثار‬ ‫من‬ ‫والمعرفة‬ ‫بالخبرة‬ ‫اإلحتفاظ‬،‫ا‬ ‫الكثيرة‬ ‫الهامة‬ ‫التخصصات‬ ‫في‬ ً‫ا‬‫وخصوص‬‫إلس‬‫تخدام‬
‫النادرة‬ ‫أو‬.
-‫المشاكل‬ ‫حل‬،‫والجهد‬ ‫المال‬ ‫و‬ ‫الوقت‬ ‫يحفظ‬ ‫مما‬.
-‫الخبير‬ ‫النظام‬ ‫تطبيق‬ ‫مجال‬ ‫في‬ ‫الخبراء‬ ‫زيادة‬.
-‫البشر‬ ‫الخبراء‬ ‫على‬ ‫االعتماد‬ ‫تقليص‬.
-‫الخاصة‬ ‫المعرفة‬ ‫في‬ ‫الخبرة‬ ‫اكتساب‬ ‫من‬ ‫المستخدم‬ ‫تمكن‬ ‫التي‬ ‫الخبرات‬ ‫من‬ ‫عالي‬ ‫مستوى‬ ‫الخبيرة‬ ‫النظم‬ ‫توظف‬
‫الخبير‬ ‫بالنظام‬.
-‫والملل‬ ‫بالتعب‬ ‫الشعور‬ ‫من‬ ‫التخلص‬.‫الروتينية‬ ‫األمور‬ ‫بعض‬ ‫في‬
2-6‫عيوب‬‫النظ‬‫ا‬‫الخبير‬ ‫م‬:
‫أهمها‬ ،‫أمور‬ ‫لعدة‬ ‫يعود‬ ‫ذلك‬ ‫في‬ ‫السبب‬ ‫إن‬ ،‫وجودها‬ ‫نالحظ‬ ‫ال‬ ‫أننا‬ ‫إال‬ ‫الخبيرة‬ ‫للنم‬ ‫العظيمة‬ ‫الفوائد‬ ‫من‬ ‫بالرغم‬[𝟕]
:
-‫التقليدية‬ ‫بالتطبيقات‬ ‫مقارنة‬ ‫عالية‬ ‫تكلفة‬ ‫ذات‬.
-‫محدود‬ ‫تطبيقها‬ ‫نظام‬‫المتكاملة‬ ‫المعلومات‬ ‫واسترجاع‬ ‫اإلدارية‬ ‫النظم‬ ‫في‬.
-‫المرونة‬ ‫افتقاد‬.
-‫متعمقة‬ ‫تفسيرات‬ ‫إعطاء‬ ‫على‬ ‫القدرة‬ ‫عدم‬.
-‫والتثبت‬ ‫التحقق‬ ‫صعوبات‬.
-‫الخبرة‬ ‫من‬ ‫الضئيل‬ ‫التعلم‬.
‫الصفحة‬24
‫الفصل‬‫الثالث‬:
‫لغ‬‫ة‬XML‫تمثيل‬ ‫وطرق‬
‫المعارف‬
:‫الفصل‬ ‫هذا‬ ‫في‬
›‫الموسعة‬ ‫الترميز‬ ‫لغة‬XML.
›‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬XML.
›‫أشهر‬‫المعارف‬ ‫تمثيل‬ ‫معايير‬‫الخبيرة‬ ‫للنظم‬.
›‫معيار‬RULEML.
‫الصفحة‬25
‫الفصل‬‫لغة‬ :‫الثالث‬XML‫المعارف‬ ‫تمثيل‬ ‫وطرق‬:
،‫يحتويها‬ ‫التي‬ ‫المعرفة‬ ‫قاعدة‬ ‫ونوعية‬ ‫حجم‬ ‫بداللة‬ ‫الخبير‬ ‫النظام‬ ‫أداء‬ ‫مستوى‬ ‫يقاس‬‫بالطر‬ ‫االهتمام‬ ‫يتم‬ ‫أن‬ ‫المهم‬ ‫من‬ ‫لذلك‬‫يقة‬
‫لغة‬ ‫عن‬ ‫الفصل‬ ‫هذا‬ ‫في‬ ‫سنتحدث‬ ،‫الخبير‬ ‫النظام‬ ‫أداء‬ ‫كل‬ ‫عليها‬ ‫سيبنى‬ ‫حيث‬ ،،‫المعرفة‬ ‫تمثيل‬ ‫بها‬ ‫يتم‬ ‫التي‬XML‫المستخدمة‬
.‫المعارف‬ ‫لتمثيل‬ ‫الخبير‬ ‫النظم‬ ‫في‬ ‫المستخدمة‬ ‫الطرق‬ ‫أهم‬ ‫عن‬ ‫الحديث‬ ‫إلى‬ ‫باإلضافة‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬
3-1‫الموسعة‬ ‫الترميز‬ ‫لغة‬XML:
‫لغة‬‫الترميز‬‫الموسعة‬eXtensible Markup Language‫باالختصار‬ ‫لها‬ ‫يرمز‬ ‫التي‬XML‫برمجة‬ ‫لغة‬ ‫ليست‬ ‫هي‬ ،
‫وتنظيم‬ ‫وتخزين‬ ‫وصف‬ ‫في‬ ‫تستخدم‬ ‫لغة‬ ‫وإنما‬‫بخالف‬ ‫البيانات‬‫لغة‬HTML‫التي‬‫عرض‬ ‫بها‬ ‫يتم‬ ‫التي‬ ‫الكيفية‬ ‫لتحديد‬ ‫تستخدم‬
‫كلي‬ ‫ولكن‬ ،‫المتصفح‬ ‫على‬ ‫البيانات‬‫بـ‬ ‫المسماة‬ ‫األم‬ ‫اللغة‬ ‫عن‬ ‫ينحدر‬ ‫هما‬SGML‫عام‬ ‫في‬ ‫مرة‬ ‫ألول‬ ‫ظهرت‬ ‫والتي‬1960‫أي‬
‫اإلنترنت‬ ‫عبر‬ ‫المتبادلة‬ ‫َّة‬‫ي‬‫اإللكترون‬ ‫والرسائل‬ ‫المستندات‬ ‫وتنسيق‬ ‫ترميز‬ ‫على‬ ‫لتساعد‬ ،‫بكثير‬ ‫الويب‬ ‫ظهور‬ ‫قبل‬[10]
.
3-1-1‫لغة‬ ‫مميزات‬XML:
‫لغة‬ ‫تتميز‬XML‫كـ‬ ‫الترميز‬ ‫لغات‬ ‫عائلة‬ ‫بها‬ ‫تتميز‬ ‫التي‬ ‫نفسها‬ ‫بالصفات‬HTML‫المثلثة‬ ‫األقواس‬ ‫ذات‬ ‫وسومها‬ ‫وهي‬
‫بالشجرة‬ ‫الشبيهة‬ ‫وبهيكليتها‬ ،> <TreeLike Structure‫ال‬ ‫أنها‬ ‫إلى‬ ‫باإلضافة‬ ،
‫برموز‬ ‫النصوص‬ ‫ترميز‬ ‫على‬ ‫تنحصر‬ ‫ووظيفتها‬ ،‫عمليات‬ ‫أو‬ ‫أوامر‬ ‫على‬ ‫تحتوي‬
‫أو‬ ‫المتصفحات‬ ‫جميع‬ ‫تفهمها‬ ‫معينة‬.‫معها‬ ‫للتعامل‬ ‫المخصصة‬ ‫البرامج‬
‫لغة‬ ‫صممت‬ ‫وقد‬XML‫يسمى‬ ‫ما‬ ‫باستخدام‬ ‫البيانات‬ ‫لوصف‬XML tags‫وهي‬
‫تمثيل‬ ‫طريقة‬ ‫تعريف‬ ‫المبرمج‬ ‫عاتق‬ ‫على‬ ‫يقع‬ ‫أي‬ ‫مسبقا‬ ‫معرفة‬ ‫ليست‬ ‫جمل‬ ‫عن‬ ‫عبارة‬
.‫بها‬ ‫تتمتع‬ ‫التي‬ ‫المرونة‬ ‫تظهر‬ ‫هنا‬ ‫ومن‬ ‫الوسوم‬ ‫هذه‬
‫تستخدم‬XML‫تدعى‬ ‫البيانات‬ ‫لوصف‬ ‫طريقة‬Document Type
Definition(DTD)‫لغة‬ ‫منها‬ ‫ظهر‬ ‫وقد‬ ،‫بنفسها‬ ‫نفسها‬ ‫لتصف‬ ‫صممت‬ ‫وهي‬XHTML‫الـ‬ ‫عن‬ ‫البديلة‬HTML‫والتي‬
‫من‬ ‫تتكون‬DTD.‫عالميا‬ ‫ونشره‬ ‫توصيفه‬ ‫تم‬ ‫مخصص‬
.‫الترميز‬ ‫لغات‬ ‫ألهم‬ ‫العائلة‬ ‫شجرة‬ ‫األسفل‬ ‫في‬ ‫الصورة‬ ‫في‬ ‫تظهر‬
‫الشكل‬(3-1)‫الترميز‬ ‫لغات‬ ‫أهم‬ ‫شجرة‬[25]
3-1-2‫وظائف‬XML:‫الويب‬ ‫في‬
‫الصفحة‬26
‫أهمية‬ ‫ظهرت‬XML‫بين‬ ‫خاصة‬ ‫مرن‬ ‫وبشكل‬ ،‫بسرعة‬ ‫البيانات‬ ‫لنقل‬ ‫منها‬ ‫االستفادة‬ ‫تم‬ ‫حيث‬ ‫واضح‬ ‫بشكل‬ ‫الويب‬ ‫في‬
‫الويب‬ ‫تطبيقات‬Web Applications،‫و‬‫لغة‬ ‫وظائف‬ ‫تصنيف‬ ‫يمكن‬XML‫إلى‬ ‫الويب‬ ‫مجال‬ ‫في‬3:‫تصنيفات‬
1-‫لغة‬ ‫من‬ ‫االستفادة‬XML:‫ًا‬‫ب‬‫غال‬ ‫وجهين‬ ‫على‬ ‫تكون‬ ‫االستفادة‬ ‫وهذه‬ ،‫واحد‬ ‫موقع‬ ‫ضمن‬
-‫الـ‬ ‫ملفات‬ ‫استخدام‬XML‫بيانات‬ ‫كقاعدة‬:‫مستندات‬ ‫استخدام‬ ‫طريق‬ ‫عن‬ ‫إما‬XML‫تحويل‬ ‫أو‬ ،‫البيانات‬ ‫لتخزين‬
‫قواعد‬ ‫ن‬ ّ‫تكو‬ ‫أن‬ ‫يمكن‬ ‫وكلتاهما‬ ،‫التطبيقات‬ ‫إحدى‬ ‫استخدام‬ ‫طريق‬ ‫عن‬ ‫بيانات‬ ‫قواعد‬ ‫إلى‬ ‫المستندات‬ ‫من‬ ‫مجموعة‬
‫ع‬ ‫بيانات‬‫الئقية‬.
-‫ملفات‬ ‫تحويل‬XML‫مثل‬ ‫أخرى‬ ‫ملفات‬ ‫إلى‬CSS‫أو‬Text Files.‫وغيرها‬
2-‫لغة‬ ‫من‬ ‫االستفادة‬XML:‫فأكثر‬ ‫موقعين‬ ‫بين‬ ‫البيانات‬ ‫تبادل‬ ‫عند‬
‫لغة‬ ‫عبر‬ ‫يتم‬ ‫والذي‬XML‫ملفات‬ ‫طريق‬ ‫عن‬ ‫ا‬ّ‫م‬‫إ‬RSS‫ملفات‬ ‫أو‬XML. ‫أخرى‬
3-‫لغة‬ ‫من‬ ‫االستفادة‬XML‫بين‬ ‫أو‬ ،‫والكومبيوتر‬ ‫الموبايل‬ ‫مثل‬ ‫المختلفة‬ ‫والتطبيقات‬ ‫األجهزة‬ ‫بين‬ ‫البيانات‬ ‫تبادل‬ ‫عند‬
‫الويب‬ ‫على‬ ‫وآخر‬ ‫الموبايل‬ ‫على‬ ‫تطبيق‬[7]
.
‫الشكل‬(3-2)‫لغة‬ ‫استخدام‬ ‫مجاالت‬[25]
XML
3-1-3‫لملف‬ ‫الهيكلية‬ ‫البنية‬XML:
‫ملف‬ ‫هيكلية‬ ‫إن‬XML‫بالشجرة‬ ‫الشبيهة‬ ‫الهيكلية‬ ‫تدعى‬Treelike Structure‫البيانات‬ ‫تنظيم‬ ‫أشكال‬ ‫أشهر‬ ‫إحدى‬ ‫وهي‬ ،
‫وحدات‬ ‫في‬ ‫البيانات‬ ‫تخزن‬ ‫حيث‬ ،‫الحاسوب‬ ‫في‬Nodes‫الجذر‬ ‫من‬ ‫تبدأ‬ ،‫البعض‬ ‫بعضها‬ ‫عن‬ ‫متفرعة‬Root‫جميع‬ ‫يحمل‬ ‫الذي‬
‫باألوراق‬ ‫وتنتهي‬ ،‫األخرى‬ ‫الوحدات‬Leaves‫االسم‬ ‫جاء‬ ‫هنا‬ ‫ومن‬ ،‫وحدات‬ ‫أي‬ ‫عنها‬ ‫تتفرع‬ ‫ال‬ ‫التي‬treelike structure،
‫غ‬‫في‬ ‫أوراقها‬ ‫تكون‬ ‫بينما‬ ‫األسفل‬ ‫في‬ ‫يكون‬ ‫الحقيقية‬ ‫الشجرة‬ ‫جذر‬ ّ‫أن‬ ‫هو‬ ‫البيانات‬ ‫وشجرة‬ ‫ّة‬‫ي‬‫الحقيق‬ ‫الشجرة‬ ‫بين‬ ‫الفرق‬ ‫أن‬ ‫ير‬
.‫األسفل‬ ‫في‬ ‫األوراق‬ ‫وتكون‬ ‫األعلى‬ ‫في‬ ‫يكون‬ ‫البيانات‬ ‫شجرة‬ ‫جذر‬ ‫لكن‬ ،‫األعلى‬
‫وحد‬ ‫من‬ ‫أكثر‬ ‫تحمل‬ ‫أن‬ ‫من‬ ‫حرج‬ ‫يوجد‬ ‫وال‬ ،‫به‬ ‫تعرف‬ ‫اسما‬ ‫الوحدات‬ ‫هذه‬ ‫من‬ ‫وحدة‬ ‫ولكل‬‫الوحدات‬ ‫إلى‬ ‫فالوصول‬ ،‫االسم‬ ‫نفس‬ ‫ة‬
.‫إليها‬ ‫لتصل‬ ‫تعبره‬ ‫الذي‬ ‫المسار‬ ‫على‬ ‫يعتمد‬ ‫بل‬ ،‫فقط‬ ‫اسمها‬ ‫على‬ ‫يعتمد‬ ‫ال‬
:‫هي‬ ‫القواعد‬ ‫هذه‬ ،‫القواعد‬ ‫من‬ ‫مجموعة‬ ‫وتحكمها‬ ، ‫وراثيا‬ ‫نهجا‬ ‫تنتهج‬ ‫البيانات‬ ‫وشجرة‬
‫الصفحة‬27
-‫والجذر‬ ،‫أقل‬ ‫وال‬ ‫جذر‬ ‫من‬ ‫أكثر‬ ‫لها‬ ‫يكون‬ ‫أن‬ ‫للشجرة‬ ‫يمكن‬ ‫ال‬ ،‫فقط‬ ‫واحد‬ ‫جذر‬ ‫شجرة‬ ّ‫ل‬‫لك‬‫التي‬ ‫الوحيدة‬ ‫الوحدة‬ ‫هو‬
.‫عنه‬ ‫تتفرع‬ ‫أب‬ ‫لها‬ ‫ليس‬
-‫أبناء‬ ‫تصبح‬ ‫ما‬ ‫وحدة‬ ‫عن‬ ‫تتفرع‬ ‫التي‬ ‫الوحدات‬ ‫كل‬Childrens‫أب‬ ‫بمثابة‬ ‫الوحدة‬ ‫هذه‬ ‫وتصبح‬ ،‫لها‬Parent‫لهذه‬
.‫الوحدات‬
-‫أحفادا‬ ‫يصبحون‬ ‫األبناء‬ ‫أبناء‬descendants.‫األب‬ ‫للوحدة‬
-‫األسالف‬ ‫أو‬ ‫باألجداد‬ ‫يعرفون‬ ‫اآلباء‬ ‫آباء‬ancestors.‫االبن‬ ‫للوحدة‬
-‫باإلخوة‬ ‫تسمى‬ ‫نفسه‬ ‫األب‬ ‫عن‬ ‫تتفرع‬ ‫تي‬َّ‫ل‬‫ا‬ ‫الوحدات‬Siblings.
‫كود‬ ‫كتابة‬ ‫وكيفية‬ ،‫الشجرة‬ ‫فكرة‬ ‫ولتوضيح‬XML‫الـ‬ ‫ملف‬ ‫أن‬ ‫نالحظ‬ ،‫األسفل‬ ‫في‬ ‫التالي‬ ‫المثال‬ ‫لنأخذ‬XML:‫بالسطر‬ ‫يبدأ‬
<?xml version="1.0" encoding="utf-8" ?>
‫بصيغة‬ ‫مكتوب‬ ‫الملف‬ ‫هذا‬ ‫أن‬ ‫يعني‬ ‫وهو‬XML،:‫الشجرة‬ ‫تشكيل‬ ‫عملية‬ ‫تبدأ‬ ‫ثم‬ ‫ومن‬
‫الكود‬(3-1)‫كود‬ ‫عن‬ ‫مثال‬XML
3-2‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬XML:
‫لغة‬ ‫تعتبر‬XML‫التي‬ ‫الشجرية‬ ‫وبنيتها‬ ،‫التعامل‬ ‫في‬ ‫ومرونة‬ ‫قوة‬ ‫من‬ ‫تتميز‬ ‫لما‬ ‫وذلك‬ ،‫المعارف‬ ‫لتمثيل‬ ‫طريقة‬ ‫أشهر‬
.‫البحث‬ ‫قيد‬ ‫الخبير‬ ‫للنظام‬ ‫المعرفة‬ ‫تمثيل‬ ‫طريقة‬ ‫يحدد‬ ‫معيار‬ ‫وضع‬ ‫يتم‬ ‫ما‬ ‫وغالبا‬ ،‫سهل‬ ‫أمر‬ ‫المعارف‬ ‫تمثيل‬ ‫عملية‬ ‫من‬ ‫تجعل‬
3-2-1‫لملفات‬ ‫المعايير‬ ‫وصف‬XML:
[2]
‫الـ‬ ‫معيار‬ ‫توضيح‬ ‫يتم‬XML‫ملفات‬ ‫ضمن‬ ‫المراد‬Document Type Definitions (DTDs)‫الطريقة‬ ‫وهي‬
‫لغة‬ ‫خالل‬ ‫من‬ ‫يتم‬ ‫المعيار‬ ‫وصف‬ ‫فإن‬ ‫اآلن‬ ‫بينما‬ ،‫األقدم‬ ‫ولكن‬ ‫األشهر‬XSD‫مرافقة‬ ‫ملفات‬ ‫لكتابة‬ ‫لغة‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫والتي‬
‫لملفات‬XML‫الـ‬ ‫عناصر‬ ‫بواسطتها‬ ‫ف‬ ّ‫نعر‬ ،XML‫بتحديد‬‫و‬ ‫شروط‬ ‫ووضع‬ ‫بياناتها‬ ‫ونوع‬ ‫نوعها‬‫الملفات‬ ‫وهي‬ ،‫لها‬ ‫قواعد‬
‫ملفات‬ ‫عن‬ ‫البديلة‬DTD.‫الهدف‬ ‫لهذا‬ ‫سابقا‬ ‫تستخدم‬ ‫كانت‬ ‫التي‬
XML example
<?xml version="1.0" encoding="utf-8" ?>
<A attribute_name="value">
<B1 parent="A" >
</B1>
<B2 parent="A">
<C1>
<D1></D1>
<D2>Tareq</D2>
</C1>
<C2>XML</C2>
</B2>
</A>
‫الصفحة‬28
‫باستخدام‬ ‫المعايير‬ ‫تقييس‬ ‫عملية‬ ‫إن‬XML‫في‬ ‫خاصة‬ ،‫عديدة‬ ‫وفوائد‬ ‫مرونة‬ ‫من‬ ‫تؤمنه‬ ‫لما‬ ‫إليها‬ ‫الحاجة‬ ‫وظهرت‬ ‫للغاية‬ ‫مهمة‬
‫حين‬ ،‫خاص‬ ‫بسكل‬ ‫المعارف‬ ‫لقواعد‬ ‫المعايير‬ ‫تقييس‬ ‫فائدة‬ ‫ظهرت‬ ‫الخبيرة‬ ‫النظم‬ ‫مجال‬ ‫وفي‬ ،‫المعارف‬ ‫وتمثيل‬ ‫الويب‬ ‫مجاالت‬
‫التط‬ ‫وانتشرت‬ ،‫الصنعي‬ ‫الذكاء‬ ‫تطبيقات‬ ‫وفي‬ ‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫المعرفة‬ ‫مفهوم‬ ‫انتشر‬‫أمن‬ ‫حيث‬ ،‫بها‬ ‫الخاصة‬ ‫بيقات‬‫عملية‬ ‫ت‬
‫أهم‬ ،‫ممكنا‬ ‫أمرا‬ ‫المعرفة‬ ‫هذه‬ ‫تبادل‬ ‫إمكانية‬ ‫تجعل‬ ‫موحدة‬ ‫بصيغة‬ ‫المعارف‬ ‫كتابة‬ ‫عملية‬ ‫توحيد‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬ ‫تقييس‬
:‫المعارف‬ ‫لتمثيل‬ ‫المعايير‬ ‫تقييس‬ ‫أمنتها‬ ‫التي‬ ‫الفوائد‬ ‫هذه‬
-.‫ثابتة‬ ‫قواعد‬ ‫على‬ ‫ومتعتمدة‬ ‫رسمية‬ ‫التخزين‬ ‫طريقة‬ ‫جعل‬
-‫إمكانية‬.‫الصنعي‬ ‫بالذكاء‬ ‫الخاصة‬ ‫اللغات‬ ‫وبين‬ ‫المتعددة‬ ‫الصنعي‬ ‫الذكاء‬ ‫تطبيقات‬ ‫بين‬ ‫المعرفة‬ ‫تبادل‬
-..‫وغيرها‬ ،‫التطبيقات‬ ‫ونظم‬ ،‫البيانات‬ ‫وقواعد‬ ،‫المعرفة‬ ‫قواعد‬ ‫بين‬ ‫والدمج‬ ‫التمازج‬ ‫إمكانية‬
‫الشكل‬(3-3)‫المعايير‬ ‫تمثيل‬ ‫طريقة‬[2]
‫معيار‬ ‫وثيقة‬ ‫إن‬XML‫تكون‬ ‫أن‬ ‫وهي‬ ‫اثنين‬ ‫أمرين‬ ‫تحكمها‬‫التكوين‬ ‫جيدة‬Well-Formed‫وصالحة‬ ،valid‫يعتبر‬ ‫حيث‬ ،
‫ملف‬XML‫إذا‬ ‫صالحا‬‫الـ‬ ‫تعريف‬ ‫مع‬ ‫المطابقة‬ ‫عملية‬ ‫حقق‬XML‫ملف‬ ‫ضمن‬ ‫والموصوف‬ ‫له‬ ‫الموافق‬‫الخاص‬ ‫التعريف‬
‫المستخدمة‬ ‫الوثائق‬ ‫بهيكلية‬‫الـ‬ ‫(ملف‬DTD‫وثائق‬ ‫تكون‬ ‫بينما‬ ،)XML‫شروط‬ ‫مجموعة‬ ‫تحقق‬ ‫أن‬ ‫يجب‬ ‫فإنها‬ ‫التكوين‬ ‫جيدة‬
:‫هي‬
1-‫بإعالن‬ ‫الوثيقة‬ ‫تبدأ‬ ‫أن‬ ‫يجب‬XML‫أو‬XML Decleration:‫التالي‬ ‫بالشكل‬
<?xml version="1.0" encoding="utf-8" ?>
2-‫جذر‬ ‫عنصر‬ ‫يوجد‬root element‫العنصر‬ ‫يتواجد‬ ‫أن‬ ‫يجب‬ ‫آخر‬ ‫بمعنى‬ ‫أو‬ ،‫األخرى‬ ‫العناصر‬ ‫جميع‬ ‫يحتوي‬
.‫الوثيقة‬ ‫هيكلية‬ ‫بوصف‬ ‫يقوم‬ ‫الذي‬ ‫األساسي‬
3-‫لغة‬XML‫متداخل‬ ‫بشكل‬ ‫أخرى‬ ‫عناصر‬ ‫داخل‬ )‫عناصر(وسوم‬ ‫بتضمين‬ ‫للمستخدم‬ ‫تسمح‬ ‫ال‬overlap‫يجب‬ ‫حيث‬ ،
‫في‬ ‫الذي‬ ‫الوسم‬ ‫إغالق‬ ‫يتوجب‬ ‫آخر‬ ‫وسم‬ ‫بداخل‬ ‫وسم‬ ‫فتح‬ ‫تم‬ ‫وإذا‬ ،‫آخر‬ ‫بعنصر‬ ‫البدء‬ ‫قبل‬ ‫عنصر‬ ‫كل‬ ‫عالمات‬ ‫إقفال‬
.‫الخارجي‬ ‫الوسم‬ ‫إغالق‬ ‫قبل‬ ‫الداخل‬
4-‫هي‬ ‫وهذه‬ ،‫إغالق‬ ‫وسم‬ ‫فتح‬ ‫وسم‬ ‫لكل‬ ‫يكون‬ ‫أن‬ ‫يتوجب‬‫بين‬ ‫ة‬ّ‫م‬‫الها‬ ‫النحوية‬ ‫الفروقات‬ ‫إحدى‬XML‫و‬HTML،
‫ففي‬HTML‫وسوم‬ ‫مثل‬ ‫إغالقه‬ ‫بدون‬ ‫وسم‬ ‫فتح‬ ‫نستطيع‬<img>‫و‬<br/>.
5-‫الرموز‬ ‫تستخدم‬ ‫أن‬ ‫يجب‬<‫و‬&.‫مكونات‬ ‫أو‬ ‫جديدة‬ ‫بوسوم‬ ‫للبدأ‬ ‫فقط‬
6-‫تعريف‬ ‫يمكن‬5‫ملف‬ ‫ضمن‬ ‫التعريف‬ ‫مسبقة‬ ‫لمراجع‬ ‫مكونات‬XML.
7-‫الرمز‬ ‫على‬ ‫إغالق‬ ‫وسم‬ ‫كل‬ ‫يحتوي‬ ‫أن‬ ‫يجب‬/>.
‫الصفحة‬29
3-2-2‫باستخدام‬ ‫المعيار‬ ‫توصيف‬DTDs:
[2]
‫الـ‬ ‫ملف‬ ‫فإن‬ ‫قلنا‬ ‫كما‬DTD‫الـ‬ ‫ملف‬ ‫كتابة‬ ‫إن‬ ،‫وضعه‬ ‫المراد‬ ‫المعيار‬ ‫وصف‬ ‫يتضمن‬DTD،‫محددة‬ ‫طريقة‬ ‫وفق‬ ‫يتم‬
:‫العالقة‬ ‫توصيف‬ ‫نريد‬ ‫المثال‬ ‫سبيل‬ ‫على‬ ،‫الوسوم‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫ومعتمدة‬
address (name, street, town)
‫الكود‬(3-2)‫باستخدام‬ ‫عالقة‬ ‫توصيف‬DTD
،‫أكثر‬ ‫بشكل‬ ‫العالقة‬ ‫تفصيل‬ ‫يمكن‬:‫مرونة‬ ‫أكثر‬ ‫تصبح‬ ‫بحيث‬
‫الكود‬(3-3)‫عالقة‬ ‫توصيف‬2‫باستخدام‬DTD
( ‫المعامل‬ ‫استخدام‬ ‫يمكن‬ ‫أيضا‬|‫تكون‬ ‫التي‬ ‫الوسوم‬ ‫من‬ ‫واحدة‬ ‫اختيار‬ ‫أي‬ ،‫الوسوم‬ ‫من‬ ‫مجموعة‬ ‫بين‬ ‫االختيار‬ ‫تعني‬ ‫والذي‬ )
:‫المعامل‬ ‫هذا‬ ‫بين‬ ‫موجودة‬
‫الكود‬(3-4)‫استخدام‬( ‫المعامل‬|)‫الـ‬ ‫توصيف‬ ‫في‬DTD
DTDs code
<!ELEMENT address (name, street, town)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT town (#PCDATA)>
DTDs code
<!ELEMENT address (name, place)>
<!ELEMENT place (street, town)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT town (#PCDATA)>
DTDs code
<!ELEMENT address (name, (street|box), town)>
<!ELEMENT name (#PCDATA) >
<!ELEMENT street (#PCDATA) >
<!ELEMENT box (#PCDATA) >
<!ELEMENT town (#PCDATA) >
address
PCDATA
PCDATA PCDATA
name
street town
place
address
PCDATA PCDATA PCDATA
name street town
PCDATA
box
address
PCDATA PCDATA PCDATA
name street town
‫الصفحة‬30
address
PCDATA PCDATA PCDATA
name street town
PCDATA
phone
PCDATA
fax
( ‫المعامل‬ ‫استخدام‬ ‫يمكن‬+( ‫والمعامل‬ )*‫يقوم‬ ‫حيث‬ ،‫الوسوم‬ ‫من‬ ‫وسم‬ ‫بها‬ ‫يتواجد‬ ‫أن‬ ‫يمكن‬ ‫التي‬ ‫المرات‬ ‫عدد‬ ‫تحدد‬ ‫والتي‬ )
‫المعامل‬(+( ‫المعامل‬ ‫بينما‬ ،‫أكثر‬ ‫أو‬ ‫واحدة‬ ‫مرة‬ ‫يتواجد‬ ‫أن‬ ‫يمكن‬ ‫الوسم‬ ‫أن‬ ‫بتحديد‬ )*‫يتواجد‬ ‫ال‬ ‫أن‬ ‫يمكن‬ ‫الوسم‬ ‫أن‬ ‫يعني‬ )
‫أكثر‬ ‫أو‬ ‫مرة‬ ‫يتواجد‬ ‫أن‬ ‫ويمكن‬:
‫الكود‬(3-5)‫المعامل‬ ‫استخدام‬(+)‫والمعامل‬(*)‫الـ‬ ‫توصيف‬ ‫في‬DTD
( ‫المعامل‬ ‫استخدام‬ ‫يمكن‬ ‫أيضا‬?.‫يتواجد‬ ‫ال‬ ‫أن‬ ‫الممكن‬ ‫ومن‬ ،‫واحدة‬ ‫مرة‬ ‫يوجد‬ ‫أن‬ ‫يمكن‬ ‫الوسم‬ ‫هذا‬ ‫أن‬ ‫يعني‬ ‫الذي‬ )
‫الكود‬(3-6)‫المعامل‬ ‫استخدام‬(‫؟‬)‫الـ‬ ‫توصيف‬ ‫في‬DTD
DTDs code
<!ELEMENT address (name, street, town, phone+, fax*)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT town (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT fax (#PCDATA)>
DTDs code
<!ELEMENT address (name, street, town, country?) >
<!ELEMENT name (#PCDATA) >
<!ELEMENT street (#PCDATA) >
<!ELEMENT town (#PCDATA) >
<!ELEMENT country (#PCDATA) >
addres
s
PCDATA PCDATA PCDATA
name street town
PCDATA
country
‫الصفحة‬31
3-3:‫الخبيرة‬ ‫للنظم‬ ‫المعارف‬ ‫تمثيل‬ ‫معايير‬ ‫أشهر‬
‫وبين‬ ‫المعارف‬ ‫قاعدة‬ ‫بين‬ ‫وثيق‬ ‫ارتباط‬ ‫هناك‬ ‫لذلك‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫الشجرية‬ ‫البنية‬ ‫تستخدم‬ ‫الخبيرة‬ ‫النظم‬ ‫تطبيقات‬ ‫غالب‬
XML‫حيث‬ ،‫باستخدام‬ ‫تمثيلها‬ ‫يتم‬XML‫معايير‬ ‫اسم‬ ‫عليه‬ ‫يطلق‬ ‫ما‬ ‫عبر‬XML‫المعايير‬ ‫أشهر‬ ‫عن‬ ‫بالتحدث‬ ‫هنا‬ ‫سنقوم‬ ،
‫الويب‬ ‫في‬ ‫أو‬ ‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫سواء‬ ‫المعارف‬ ‫لتمثيل‬ ‫الموضوعة‬‫باستخدام‬XML،‫المعارف‬ ‫تمثيل‬ ‫طرق‬ ‫عن‬ ‫سنتحدث‬ ‫ثم‬
‫باستخدام‬PROLOG[2]
.
‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫معايير‬ ‫أشهر‬ ‫إن‬XML‫هي‬:
-‫معيار‬HornML.
-‫معيار‬RuleML.
-‫معيار‬SHOE.
‫الشكل‬)3-4(‫عن‬ ‫المتفرعة‬ ‫المعايير‬ ‫أهم‬[2]
XML
3-3-1‫معيار‬RuleML:
[11] [2]
،‫الويب‬ ‫شبكة‬ ‫عبر‬ ‫والقواعد‬ ‫المعرفة‬ ‫ومشاركة‬ ‫ونشر‬ ‫تمثيل‬ ‫أجل‬ ‫من‬ ‫طورت‬ ‫ترميزية‬ ‫للغة‬ ‫عالمي‬ ‫معيار‬ ‫هي‬
‫األمامي‬ ‫البحث‬ ‫قواعد‬ ‫من‬ ‫كال‬ ‫تمثيل‬ ‫فيها‬ ‫وتم‬forward (bottom-up)‫والخلفي‬backward (top-down)‫لغة‬ ‫باستخدام‬
XML‫تخصيم‬ ‫أجل‬ ‫من‬ ،deduction‫لغات‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫اعتمادا‬ ‫بنيت‬ ‫وقد‬ ،‫االستنتاجية‬ ‫التحويلية‬ ‫المهمات‬ ‫كتابة‬ ‫وإعادة‬
:‫وهي‬ ‫القواعد‬ ‫تمثيل‬XML, RDF, XSLT, and OWL.
‫األعضاء‬ ‫من‬ ‫مفتوحة‬ ‫مجموعة‬ ‫من‬ ‫مكونة‬ ‫مبادرة‬ ‫قبل‬ ‫من‬ ‫وضعها‬ ‫تم‬
‫مهمة‬ ‫كانت‬ ‫وقد‬ ،‫واألكاديمية‬ ‫الصناعية‬ ‫القطاعات‬ ‫مختلف‬ ‫من‬ ‫والجماعات‬
‫للغات‬ ‫معيارية‬ ‫وأنظمة‬ ‫تقييسات‬ ‫وضع‬ ‫أساسي‬ ‫بشكل‬ ‫المبادرة‬ ‫هذه‬
‫باستخدام‬ ‫والويب‬ ‫للشبكات‬ ‫القواعد‬ ‫تمثيل‬ ‫في‬ ‫المستخدمة‬ ‫القانونية‬ ‫الترميزية‬
‫الـ‬XML.
‫الصفحة‬32
3-3-1-1‫معيار‬ ‫تاريخ‬RuleML:
‫توصيف‬ ‫ظهر‬RuleML‫عام‬ ‫في‬2000:‫المطورين‬ ‫هؤالء‬ ‫أشهر‬ ‫كان‬ ‫وقد‬Harold Boley, Benjamin
Grosof, and Michael Sintek‫الـ‬ ‫مدى‬ ‫على‬ ‫عليها‬ ‫وتطويرات‬ ‫تعديالت‬ ‫إجراء‬ ‫وتم‬ ،14‫في‬ ‫شارك‬ ،‫مضت‬ ‫التي‬ ‫سنة‬
‫من‬ ‫أخرى‬ ‫ومجموعة‬ ‫نفسهم‬ ‫المؤسسين‬ ‫التعديالت‬ ‫هذه‬.‫المطورين‬
‫معيار‬ ‫استخدام‬ ‫تم‬RuleML‫الخبيرة‬ ‫النظم‬ ‫محركات‬ ‫من‬ ‫كثير‬ ‫في‬،‫األن‬ ‫إلى‬ ‫تقييسه‬ ‫منذ‬‫المحركات‬ ‫هذه‬ ‫أشهر‬[9]
:
- OO jDREW: Naf Hornlog RuleML engine
- Prova: Reaction RuleML engine
- Drools: Reaction RuleML engine
- DR-DEVICE: Defeasible logic RuleML engine
- NxBRE: Naf Datalog RuleML engine
- VampirePrime: FOL reasoner
‫معيار‬ ‫يتميز‬RuleML‫عن‬ ‫للمسؤولين‬ ‫دورية‬ ‫واجتماعات‬ ‫مؤتمرات‬ ‫إجراء‬ ‫يتم‬ ‫حيث‬ ،‫كامل‬ ‫بشكل‬ ‫التطورات‬ ‫آلخر‬ ‫بمواكبته‬
‫م‬ ‫ابتداءا‬ ‫وذلك‬ ،‫المعيار‬‫عام‬ ‫ن‬2200،‫التطورات‬ ‫آخر‬ ‫مع‬ ‫يتناسب‬ ‫بما‬ ‫عليه‬ ‫والتعديل‬ ،‫وتنقيحه‬ ،‫المعيار‬ ‫مراجعة‬ ‫يتم‬ ‫حيث‬ ،
‫منذ‬ ‫عقدت‬ ‫التي‬ ‫المؤتمرات‬ ‫أهم‬2002‫اآلن‬ ‫إلى‬[9]
:
- RuleML-2013: Seventh International Web Rule Symposium.
- RuleML-2012: Sixth International Web Rule Symposium.
- RuleML-2011: Fifth International Web Rule Symposium.
- RuleML-2010: Fourth International Web Rule Symposium.
- RuleML-2009: Third International Web Rule Symposium.
- RuleML-2008: Second International Web Rule Symposium.
- RuleML-2007: First International Web Rule Symposium.
- RuleML-2006: Second International Conference on Rules for the Web.
- RuleML-2005: First International Conference on Rules for the Semantic Web.
- RuleML-2004: Third International Workshop on Rules for the Semantic Web.
- RuleML-2003: Second International Workshop on Rules for the Semantic Web
- RuleML-2002: First International Workshop on Rule Markup Languages.
‫الصفحة‬33
3-3-1-2‫ملف‬DTDs‫لمعيار‬RuleML 0.8:
‫القواعد‬ ‫نسخة‬ ‫توصيف‬ ‫األسفل‬ ‫في‬ ‫يظهر‬RuleML 0.8.[11]
‫الكود‬(3-7)‫الـ‬ ‫ملف‬DTD‫لمعيار‬RuleML0.8.
RuleML 0.8 DTD
<!-- SCLP RuleML DTD, Monolith Uncommented version v13 of 2001-12 -->
<!ENTITY % URI "CDATA">
<!ENTITY % bool "yes|no">
<!ELEMENT rulebase ( (_rbaselab, (imp | fact | mutex | sens | effe)*) |
(imp | fact | mutex | sens | effe)+, _rbaselab?) )>
<!ATTLIST rulebase direction (forward | backward | bidirectional)
"bidirectional">
<!ELEMENT _rbaselab (ind | cterm)>
<!ELEMENT imp ( (_head, ((_body,_rlab?) | (_rlab,_body?))? ) | (_body,
((_head,_rlab?) | (_rlab,_head))) | (_rlab,((_head,_body?) |
(_body,_head))) )>
<!ELEMENT _rlab (ind | cterm) >
<!ELEMENT fact ( (_rlab,_head) | (_head,_rlab?) )>
<!ELEMENT _head (clit | atom | andh)>
<!ELEMENT _body (fclit | atom | clit | flit | andb | orb | and)>
<!ELEMENT andb ((fclit | atom | clit | flit | andb | orb)*)>
<!ELEMENT orb ((fclit | atom | clit | flit | andb | orb), (fclit | atom |
clit | flit | andb | orb)+)>
<!ELEMENT andh ((clit | atom | andh), (clit | atom | andh)+)>
<!ELEMENT and ((atom | and)*)>
<!ELEMENT clit ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+, _opr))>
<!ATTLIST clit cneg (%bool;) #IMPLIED>
<!ELEMENT fclit ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+,
_opr))>
<!ATTLIST fclit cneg (%bool;) #IMPLIED>
<!ATTLIST fclit fneg (%bool;) #IMPLIED>
<!ELEMENT flit ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+, _opr))>
<!ATTLIST flit fneg (%bool;) #IMPLIED>
<!ELEMENT atom ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+, _opr))>
<!ELEMENT _opr (rel)>
<!ELEMENT rel (#PCDATA)>
<!ATTLIST rel href %URI; #IMPLIED>
<!ELEMENT var (#PCDATA)>
<!ELEMENT ind (#PCDATA)>
<!ATTLIST ind href %URI; #IMPLIED>
<!ELEMENT cterm ((_opc, (ind|var|cterm)*) | ((ind|var|cterm)+, _opc))>
<!ELEMENT _opc (ctor)>
<!ELEMENT ctor (#PCDATA)>
<!ATTLIST ctor href %URI; #IMPLIED>
‫الصفحة‬34
3-3-1-3‫معيار‬ ‫عن‬ ‫أمثلة‬RuleML:
[11] [3]
‫معيار‬ ‫باستخدام‬ ‫تمثيلها‬ ‫وطريقة‬ ،‫القواعدية‬ ‫العبارات‬ ‫من‬ ‫لمجموعة‬ ‫األمثلة‬ ‫بعض‬ ‫عرض‬ ‫هنا‬ ‫سيتم‬RuleML‫مع‬ ،
.‫المعيار‬ ‫مع‬ ‫تمثيلها‬ ‫لسهولة‬ ‫اإلنكليزية‬ ‫باللغة‬ ‫ستكون‬ ‫األمثلة‬ ،‫بها‬ ‫الخاصة‬ ‫الشجرة‬ ‫عرض‬
‫مثال‬1:
"Peter Miller's spending has been min 5000 euro in the previous year."
‫الكود‬(3-8)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML
‫مثال‬2:
"A customer is premium if their spending has been min 5000 euro in the previous year."
‫الكود‬(3-9)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML
RuleML example
<Atom>
<Rel>spending</Rel>
<Ind>Peter Miller</Ind>
<Ind>min 5000 euro</Ind>
<Ind>previous year</Ind>
</Atom>
RuleML example
<Implies>
<head>
<Atom>
<Rel>premium</Rel>
<Var>customer</Var>
</Atom>
</head>
<body>
<Atom>
<Rel>spending</Rel>
<Var>customer</Var>
<Ind>min 5000 euro</Ind>
<Ind>previous year</Ind>
</Atom>
</body>
</Implies>
‫الصفحة‬35
‫مثال‬3:
"The discount for a customer buying a product is 7.5 percent if the customer is premium and the
product is luxury"
‫الكود‬(3-10)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML
RuleML example (Rules)
<Implies>
<head>
<Atom>
<Rel>discount</Rel>
<Var>customer</Var>
<Var>product</Var>
<Ind>7.5 percent</Ind>
</Atom>
</head>
<body>
<And>
<Atom>
<Rel>premium</Rel>
<Var>customer</Var>
</Atom>
<Atom>
<Rel>luxury</Rel>
<Var>product</Var>
</Atom>
</And>
</body>
</Implies>
RuleML example (Rules)
<Atom>
<Rel>luxury</Rel>
<Ind>Porsche</Ind>
</Atom>
<Atom>
<Rel>discount</Rel>
<Ind>Peter Miller</Ind>
<Ind>Porsche</Ind>
<Ind>7.5 percent</Ind>
</Atom>
‫الصفحة‬36
3-3-1-4‫المعيار‬ ‫مكونات‬RuleML:
‫معيار‬ ‫يستخدم‬RuleML‫متعددة‬ ‫ألشياء‬‫الخبيرة‬ ‫النظم‬ ‫معارف‬ ‫لتمثيل‬ ‫فقط‬ ‫وليس‬‫المكونات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫يتألف‬ ‫حيث‬ ،
‫تطبيقات‬ ‫في‬ ‫المستخدمة‬‫متعددة‬،‫هي‬ ‫المكونات‬ ‫هذه‬:
- Reaction Rules.
- TransformationRules
- Derivation Rules
- Integrity Constraints
‫الشكل‬ ‫ويظهر‬3-7‫معيار‬ ‫ومكونات‬ ‫تفريعات‬RuleML.
‫الشكل‬(3-5)‫المعيار‬ ‫مكونات‬[2]
RuleML
3-3-2‫معيار‬HornML:
[2]
‫لـ‬ ‫اختصارا‬ ‫تعتبر‬Horn Logic Markup Languages‫لمعيار‬ ‫مشابه‬ ‫معيار‬ ‫وهو‬RuleML‫يستخدم‬ ‫أنه‬ ‫إال‬
‫الـ‬Struct.‫ما‬ ‫قاعدة‬ ‫على‬ ‫للداللة‬
3-3-2-1‫ملف‬DTDs‫لمعيار‬RuleML:
‫الـ‬ ‫نسخة‬ ‫توصيف‬ ‫األسفل‬ ‫في‬ ‫يظهر‬DTD‫الـ‬ ‫لمعيار‬RuleML:
‫الكود‬(3-11)‫الـ‬ ‫ملف‬DTD‫لعيار‬HornML.
HornML DTD
<!ELEMENT kb (hn*) >
<!ELEMENT hn (relationship, relationship*) >
<!ELEMENT relationship (relator, (ind | var | struc)*) >
<!ELEMENT struc (constructor, (ind | var | struc)*) >
<!ELEMENT relator (#PCDATA) >
<!ELEMENT constructor (#PCDATA) >
<!ELEMENT ind (#PCDATA) >
<!ELEMENT var (#PCDATA) >
‫الصفحة‬37
3-3-2-2‫معيار‬ ‫عن‬ ‫أمثلة‬HornML:
‫المعيار‬ ‫باستخدام‬ ‫تمثيلها‬ ‫طريقة‬ ‫مع‬ ،‫والجمل‬ ‫األمثلة‬ ‫بعض‬ ‫ذكر‬ ‫سيتم‬HornML:
‫مثال‬1:‫ونريد‬ ‫التالية‬ ‫الجملة‬ ‫لدينا‬ ‫فرض‬ ‫على‬:‫توصيفها‬undersea-connection(britain,france)
‫الكود‬(3-12)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML
‫مثال‬2::‫توصيفها‬ ‫ونريد‬ ‫التالية‬ ‫الجملة‬ ‫لدينا‬ ‫فرض‬ ‫على‬travel(john,channel-tunnel)
‫الكود‬(3-13)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML
‫ثال‬3::‫توصيفها‬ ‫ونريد‬ ‫التالية‬ ‫القاعدة‬ ‫لدينا‬ ‫فرض‬ ‫على‬
travel(Someone,channel-tunnel) :- carry(eurostar,Someone).
‫الكود‬(3-14)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML
HornML example
<struc>
<constructor>undersea-connection</constructor>
<ind>britain</ind>
<ind>france</ind>
</struc>
HornML example (Facts)
<hn>
<relationship>
<relator>travel</relator>
<ind>john</ind>
<ind>channel-tunnel</ind>
</relationship>
</hn>
HornML example (Rules)
<hn>
<relationship>
<relator>travel</relator>
<var>someone</var>
<ind>channel-tunnel</ind>
</relationship>
<relationship>
<relator>carry</relator>
<ind>eurostar</ind>
<var>someone</var>
</relationship>
</hn>
‫الصفحة‬38
‫معيار‬ ‫يمكننا‬HornML‫إعطاء‬ ‫من‬،‫المنطقية‬ ‫القواعد‬ ‫توسيع‬ ‫على‬ ‫يساعد‬ ‫ما‬ ‫وهذا‬ ،‫محدد‬ ‫لوسم‬ ‫الخواص‬ ‫من‬ ‫مجموعة‬
:‫الحالة‬ ‫هذه‬ ‫على‬ ‫وكمثال‬
‫الكود‬(3-15)‫في‬ ‫الوسوم‬ ‫خصائص‬ ‫استخدام‬HornML
‫معيار‬ ‫يمكننا‬ ‫أيضا‬HornML‫وإعطائها‬ ‫ما‬ ‫قاعدة‬ ‫تعريف‬ ‫من‬ID‫آخر‬ ‫مكان‬ ‫في‬ ‫القاعدة‬ ‫هذه‬ ‫استخدام‬ ‫يمكن‬ ‫بحيث‬ ‫محدد‬
‫الكلمة‬ ‫باستخدام‬ ‫ولك‬IDREF،‫قوي‬ ‫بشكل‬ ‫المعرف‬ ‫قاعدة‬ ‫تعيكل‬ ‫حيث‬ ،‫القواعد‬ ‫تشعب‬ ‫حال‬ ‫في‬ ‫كثيرا‬ ‫القاعدة‬ ‫هذه‬ ‫تفيد‬ ،
:‫الحالة‬ ‫هذه‬ ‫على‬ ‫وكمثال‬ ،‫البرمجة‬ ‫لغات‬ ‫في‬ ‫التوابع‬ ‫لهيكلة‬ ‫مشابهة‬ ‫بطريقة‬ ‫وفعال‬
‫الكود‬(3-16)‫استخدام‬ID‫و‬IDREF‫في‬HornML
3-3-3‫معيار‬SHOE:
[𝟏𝟐] [𝟐]
‫للجملة‬ ‫اختصارا‬ ‫يعتبر‬(Simple HTML Ontology Extensions)‫باستخدام‬ ‫بالبداية‬ ‫تمثيله‬ ‫تم‬ ‫وقد‬
HTML‫صيغة‬ ‫إلى‬ ‫نقله‬ ‫تم‬ ‫ثم‬XML‫القواعد‬ ‫تمثيل‬ ‫يتم‬ ‫حيث‬ ،‫المحكية‬ ‫لغة‬ ‫من‬ ‫جدا‬ ‫قريبة‬ ‫لغته‬ ‫وتعتبر‬ ،‫وقوته‬ ‫بمرونته‬ ‫يتميز‬ ،
‫بوسوم‬If-Then:‫عليه‬ ‫وكمثال‬ ،
HornML example (Rules)
<relator arity="2">travel</relator>
HornML example (ID, IDREF)
<hn id="john-channel">
<relationship>
<relator>travel</relator>
<ind>john</ind>
<ind>channel-tunnel</ind>
</relationship>
</hn>
<hn>
<relationship>
<relator>belief</relator>
<ind>mary</ind>
<prop idref="john-channel"/>
</relationship>
</hn>
‫الصفحة‬39
‫الكود‬(3-17)‫معيار‬ ‫باستخدام‬ ‫معرفة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬SHOE.
3-3-4‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬PROLOG:
[2]
‫تطبيقات‬ ‫وفي‬ ،‫األبحاث‬ ‫في‬ ‫تستخدم‬ ،‫اسمها‬ ‫يفسر‬ ‫ما‬ ‫وهذا‬ ،‫المنطق‬ ‫مبادئ‬ ‫على‬ ‫تعتمد‬ ‫برمجة‬ ‫لغة‬ ‫هي‬ ‫برولوغ‬
‫في‬ ‫نزايد‬ ‫وقد‬ ،‫الخبيرة‬ ‫النظم‬ ‫سيما‬ ‫وال‬ ‫الصنعي‬ ‫الذكاء‬.‫تجاريا‬ ‫استخدامها‬ ‫األخيرة‬ ‫الفترة‬
‫وتحت‬ ،‫التعليمات‬ ‫الئحة‬ ‫من‬ ‫بدال‬ ‫عنها‬ ‫نصرح‬ ‫ستاتيكية‬ ‫معطيات‬ ‫قاعدة‬ ‫من‬ ‫برولوغ‬ ‫تتكون‬‫مفسر‬ ‫على‬ ‫وي‬Interpreter‫يقوم‬
.‫القواعد‬ ‫وتنفيذ‬ ،‫الحقائق‬ ‫بتحليل‬
‫الشكل‬(3-6)‫لغة‬ ‫عمل‬ ‫بيئة‬[25]
PROLOG
‫مثال‬1:‫بسيط‬ ‫برولوغ‬ ‫باستخدام‬ ‫القواعد‬ ‫تمثيل‬ ‫إن‬:
SHOE example
<DEF-INFERENCE
DESCRIPTION="travel(?someone,http://www.eurotunnel.com/) if
carry(http://www.eurostar.com/,?someone)">
<INF-IF>
<RELATION NAME="carry">
<ARG POS="1" VALUE="http://www.eurostar.com/">
<ARG POS="2" VALUE="someone" USAGE="VAR">
</RELATION>
</INF-IF>
<INF-THEN>
<RELATION NAME="travel">
<ARG POS="1" VALUE="someone" USAGE="VAR">
<ARG POS="2" VALUE="http://www.eurotunnel.com/">
</RELATION>
</INF-THEN>
</DEF-INFERENCE>
‫الصفحة‬40
‫الكود‬(3-18)‫لغة‬ ‫في‬ ‫حقيقة‬ ‫عن‬ ‫مثال‬PROLOG
‫مثال‬2:
‫الكود‬(3-19)‫باستخدام‬ ‫معرفة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬PROLOG
PROLOG example
address(
name("Xaver M. Linde"),
box("2001"),
town("10555 Berlin")
)
PROLOG example
% start fact base for addresses
address(
name("Me2XML"),
place(
street("96 Hyper Road"),
town("Boston")
)
).
address(
name("RDF4All"),
place(
street("2001 Broadway"),
town("New York")
)
).
address(
name("XML4You"),
place(
street("96 Hyper Road"),
town("Boston")
)
).
% end fact base for addresses
address
Xaver M. Linde 2001 10555 Berlin
name box town
‫الصفحة‬41
‫الفصل‬‫الرابع‬:
‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬
:‫الفصل‬ ‫هذا‬ ‫في‬
›‫مكتبة‬NXBRE.
›‫لمكتبة‬ ‫االستدالل‬ ‫محركات‬ ‫أنواع‬NXBRE.
›‫قبل‬ ‫من‬ ‫المدعومة‬ ‫المعارف‬ ‫أنواع‬NXBRE.
›‫متخصصة‬ ‫أخرى‬ ‫مكتبات‬.‫الخبيرة‬ ‫بالنظم‬
‫الصفحة‬42
‫الفصل‬‫الرابع‬-:‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬
‫بلغة‬ ‫المكتوبة‬ ‫تلك‬ ‫وأشهرها‬ ،‫الخبيرة‬ ‫للنظم‬ ‫استداللية‬ ‫محركات‬ ‫تؤمن‬ ‫التي‬ ‫المكتبات‬ ‫من‬ ‫العديد‬ ‫توجد‬Java‫تم‬ ‫منها‬ ‫قسم‬ ‫أن‬ ‫إال‬
‫بيئة‬ ‫على‬ ‫ليعمل‬ ‫منه‬ ‫نسخة‬ ‫إنشاء‬.NET‫لبيئة‬ ‫المخصصة‬ ‫المحركات‬ ‫لبعض‬ ‫باإلضافة‬.NE،‫هذه‬ ‫بعض‬‫مفتوحة‬ ‫تعتبر‬ ‫المحركات‬
‫دون‬ ‫من‬ ‫ولكن‬ ‫استخدامها‬ ‫يمكن‬ ‫حيث‬ ،‫لالستخدام‬ ‫مفتوحة‬ ‫اآلخر‬ ‫وبعضها‬ ،‫للمكتبة‬ ‫المصدري‬ ‫الكود‬ ‫رؤية‬ ‫ويمكن‬ ‫بالكامل‬ ‫المصدر‬
.‫استخدامها‬ ‫أجل‬ ‫من‬ ‫شراؤها‬ ‫يجب‬ ‫تجارية‬ ‫مكتبات‬ ‫مجموعة‬ ‫أيضا‬ ‫ويوجد‬ ،‫المصدري‬ ‫الكود‬ ‫رؤية‬
‫المكتبات‬ ‫غالب‬ ‫عن‬ ‫الحديث‬ ‫البحث‬ ‫هذا‬ ‫في‬ ‫سيتم‬‫بيئة‬ ‫في‬ ‫خبيرة‬ ‫نظم‬ ‫لبناء‬ ‫المستخدمة‬.NET
4-1‫مكتبة‬NxBRE:
[𝟏𝟒]
‫مكتبة‬NxBRE،‫الخبيرة‬ ‫للنظم‬ ‫العملية‬ ‫والقواعد‬ ‫االستدالل‬ ‫محركات‬ ‫بناء‬ ‫في‬ ‫متخصصة‬ ‫المصدر‬ ‫مفتوحة‬ ‫مكتبة‬ ‫أول‬ ‫هي‬
‫لمنصة‬ ‫مخصصة‬.NET‫عام‬ ‫في‬ ‫وظهرت‬2000‫مكتبة‬ ‫من‬ ‫نسخة‬ ‫عن‬ ‫عبارة‬ ‫وهي‬ ،JxBRE‫لغة‬ ‫باستخدام‬ ‫المبرمجة‬Java
‫المبرمج‬ ‫قبل‬ ‫من‬Sloan Seaman.
‫مكتبة‬ ‫برمجة‬ ‫تمت‬NxBRE‫إلى‬ ‫نقلها‬ ‫باألحرى‬ ‫أو‬.NET‫المبرمج‬ ‫قبل‬ ‫من‬
‫دوسوت‬ ‫ديفيد‬David DossotK‫وبسهولة‬ ‫ببساطتها‬ ‫رئيسي‬ ‫بشكل‬ ‫تتميز‬
.‫توسيعها‬
:‫الرابط‬ ‫من‬ ‫المكتبة‬ ‫على‬ ‫الحصول‬ ‫يمكن‬http://sourceforge.net/projects/nxbre/
‫بيئة‬ ‫على‬ ‫المكتبة‬ ‫عمل‬ ‫يتطلب‬Visual Studio‫الم‬ ‫بعض‬ ‫وجود‬‫تطلبات‬‫وهي‬ ،:
›‫الـ‬ ‫بيئة‬ ‫حزمة‬.Net‫اإلصدار‬Microsoft .NET Framework 1.1.‫األحدث‬ ‫اإلصدارات‬ ‫أو‬
›‫حزمة‬2.2-NUnit‫من‬ ‫عليها‬ ‫الحصول‬ ‫يمكن‬ ،‫األحدث‬ ‫اإلصدارات‬ ‫أو‬http://www.nunit.org.
‫مكتبة‬ ‫تعتبر‬NxBRE‫مصدرة‬‫ب‬‫ترخيص‬LGPL‫في‬ ‫المكتبة‬ ‫استخدام‬ ‫قانوني‬ ‫بشكل‬ ‫للمستخدمين‬ ‫تسمح‬ ‫التي‬‫ال‬‫ت‬ ‫تطبيقات‬‫جارية‬،
‫و‬‫يمكن‬ ‫أنه‬ ‫المكتبة‬ ‫عن‬ ‫المسؤولون‬ ‫يقول‬‫مكتبة‬ ‫استخدام‬NxBRE‫الت‬ ‫التطبيقات‬ ‫في‬:‫الية‬
›‫التعبير‬ ‫يتطلب‬ ‫بل‬ ،‫ومهيكل‬ ‫واحد‬ ‫بأسلوب‬ ‫تمثيلها‬ ‫يمكن‬ ‫ال‬ ‫والتي‬ ‫المعقدة‬ ‫القواعد‬ ‫من‬ ‫قاعدة‬ ‫على‬ ‫تحوي‬ ‫التي‬ ‫التطبيقات‬ ‫في‬
.‫حرة‬ ‫منطقية‬ ‫تعابير‬ ‫عنه‬
›‫في‬ ‫القواعد‬ ‫إضافة‬ ‫إمكانية‬ ‫تتيح‬ ‫حيث‬ ،‫باستمرار‬ ‫القواعد‬ ‫بها‬ ‫تتغير‬ ‫التي‬ ‫التطبيقات‬ ‫في‬‫إل‬ ‫الحاجة‬ ‫دون‬ ‫وقت‬ ‫أي‬‫ترجمة‬ ‫عادة‬
.‫جديد‬ ‫من‬ ‫القواعد‬
4-1-1:‫المكتبة‬ ‫مكونات‬
‫مكتبة‬ ‫تقدم‬NxBRE‫يستخدم‬ ‫وكالهما‬ ،‫الخبيرة‬ ‫النظم‬ ‫محركات‬ ‫من‬ ‫نوعان‬،‫للقواعد‬ ‫تمثيالت‬ ‫عدة‬‫سهولة‬ ‫لها‬ ‫تؤمن‬ ‫والتي‬
:‫هي‬ ‫االستدالل‬ ‫محركات‬ ،‫والحذف‬ ‫واإلضافة‬ ‫التعديل‬ ‫في‬ ‫ومرونة‬
›‫نوع‬ ‫من‬ ‫محرك‬Flow Engine‫نوع‬ ‫من‬ ‫معارف‬ ‫قاعدة‬ ‫مع‬ ‫يتعامل‬ :xBRE.
›‫نوع‬ ‫من‬ ‫محرك‬Inference Engine‫مع‬ ‫يتعامل‬ :‫قواعد‬‫نوع‬ ‫من‬ ‫معارف‬RuleML‫أو‬Visio‫أو‬HRF.
‫الصفحة‬43
‫تمثيل‬ ‫يتم‬‫قواعد‬‫المعرفة‬‫لمكتبة‬NxBRE‫عام‬ ‫بشكل‬‫تمثل‬ ‫بعبارات‬‫في‬ ‫ستنفذ‬ ‫التي‬ ‫األفعال‬ ‫من‬ ‫مجموعة‬ ‫أو‬ ‫فعل‬ ‫يتبعه‬ ‫شرط‬
‫هذا‬ ‫تحقق‬ ‫حال‬‫وكأمثلة‬ ،‫الشرط‬:‫القواعد‬ ‫هذه‬ ‫على‬
‫يظهر‬‫األسفل‬ ‫في‬ ‫المخطط‬‫يسمى‬ ‫حيث‬ ،‫المكتبة‬ ‫عمل‬ ‫بنية‬‫التي‬ ‫القواعد‬ ‫وجود‬ ‫مكان‬‫ي‬‫تدعى‬ ‫الخارجي‬ ‫الملف‬ ‫من‬ ‫جلبها‬ ‫تم‬
Context‫محرك‬ ‫أجل‬ ‫من‬Flow Engine‫وتدعى‬Working Memory‫محرك‬ ‫أجل‬ ‫من‬Inference Engine.
‫الـ‬Context‫الـ‬ ‫و‬Working Memory‫ومراجع‬ ‫والحقائق‬ ‫القواعد‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫تحتوي‬References‫إلى‬
.‫المعارف‬ ‫قاعدة‬ ‫في‬ ‫الموجودة‬ ‫األغراض‬
‫الشكل‬(4-1)‫لمكتبة‬ ‫الهيكلية‬ ‫البنية‬[14]
NxBRE
4-1-2‫نوع‬ ‫من‬ ‫المحركات‬Flow Engine:
‫قواعد‬ ‫على‬ ‫يعتمد‬ ‫محرك‬ ‫عن‬ ‫عبارة‬(if/then/else, while, foreach)‫وتدعى‬ ،‫والقواعد‬ ‫المعارف‬ ‫تمثيل‬ ‫أجل‬ ‫من‬
‫التحكم‬ ‫تدفق‬ ‫عمليات‬ ‫الطريقة‬ ‫هذه‬control process flow‫ملفات‬ ‫هيئة‬ ‫على‬ ‫فيه‬ ‫القواعد‬ ‫تمثيل‬ ‫ويتم‬ ،XML‫بالحقة‬.xbr
‫عن‬ ‫عبارة‬ ‫هي‬ ‫والتي‬‫تستخدمه‬ ‫التي‬ ‫التوصيف‬ ‫نفس‬‫األم‬ ‫المكتبة‬JxBRE v1.7.1.
‫مكتبة‬ ‫تؤمن‬ ‫ال‬NxBRE‫وسيلة‬ ‫أي‬‫مخصص‬ ‫برنامج‬ ‫أو‬‫إلنشاء‬‫أنها‬ ‫بما‬ ‫ولكن‬ ،‫المعرفة‬ ‫قواعد‬‫ملفات‬XML‫الم‬ ‫من‬ ‫فإنه‬‫مكن‬
‫استخدام‬‫و‬ ‫القاعدة‬ ‫إلنشاء‬ ‫نصوص‬ ‫محرر‬ ‫أي‬‫ب‬ ‫حفظها‬ ‫يتم‬( ‫الحقة‬.xbre.)
‫محرك‬ ‫إنشاء‬ ‫يتم‬Flow Engine:‫يلي‬ ‫كما‬
‫الصفحة‬44
‫الكود‬(4-1)‫من‬ ‫محرك‬ ‫عن‬ ‫مثال‬Flow engine
‫ملفات‬ ‫على‬ ‫كمثال‬xbre:‫المثال‬ ‫بهذا‬ ‫نوضح‬
‫الكود‬(4-2)‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬xbre
4-1-3‫االستدالل‬ ‫محرك‬Inference Engine:
‫ع‬ ‫عبارة‬‫ن‬‫خوارزمية‬ ‫يتبع‬ ،‫استداللي‬ ‫محرك‬Forward chaining‫الحقائق‬ ‫من‬ ‫كال‬ ‫ويدعم‬ ،‫االستدالل‬ ‫عمليات‬ ‫أجل‬ ‫من‬
Facts‫والقواعد‬ ،Rules (Implications)‫واالستعالمات‬ ،Query‫يسمى‬ ‫ما‬ ‫في‬ ‫محددة‬ ‫توصيفات‬ ‫عن‬ ‫عبارة‬ ‫وهي‬ ،
(RuleML Naf Datalog sub-language.)
Flow Engine example
//Step 1: include NxBRE namespace
using NxBRE.FlowEngine;
using NxBRE.FlowEngine.IO;
using NxBRE.InferenceEngine.Rules;
//Step 2: Create Flow Engine
IFlowEngine bre = new BREImpl( );
//Step 3: Load Rules Base
bre.Init(new XBusinessRulesFileDriver("ruleFilePath.xbre"));
//Step 4: Assert object
bre.RuleContext.SetObject("TestObject",new object());
//Step 5: proccess all Rules
bre.Process( );
NxBRE Rule example
<Logic>
<If>
<And>
<Equals leftId="CLIENT_RATING" rightId="PREMIUM_RATING" />
<Equals leftId="PRODUCT_TYPE" rightId="REGULAR_TYPE" />
</And>
<Do>
<Integer id="DISCOUNT_PERCENT" value="5" />
</Do>
</If>
</Logic>
‫الصفحة‬45
‫القواعد‬ ‫في‬ ‫األولوية‬ ‫يدعم‬ ‫فإنه‬ ‫لذلك‬ ‫إضافة‬Rule Priority‫والـ‬Mutual Exclusion‫االستنتاج‬ ‫وعمليات‬ ،
Precondition.
‫سيصمم‬ ‫الذي‬ ‫الخبير‬ ‫الشخص‬ ‫وبين‬ ،‫الخبير‬ ‫النظام‬ ‫تطبيق‬ ‫ببرمجة‬ ‫يقوم‬ ‫الذي‬ ‫المبرمج‬ ‫بين‬ ‫التام‬ ‫الفصل‬ ‫يحقق‬ ‫بحيث‬ ‫تصميمه‬ ‫تم‬
‫تطبيق‬ ‫عليها‬ ‫سيعتمد‬ ‫الذي‬ ‫العمل‬ ‫قاعدة‬.‫الخبير‬ ‫النظام‬
‫استداللي‬ ‫محرك‬ ‫إنشاء‬ ‫يتم‬Inference Engine:‫يلي‬ ‫كما‬
‫الكود‬(4-3)‫نوع‬ ‫من‬ ‫محرك‬ ‫ملف‬ ‫عن‬ ‫مثال‬Inference engine
:‫وهي‬ ،‫صيغ‬ ‫بعدة‬ ‫المحرك‬ ‫هذا‬ ‫يستخدمها‬ ‫التي‬ ‫العمل‬ ‫قواعد‬ ‫ملفات‬ ‫تكون‬ ‫أن‬ ‫يمكن‬
-‫ملف‬XML‫معيار‬ ‫باستخدام‬ ‫مكتوب‬RuleML.
-‫ملفات‬VDX‫برنامج‬ ‫باستخدام‬ ‫كتابتها‬ ‫يمكن‬ ‫والتي‬Visio‫حزمة‬ ‫مع‬ ‫يأتي‬ ‫الذي‬MicroSoft‫عملية‬ ‫تؤمن‬ ‫والتي‬
.‫رسومي‬ ‫بشكل‬ ‫والحقائق‬ ‫للقواعد‬ ‫إنشاء‬
-‫ملف‬HRF‫صيغة‬ ‫ويشبه‬ ‫بسهولة‬ ‫قراءته‬ ‫يمكن‬ ،‫البشر‬ ‫للغة‬ ‫شيبه‬ ‫بنحو‬ ‫ملف‬ ‫عن‬ ‫عبارة‬ ‫وهو‬Prolog‫اختصار‬ ‫وهو‬
‫للعبارة‬human-readable format.
‫أن‬ ‫يمكن‬‫على‬ ‫االستدالل‬ ‫محرك‬ ‫يحتوي‬Binder‫الـ‬ ‫لكود‬ ‫مشابه‬ ‫بدور‬ ‫يقوم‬ ‫والذي‬ASP.NET‫قد‬ ،‫الخلفية‬ ‫في‬ ‫يعمل‬ ‫والذي‬
‫الـ‬ ‫هذا‬ ‫يكون‬Binder‫صنف‬ ‫إما‬Class‫الـ‬ ‫هذا‬ ‫يستخدم‬ ،‫خارجي‬ ‫ملف‬ ‫أو‬Binder‫متغيرات‬ ‫من‬ ‫البيانات‬ ‫جلب‬ ‫أجل‬ ‫من‬
‫البيان‬ ‫ومعالجة‬ ،‫المعقدة‬ ‫التعابير‬ ‫تحليل‬ ‫عملية‬ ‫ويؤمن‬ ،‫العمل‬‫الت‬ ‫التغييرات‬ ‫تثبيت‬ ‫أجل‬ ‫من‬ ‫وأيضا‬ ،‫العمل‬ ‫قيد‬ ‫وضعها‬ ‫قبل‬ ‫ات‬‫ي‬
.‫العمل‬ ‫قواعد‬ ‫على‬ ‫تطرأ‬
‫موجودة‬ ‫قواعد‬ ‫على‬ ‫التعديل‬ ‫أو‬ ،‫للقواعد‬ ‫جديدة‬ ‫إضافة‬ ‫من‬ ،‫المحرك‬ ‫عمليات‬ ‫في‬ ‫تحصل‬ ‫التي‬ ‫أحداث‬ ‫مجموعة‬ ‫يؤمن‬ ‫أيضا‬
.‫ما‬ ‫نتيجة‬ ‫على‬ ‫الحصول‬ ‫عند‬ ‫أو‬ ،‫مسبقا‬
NxBRE Inference Engine example
//Step 1: include NxBre namespace
using NxBRE.InferenceEngine;
using NxBRE.InferenceEngine.IO;
using NxBRE.InferenceEngine.Rules;
//Step 2: Create Inference Engine
IInferenceEngine ie = new IEImpl();
//Step 3: Load Rules Base
RuleML09NafDatalogAdapter Adapter = new RuleML09NafDatalogAdapter
("ruleFilePath.ruleml", FileAccess.Read);
ie.LoadRuleBase(Adapter);
//Step 4: Assert facts
Fact fact = new Fact("your Fact");
ie.Assert(fact);
//Step 5: proccess all Rules
ie.Process();
‫الصفحة‬46
4-1-3-1‫هيئة‬ ‫على‬ ‫القواعد‬ ‫ملفات‬RuleML:
‫باستخدام‬ ‫كتابتها‬ ‫يمكن‬ ‫التالية‬ ‫القاعدة‬RuleML:‫يلي‬ ‫كما‬
Rule #1: The discount for a customer buying a product
is 5.0 percent if the customer is premium and the
product is regular.
‫الكود‬(4-4)‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬RuleML
4-1-3-2‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬VDX‫باستخدام‬Visio:
‫بعضها‬ ‫مع‬ ‫القواعد‬ ‫ربط‬ ‫سهولة‬ ‫إلى‬ ‫إضافة‬ ‫رسومية‬ ‫كونها‬ ‫بسيطة‬ ‫طريقة‬ ‫بأنها‬ ‫الطريقة‬ ‫بهذه‬ ‫القواعد‬ ‫كتابة‬ ‫تتميز‬
‫عملية‬ ‫يسهل‬ ‫ما‬ ‫وهذا‬ ‫صفحات‬ ‫ضمن‬ ‫القواعد‬ ‫ترتيب‬ ‫الممكن‬ ‫من‬ ‫أيضا‬ ،‫البعض‬.‫وقراءتها‬ ‫تعديلها‬
RuleML Rules example
<Implies>
<And>
<Atom>
<Rel>premium</Rel>
<Var>customer</Var>
</Atom>
<Atom>
<Rel>regular</Rel>
<Var>product</Var>
</Atom>
</And>
<Atom>
<Rel>discount</Rel>
<Var>customer</Var>
<Var>product</Var>
<Ind>5.0 percent</Ind>
</Atom>
</Implies>
‫الصفحة‬47
( ‫الشكل‬4-2‫برنامج‬ )Visio‫من‬[14]
Microsoft
.‫متكامال‬ ‫التصميم‬ ‫يجعل‬ ‫مما‬ ‫األخرى‬ ‫البرامج‬ ‫يؤمنها‬ ‫التي‬ ‫المخططات‬ ‫مع‬ ‫القواعد‬ ‫دمج‬ ‫أيضا‬ ‫يمكن‬
( ‫الشكل‬4-3)‫في‬ ‫القواعد‬ ‫مع‬ ‫التصميم‬ ‫دمج‬‫برنامج‬[14]
Visio
4-1-3-3‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬HRF:
‫قواعد‬ ‫لكتابة‬ ‫مشابهة‬ ‫بطريقة‬ ‫الملفات‬ ‫هذه‬ ‫تكون‬ ‫حيث‬Prolog،‫لإلنسان‬ ‫بالنسبة‬ ‫بسهولة‬ ‫قرائتها‬ ‫بإمكانية‬ ‫وتتميز‬
.‫نصوص‬ ‫محرر‬ ‫أي‬ ‫باستخدام‬ ‫كتابتها‬ ‫ويمكن‬
‫كمث‬‫ا‬:‫يلي‬ ‫كما‬ ‫التالية‬ ‫القاعة‬ ‫كتابة‬ ‫يمكن‬ ‫عليها‬ ‫ل‬
Rule: The discount for a customer
buying a product is 5.0 percent if the
customer is premium and the product is
regular.
‫الكود‬(4-5)‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬HRF
4-2‫مكتبة‬Drools.NET:
[15]
‫مكتبة‬ ‫أنشأت‬Drools.NET‫عام‬ ‫في‬2007‫العملية‬ ‫للقواعد‬ ‫محرك‬ ‫وتعتبر‬Business Rules Engine (BRE)
‫خوارزمية‬ ‫على‬ ‫تعتمد‬Rete‫فروغي‬ ‫شارلز‬ ‫العالم‬ ‫قبل‬ ‫من‬ ‫الموضوعة‬Charles Forgy‫برمجة‬ ‫بواسطتها‬ ‫المطورين‬ ‫يستطيع‬ ،
‫بيئة‬ ‫مع‬ ‫كامل‬ ‫بشكل‬ ‫متوافقة‬ ‫قوية‬ ‫بحث‬ ‫محركات‬.NET
‫مكتبة‬ ‫تعتمد‬Drools.Net‫قواعد‬ ‫على‬JBoss،‫المعارف‬ ‫لتمثيل‬ ‫معيار‬ ‫وهي‬
.‫القواعد‬ ‫هذه‬ ‫ميزات‬ ‫كافة‬ ‫من‬ ‫تستفيد‬ ‫حيث‬
‫هذه‬ ،‫التشغيل‬ ‫نظام‬ ‫على‬ ‫تتواجد‬ ‫أن‬ ‫يجب‬ ‫التي‬ ‫األدوات‬ ‫بعض‬ ‫المكتبة‬ ‫عمل‬ ‫يتطلب‬
:‫هي‬ ‫األدوات‬
-‫الـ‬ ‫بيئة‬ ‫حزمة‬.Net‫الثاني‬ ‫اإلصدار‬Microsoft .NET Framework 2.0.‫األحدث‬ ‫اإلصدارات‬ ‫أو‬
-‫حزمة‬IKVM 0.28.0.0‫الموقع‬ ‫من‬ ‫عليها‬ ‫الحصول‬ ‫يمكن‬ ‫والتي‬http://www.ikvm.net.
HRF Rule
( premium{?customer}
& regular{?product} )
-> discount{?customer, ?product, 5.0 percent};
‫الصفحة‬48
-‫حزمة‬2.2.6-NUnit‫من‬ ‫عليها‬ ‫الحصول‬ ‫يمكن‬ ،‫األحدث‬ ‫اإلصدارات‬ ‫أو‬http://www.nunit.org.
‫مكتبة‬ ‫تتميز‬Drools.NET‫أهم‬ ،‫الميزات‬ ‫من‬ ‫بمجموعة‬:‫ها‬
-‫خوارزمية‬ ‫تطبيق‬Rete.‫األداء‬ ‫عالي‬ ‫وبشكل‬ ‫كامل‬ ‫بشكل‬
-‫المتوقعة‬ ‫والقيود‬ ‫المعادة‬ ‫والقيم‬ ‫للمتحوالت‬ ‫تعريف‬ ‫تؤمن‬Predicate Constraints.
-‫شرطية‬ ‫عناصر‬ ‫تحتوي‬Conditional Elements.
-‫المنطقية‬ ‫المعامالت‬ ‫على‬ ‫تحتوي‬And, OR, Not‫المقارنة‬ ‫ومعامل‬Eval.
-‫المرحلية‬ ‫القواعد‬ ‫وجود‬ ‫تؤمن‬Temporal Rules.‫القواعد‬ ‫من‬ ‫كنتيجة‬ ‫إنشاؤها‬ ‫يتم‬ ‫التي‬ ‫القواعد‬ ‫وهي‬
-.‫وحذف‬ ‫إضافة‬ ‫من‬ ‫العمل‬ ‫وضع‬ ‫في‬ ‫إنشاؤها‬ ‫يتم‬ ‫التي‬ ‫القواعد‬ ‫وهي‬ ‫الديناميكية‬ ‫القواعد‬ ‫وجود‬ ‫تؤمن‬
-.‫والبرنامج‬ ‫عليها‬ ‫العمل‬ ‫يتم‬ ‫التي‬ ‫الذاكرة‬ ‫لعمليات‬ ‫لألحداث‬ ‫وضع‬ ‫تحتوي‬
-‫ال‬ ‫على‬ ‫تحتوي‬.‫توابع‬
-‫عامة‬ ‫بيانات‬ ‫على‬ ‫تحتوي‬ ‫أن‬ ‫يمكن‬Global data.
-‫القرار‬ ‫جداول‬ ‫تدعم‬Decision Tables.
-‫الـ‬ ‫لغات‬ ‫من‬ ‫لغات‬ ‫عدة‬ ‫تدعم‬.NET
-‫التنشيط‬ ‫ومجموعات‬ ‫البرنامج‬ ‫ومجموعات‬ ‫التصادم‬ ‫نتائج‬ :)‫األعمال‬ ‫(جدول‬ ‫البرنامج‬ ‫إدارة‬ ‫إمكانية‬ ‫تحتوي‬
.‫التنشيط‬ ‫ومرشحات‬
-.‫للحقول‬ ‫قيود‬ ‫تتضمن‬
-‫صيانة‬.‫المنطقية‬ ‫الحشر‬ ‫إمكانية‬ ‫مع‬ ‫حقيقية‬
‫ب‬ ‫الخاصة‬ ‫المميزات‬ ‫لبعض‬ ‫باإلضافة‬‫/التطوير‬ ‫التنقيح‬:‫وهي‬ ،
-‫مكتبة‬ ‫تؤمن‬Drools.NET‫التنقيح‬ ‫عملية‬debugging‫توقف‬ ‫نقاط‬ ‫وضع‬ ‫طريق‬ ‫عن‬ ‫وذلك‬ ‫للقواعد‬
breakpoints.‫القواعد‬ ‫ملف‬ ‫في‬
-‫العمل‬ ‫وضع‬ ‫في‬ ‫ديناميكي‬ ‫بمترجم‬ ‫تتميز‬Dynamic runtime compile.
-‫الترجمة‬ ‫عملية‬ ‫قبل‬ ‫برمجية‬ ‫حزم‬ ‫ضافة‬ ‫عملية‬ ‫تؤمن‬Precompiled Packages.
‫مكتبة‬ ‫باستخدام‬ ‫خبير‬ ‫نظام‬ ‫محرك‬ ‫إنشاء‬ ‫يتم‬Drools.NET:‫يلي‬ ‫كما‬
Drools.NET example
//Step 1: include Drools.NET namespace
using org.drools.dotnet.compiler;
using org.drools.dotnet.rule;
using org.drools.dotnet;
//Step 2: Use following steps to create a RuleBase
PackageBuilder builder = new PackageBuilder();
Stream stream = new FileStream("SimpleRulesExt.drl", FileMode.Open);
builder.AddPackageFromDrl("MinimalDroolsForm.SimpleRules.drl", stream);
Package pkg = builder.GetPackage();
RuleBase ruleBase = RuleBaseFactory.NewRuleBase();
ruleBase.AddPackage(pkg);
//Step 3: Get an instance of WorkingMemory for the loaded RuleBase
workingMemory = ruleBase.NewWorkingMemory();
//Step 4: Assert facts
workingMemory.assertObject("Hello");
//Step 5: Fire all Rules
workingMemory.fireAllRules();
‫الصفحة‬49
‫الكود‬(4-6)‫باستخدام‬ ‫محرك‬ ‫عن‬ ‫مثال‬Drools.Net
‫لمكتبة‬ ‫والحقائق‬ ‫القواعد‬ ‫ملف‬ ‫عن‬ ‫كمثال‬Drools.Net:
‫الكود‬(4-7)‫المكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬Drools.Net
4-3‫مكتبة‬NetBPM:
[𝟏𝟔]
‫مكتبة‬ ‫من‬ ‫النسخة‬ ‫عن‬ ‫عبارة‬ ‫المكتبة‬ ‫هذه‬JBPM (Java Business Process Management )‫بلغة‬ ‫المكتوبة‬
‫جافا‬JAVA‫وإدارة‬ ‫وتطوير‬ ‫وتتنفيذ‬ ‫لبناء‬ ‫المصدر‬ ‫ومفتوحة‬ ‫مجانية‬ ‫نسخة‬ ‫وهي‬ ،
‫تطبيقات‬ ‫مع‬ ‫وتوافقها‬ ‫ببسطاتها‬ ‫وتتميز‬ ،‫التدفقية‬ ‫األعمال‬.NET‫األخرى‬،‫ميزات‬ ‫أهم‬
:‫المكتبة‬
-‫بيئة‬ ‫تدعم‬.NET‫كامل‬ ‫بشكل‬100%.
-‫كامل‬ ‫بشكل‬ ‫المصدر‬ ‫مفتوحة‬100%.
-‫منصتي‬ ‫على‬ ‫تعمل‬Microsoft .Net‫ومنصة‬Mono.
-‫في‬ ‫قوة‬.‫المرونة‬ ‫مع‬ ‫آلي‬ ‫وبشكل‬ ‫المعالجة‬ ‫عملية‬
-‫النشاطات‬ ‫مراقبة‬ ‫عمليات‬ ‫تدعم‬Business Activity Monitoring.
‫مكتبة‬ ‫إن‬NetPbm‫بـ‬ ‫المحرك‬ ‫هذا‬ ‫يدعى‬ ،‫للتوسعة‬ ‫وبقابليته‬ ‫بمرونته‬ ‫ويتميز‬ ‫نادر‬ ‫تدفقي‬ ‫نموذج‬ ‫تطبق‬workflow
management system (WFMS).
Drools.NET Rules Base example
package MinimalDroolsForm
rule "LargeOrder"
when
ustOrder : CustomerRecord( Value > 50 )
then
MinimalDroolsForm.Form1.debugResult("Large Order");
end
rule "OldCustomer"
when
cust: CustomerRecord(DaysSinceLastOrder>90, Status!="Re-Active")
then
MinimalDroolsForm.Form1.debugResult("Old Customer");
cust.Status = "Re-Active"; modify(cust);
end
rule "Discount"
when
Disc : CustomerRecord( Value > 50, Status == "Re-Active" )
then
MinimalDroolsForm.Form1.debugResult("Offer WELCOME BACK Special" );
end
‫الصفحة‬50
‫كبي‬ ‫بشكل‬ ‫مشابه‬ ‫المحرك‬ ‫هذا‬ ‫شكل‬ ‫إن‬‫اآللة‬ ‫وحاالت‬ ‫التدفقية‬ ‫المخططات‬ ‫إلى‬ ‫ر‬Machine state‫بداية‬ ‫حالة‬ ‫من‬ ‫يتكون‬ ‫حيث‬ ،
.‫والحلقات‬ ‫المتنوعة‬ ‫الحاالت‬ ‫من‬ ‫مجموعة‬ ‫وبينهما‬ ‫نهاية‬ ‫وحالة‬
‫العمليات‬ ‫سير‬ ‫لعملية‬ ‫مخططات‬ ‫إنشاء‬ ‫المكتبة‬ ‫مهمة‬ ‫تكون‬Process‫بصيغة‬ ‫مكتوب‬ ‫ملف‬ ‫خالل‬ ‫من‬XML‫هذه‬ ‫على‬ ‫وكمثال‬ ،
:‫المخططات‬
‫الشكل‬(4-4‫مكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬ )[16]
NetBpm
‫المكونات‬ ‫هذه‬ ‫من‬ ‫مكون‬ ‫كل‬ ،‫المكتبة‬ ‫لتشكل‬ ‫بعضها‬ ‫مع‬ ‫تتكامل‬ ،‫المكونات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫مزيج‬ ‫وكأنها‬ ‫المكتبة‬ ‫إلى‬ ‫النظر‬ ‫يمكن‬
.‫المعالم‬ ‫واضحة‬ ‫واجهة‬ ‫له‬
‫(المعال‬ ‫التنفيذ‬ ‫بين‬ ‫التبديل‬ ‫طريق‬ ‫عن‬ ‫مستمر‬ ‫بشكل‬ ‫يتم‬ ‫القواعد‬ ‫ومعالجة‬ ‫تنفيذ‬ ‫عملية‬ ‫إن‬‫يت‬ ‫التي‬ ‫القواعد‬ ‫وانتظار‬ )‫جة‬‫من‬ ‫إدخالها‬ ‫م‬
.‫مباشرة‬ ‫إضافتها‬ ‫عند‬ ‫القواعد‬ ‫معالجة‬ ‫يتم‬ ‫حيث‬ ،‫الخارجيين‬ ‫المستخدمين‬ ‫قبل‬
‫يسمى‬ ‫ما‬ ‫استخدام‬ ‫يتم‬ ‫حيث‬ ،‫التطبيق‬ ‫عبر‬ ‫المعالجة‬ ‫قواعد‬ ‫توصيف‬ ‫بإضافة‬ ‫للمستخدمين‬ ‫يسمح‬ ‫االول‬ ‫المكون‬NetBpm Process
Definition Language (nPdl).
‫الستخدامه‬ ‫وقوي‬ ‫بسيط‬ ‫التوصيف‬ ‫هذا‬ ‫إن‬XML‫استخدام‬ ‫يتم‬ ‫التوصيف‬ ‫هذا‬ ‫في‬ ،‫اإلنسان‬ ‫قبل‬ ‫من‬ ‫للقراءة‬ ‫بقابليته‬ ‫يتميز‬ ‫أيضا‬ ،
‫يسمى‬ ‫ما‬ ‫بداخل‬ ‫محتواة‬ ‫تكون‬ ‫والتي‬ ‫واحدة‬ ‫عملية‬process archive‫للعمليات‬ ‫حاوي‬ ‫يعتبر‬ ‫مضغوط‬ ‫ملف‬ ‫عن‬ ‫عبارة‬ ‫وهو‬
.‫العملية‬ ‫معلومات‬ ‫كافة‬ ‫ويحتوي‬
‫ملف‬Process archives‫ب‬ ‫الخاصة‬ ‫الواجهة‬ ‫تتفعل‬ ‫نشره‬ ‫وبعد‬ ،‫التطبيق‬ ‫داخل‬ ‫ونشره‬ ‫أوتوماتيكيا‬ ‫إنشاءه‬ ‫يتم‬‫الث‬ ‫المكون‬‫وهي‬ ،‫اني‬
.‫للعملية‬ ‫القراءة‬ ‫بمرحلة‬ ‫المرحلة‬ ‫هذه‬ ‫وتدعى‬ ‫الخارجيين‬ ‫المستخدمين‬ ‫قبل‬ ‫من‬ ‫القواعد‬ ‫بإدخال‬ ‫الخاصة‬ ‫الواجهة‬
‫تبدأ‬ ‫المرحلة‬ ‫هذه‬ ‫إنجاز‬ ‫يتم‬ ‫عندما‬NetBpm‫المشغلين‬ ‫وإسناد‬ ‫العملية‬ ‫من‬ ‫التالية‬ ‫الحالة‬ ‫بحساب‬actors‫النشاطات‬ ‫إلى‬activities
‫إ‬ ‫يتم‬ ‫أن‬ ‫يجب‬ ‫والتي‬.‫نجازها‬
‫تقوم‬ ‫حيث‬ ،‫الحسابات‬ ‫إجراء‬ ‫يتم‬ ‫حين‬ ‫المشاهد‬ ‫هذه‬ ‫خلف‬ ‫في‬ ‫تحدث‬ ‫مهمة‬ ‫أحداث‬NetBpm.‫األحداث‬ ‫هذه‬ ‫بقدح‬
‫الصفحة‬51
:‫التالي‬ ‫بالمخطط‬ ‫العمليات‬ ‫هذه‬ ‫تمثيل‬ ‫يمكن‬
( ‫الشكل‬4-5)‫المكتبة‬ ‫عمليات‬[16]
NetBpm
‫الت‬ ‫بالشكل‬ ‫المخطط‬ ‫هذا‬ ‫يظهر‬ ،‫تدفقي‬ ‫لمخطط‬ ‫توصيف‬ ‫عن‬ ‫مثاال‬ ‫لنأخذ‬‫وتظهر‬ ،‫الي‬‫الجانب‬ ‫في‬ ‫المخطط‬ ‫إن‬ ،‫يمثله‬ ‫الذي‬ ‫الكود‬ ‫معه‬
.‫سوداء‬ ‫نقطة‬ ‫تحتوي‬ ‫التي‬ ‫البيضاء‬ ‫الدائرة‬ ‫وهي‬ ،‫النهاية‬ ‫حالة‬ ‫ويظهر‬ ،‫األسود‬ ‫باللون‬ ‫المطموسة‬ ‫النقطة‬ ‫وهي‬ ‫البداية‬ ‫حالة‬ ‫يظهر‬
.‫ما‬ ‫شرط‬ ‫ينعدم‬ ‫أن‬ ‫إلى‬ ‫تستمر‬ ‫حلقة‬ ‫تنفيذ‬ ‫الكود‬ ‫في‬ ‫يتم‬
‫الصفحة‬52
‫الكود‬(4-8)‫للمكتبة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬NetBpm
4-4‫مكتبة‬FlexRule:
NetPBM workflow example
<process-definition>
<name>Test NetBpm</name>
<description>This is the simples process.</description>
<start-state name="start">
<transition to="first activity state" />
</start-state>
<end-state name="end" />
<attribute name="evaluation result" serializer=
"NetBpm.Workflow.Delegation.Impl.Serializer.EvaluationSerializer, NetBpm"
/>
<attribute name="the text attrib" type="text" initial-value=":-)" />
<activity-state name="first activity state">
<description>this is the first state</description>
<assignment handler= "NetBpm.Workflow.Delegation.Impl.Assignment
.AssignmentExpressionResolver, NetBpm">
<parameter name="expression">processInitiator</parameter>
</assignment>
<transition to="the looping decision">
<action event="transition"
handler="NetBpm.Example.Delegate.HelloWorldAction, NetBpm.Example" />
</transition>
</activity-state>
<decision name="the looping decision"
handler="NetBpm.Workflow.Delegation.Impl.Decision.EvaluationDecision,
NetBpm">
<parameter name="attribute">evaluation result</parameter>
<transition name="disapprove" to="first activity state" />
<transition name="approve" to="end" />
</decision>
</process-definition
‫الصفحة‬53
[𝟏𝟕]
‫مكتبة‬ ‫تعتبر‬FlexRule‫إدارة‬ ‫وفي‬ ،‫الخبيرة‬ ‫والنظم‬ ‫العمل‬ ‫قواعد‬ ‫محركات‬ ‫ببناء‬ ‫والمتخصصة‬ ‫الحديثة‬ ‫المكتبات‬ ‫من‬
‫يريدون‬ ‫اللذين‬ ‫والمطورين‬ ‫للمصممين‬ ‫موجهة‬ ‫المكتبة‬ ‫وتعتبر‬ ،‫التدفقي‬ ‫المحرك‬ ‫مكونات‬ ‫و‬ ‫العمل‬ ‫قواعد‬ ‫بها‬ ‫تزود‬ ‫التي‬ ‫العمليات‬
.‫وقوية‬ ‫مرنة‬ ‫تطبيقات‬ ‫إنشاء‬
‫مكتبة‬ ‫تحتوي‬FlexRule‫وا‬ ‫مجموعة‬ ‫على‬‫محركات‬ ‫من‬ ‫سعة‬
‫القواعد‬ ‫مع‬ ‫المحركات‬ ‫هذه‬ ‫تتعامل‬ ،‫القواعد‬ ‫ومعالجة‬ ‫االستدالل‬
‫المطورين‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫نفسها‬ ‫بالطريقة‬ ‫وتعالجها‬ ‫المنطقية‬
.‫بهم‬ ‫الخاصة‬ ‫للقواعد‬ ‫معايير‬ ‫إنشاء‬ ‫في‬ ‫والمصممين‬
‫مكتبة‬ ‫تزود‬FlexRule:‫التالية‬ ‫بالمحركات‬
›‫إجراءي‬ ‫محرك‬Procedural Execution Engine.
›‫استداللي‬ ‫محرك‬Inference Engine.
›( ‫بنية‬ ‫على‬ ‫يعتمد‬ ‫تدفقي‬ ‫محرك‬if/Else‫وهو‬ )Flow Engine.
›‫التدفقية‬ ‫بالمخططات‬ ‫شبيه‬ ‫محرك‬Worflow Engine.
›‫تأكيدي‬ ‫محرك‬Validation Engine.
›‫القرارات‬ ‫باتخاذ‬ ‫خاص‬ ‫جدول‬ ‫على‬ ‫يعتمد‬ ‫محرك‬Decision Table.
‫بحيث‬ ‫بنائها‬ ‫تم‬ ‫المحركات‬ ‫هذه‬ ‫كل‬.‫الخاص‬ ‫تطبيقه‬ ‫ضمن‬ ‫ووضعها‬ ‫تطويها‬ ‫من‬ ‫للمكتبة‬ ‫المستخدم‬ ‫وبإمكان‬ ،‫للتوسع‬ ‫قابلة‬ ‫تكون‬
( ‫الشكل‬4-6)‫مكتبة‬ ‫محركات‬FlexRule
‫القواعد‬ ‫بناء‬ ‫يتم‬‫مكتبة‬ ‫في‬FlexRule‫باستخدام‬3:‫هي‬ ‫طرق‬
-‫لغة‬ ‫باستخدام‬S-Expression.
-‫بلغة‬ ‫مبني‬ ‫ملف‬ ‫باستخدام‬XML.
-‫المطور‬ ‫لغة‬ ‫باستخدام‬ ‫أو‬.‫المكتبة‬ ‫إلى‬ ‫ويدخلها‬ ‫الخاصة‬ ‫لغته‬ ‫يكتب‬ ‫أن‬ ‫للمطور‬ ‫يمكن‬ ‫حيث‬ :‫الخاصة‬
‫الصفحة‬54
( ‫الشكل‬4-7)‫في‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬[17]
FlexRule
‫مكتبة‬ ‫في‬ ‫القواعد‬ ‫تمثيل‬ ‫طريقة‬ ‫عن‬ ‫وكمثال‬FlexRule:‫التالي‬ ‫المثال‬ ‫نأخذ‬
‫الكود‬(4-9)‫قاعدة‬ ‫عن‬ ‫مثال‬XML‫للمكتبة‬FlexRule
‫طريقة‬ ‫باستخدام‬ ‫ولكن‬ ‫نفسها‬ ‫السابقة‬ ‫القواعد‬ ‫لكتابة‬S-Expression:
XML for FlexRule example
<inference>
<reference assembly="FlexRule.Samples.PersonAge.exe"/>
<import type="FlexRule.Samples.Person" />
<import type="FlexRule.Samples.Gender" />
<import type="System.Console" />
<defrule name="older and younger">
<match type="Person" variable="older">
<e>e.Sex == Gender.Female</e>
</match>
<match type="Person" variable="younger">
<p>p.Age &lt; older.Age</p>
<o>o.Sex == Gender.Male</o>
</match>
<then/>
<action context="ctx" name="Print result">
<execute>Console.WriteLine("{0} ({1}) is older than {2} ({3})",
older.Name, older.Age, younger.Name, younger.Age)</execute>
</action>
</defrule>
</inference>
S-Expression Rule example
‫الصفحة‬55
‫الكود‬(4-9)‫قاعدة‬ ‫عن‬ ‫مثال‬XML‫للمكتبة‬FlexRule
4-5‫م‬‫كتبة‬cDevWorkflow:
[𝟏𝟖]
‫نسخة‬ ‫على‬ ‫الحصول‬ ‫يمكن‬ ‫ولكن‬ ،‫تجارية‬ ‫أصبحت‬ ‫فقد‬ ‫حاليا‬ ‫أما‬ ،‫السابق‬ ‫في‬ ‫المصدر‬ ‫مفتوحة‬ ‫كانت‬ ‫المكتبة‬ ‫هذه‬
.‫واحد‬ ‫شهر‬ ‫لمدة‬ ‫واستخدامها‬ ‫المكتبة‬ ‫من‬ ‫تجريبية‬
‫مكتبة‬ ‫تستخدم‬cDevWorkflow.‫جدا‬ ‫وبسيط‬ ‫رسومي‬ ‫وبشكل‬ ‫رسومية‬ ‫مخططات‬ ‫بناء‬ ‫أجل‬ ‫من‬
:‫أهمها‬ ،‫الخصائص‬ ‫ببعض‬ ‫المكتبة‬ ‫تتمتع‬
-.‫التنفيذ‬ ‫عملية‬ ‫في‬ ‫السهولة‬
-‫الجيد‬ ‫الدعم‬‫و‬ ،‫ال‬‫توافق‬‫ال‬.‫قوي‬
-‫لغات‬ ‫مع‬ ‫متوافقة‬.NET‫مثل‬ ‫األخرى‬ ‫العمل‬ ‫ومنصات‬
((Oracle, SharePoint, JAVA, PHP.
-‫المعمارية‬ ‫البنية‬ ‫تدعم‬multi-tenant.
-.‫المكتبة‬ ‫لمستخدمي‬ ‫مخصص‬ ‫مجتمع‬ ‫تبنوا‬ ‫المكتبة‬ ‫عن‬ ‫المسؤولين‬
:‫للرابط‬ ‫الذهاب‬ ‫عبر‬ ‫المكتبة‬ ‫على‬ ‫الحصول‬ ‫يمكن‬http://www.cdevworkflow.com/
4-6‫مكتبة‬NGinn.BPM:
(inference
(reference (@assembly "FlexRule.Samples.PersonAge.exe"))
(import (@type FlexRule.Samples.Person))
(import (@type FlexRule.Samples.Gender))
(import (@type System.Console))
(defrule
(@name "older and younger")
(match
(@type Person) (@variable older)
(e "e.Sex == Gender.Female")
)
(match
(@type Person)
(@variable younger)
(p "p.Age < older.Age")
(o "o.Sex == Gender.Male")
)
->
(action
(@context ctx) (@name "Print result")
(execute 'Console.WriteLine("{0} ({1}) is older than {2} ({3})", older.Name,
older.Age, younger.Name, younger.Age)')
) ) )
‫الصفحة‬56
[22]
،‫القواعد‬ ‫لتحليل‬ ‫تدفقية‬ ‫عمليات‬ ‫وبناء‬ ‫بالقواعد‬ ‫الخاصة‬ ‫العمليات‬ ‫وإدارة‬ ‫المحاكاة‬ ‫عمليات‬ ‫في‬ ‫متخصصة‬ ‫مكتبة‬ ‫عن‬ ‫عبارة‬
‫بيتري‬ ‫شبكات‬ ‫على‬ ‫تعتمد‬ ‫خفيفة‬ ‫نسخة‬ ‫عن‬ ‫عبارة‬ ‫وهي‬Petri nets‫من‬ ‫أفكارها‬ ‫بعض‬ ‫وأخذت‬BPMN.
،‫االتصاالت‬ ‫عمليات‬ ‫مثل‬ ،‫الضخمة‬ ‫العمليات‬ ‫أتمتة‬ ‫على‬ ‫المكتبة‬ ‫تساعد‬‫بعمل‬ ‫شبيه‬ ‫تدفقي‬ ‫عمل‬ ‫مخطط‬ ‫لبناء‬ ‫سماحيتها‬ ‫عبر‬ ‫وذلك‬
‫بالت‬ ‫ويقوم‬ ،‫اإلنسان‬‫التطبيقات‬ ‫بين‬ ‫البيانات‬ ‫بنقل‬ ‫حكم‬‫و‬ ،‫للتواف‬ ‫قابل‬ ‫وسهل‬ ،‫بسيط‬ ،‫مرن‬ ‫تصميم‬ ‫هو‬ ‫المكتبة‬ ‫من‬ ‫األساسي‬ ‫الهدف‬.‫قية‬
‫لغة‬ ‫باستخدام‬ ‫وخصوصا‬ ،‫دائم‬ ‫بشكل‬ ‫المكتبة‬ ‫تطوير‬ ‫يتم‬C#‫البيانات‬ ‫قاعدة‬ ‫وباستخدام‬MS SQL‫التي‬.‫الخلفية‬ ‫في‬ ‫تعمل‬
‫مكتبة‬ ‫تستخدم‬NGinn.BPM‫ملفات‬BPMN/XPDL.‫القواعد‬ ‫لتمثيل‬
:‫هي‬ ‫للمكتبة‬ ‫األساسية‬ ‫الخصائص‬
-‫خفيفة‬ ‫مكتبة‬Ligtweight.‫خارجية‬ ‫مكتبات‬ ‫على‬ ‫اعتمادية‬ ‫دون‬ ‫من‬ ‫تطبيق‬ ‫أي‬ ‫ضمن‬ ‫تضمينها‬ ‫في‬ ‫سهولة‬ ‫تؤمن‬ ‫حيث‬ :
-‫الـ‬ ‫ميزات‬ ‫تؤمن‬ACID‫وهي‬‫البيانات‬ ‫(متانة‬ ‫طويلة‬ ‫فترات‬ ‫على‬ ‫للعمل‬ ‫قابلة‬ ‫تجعلها‬ ‫عمليات‬data durability،
‫اآلنية‬ ‫التحديثات‬atomic updates)....‫كبيرة‬ ‫ومتانة‬ ‫موثوقية‬ ،‫ما‬ ‫فشل‬ ‫أو‬ ‫عطل‬ ‫حدوث‬ ‫حال‬ ‫في‬ ‫المتانة‬ ،
-‫تدعم‬BPMN.‫كامل‬ ‫بشكل‬
-.‫للتوسيع‬ ‫وقابلة‬ ‫قوية‬
-‫تس‬ ‫التي‬ ‫بالذاكرة‬ ‫التحكم‬ ‫حيث‬ ‫من‬ ‫جيد‬ ‫أداء‬ ‫ذات‬.‫تخدمها‬
4-7‫مكتبة‬Workflow Engine.Net:
[𝟐𝟏]
‫البرمجة‬ ‫لغة‬ ‫باستخدام‬ ‫المكتبة‬ ‫تصميم‬ ‫تم‬C#.NET‫ال‬ ‫هذه‬ ‫تستخدم‬ ‫حيث‬ ،،‫الحالة‬ ‫مخططات‬ ‫بناء‬ ‫أجل‬ ‫من‬ ‫مكتبة‬
‫و‬‫لغة‬ ‫باستخدام‬ ‫وتمثيلها‬ ‫بالعمليات‬ ‫الخاصة‬ ‫المخططات‬ ‫تصميم‬ ‫يتم‬XML‫للمخططات‬ ‫المرئي‬ ‫التصميم‬ ‫رؤية‬ ‫الممكن‬ ‫من‬ ‫أيضا‬ ،
‫على‬ ‫اعتمادا‬ ‫وذلك‬HTML5‫و‬JavaScript.
:‫أمور‬ ‫عدة‬ ‫المكتبة‬ ‫تبنيه‬ ‫الذي‬ ‫التدفقي‬ ‫العمليات‬ ‫مخطط‬ ‫يتضمن‬ ‫أن‬ ‫يمكن‬
-‫و‬ ،‫الحالية‬ ‫الحالة‬ ‫من‬ ‫التحقق‬.‫المستخدم‬ ‫ثبوتية‬ ‫تحديد‬
-‫مخطط‬ ‫تنفيذ‬‫شرطي‬condition script.
-‫المؤقتات‬Timers.
-‫ا‬ ‫تحديد‬‫لمشغلين‬Actors.‫العمليات‬ ‫ينفذون‬ ‫اللذين‬ ‫وهم‬
-‫و‬ ‫البارمترات‬ ‫تحديد‬.‫األوامر‬ ‫تحديد‬
-‫العمليات‬ ‫تحديد‬Actions.‫الخارج‬ ‫من‬ ‫تنفيذها‬ ‫يتم‬ ‫التي‬ ‫اإلجراءات‬ ‫وهي‬
-‫النشاطات‬ ‫تحديد‬Activities‫و‬ ،‫االنتقاالت‬ ‫تحديد‬Transitions.
‫بعض‬ ‫المكتبة‬ ‫تحتوي‬‫العامة‬ ‫السمات‬‫وهي‬:
-‫المخطط‬ ‫تصميم‬ ‫إمكانية‬.‫رسومي‬ ‫بشكل‬ ‫ات‬
-.‫استبداله‬ ‫حتى‬ ‫أو‬ ‫وإضافة‬ ‫تعديل‬ ‫من‬ ‫التشغيل‬ ‫وقت‬ ‫في‬ ‫العمل‬ ‫مخطط‬ ‫تغيير‬ ‫الممكن‬ ‫من‬
-)‫الحالة‬ ‫على‬ ‫التغيير‬ ‫دون‬ ‫النهاية‬ ‫حالة‬ ‫إلى‬ ‫البداية‬ ‫حالة‬ ‫من‬ ‫العملية‬ ‫(تنفيذ‬ ‫للعمليات‬ ‫المسبق‬ ‫التنفيذ‬.
-.‫العمل‬ ‫مخططات‬ ‫مستوى‬ ‫على‬ ‫للتطوير‬ ‫وقابلة‬ ‫بسيطة‬ ‫نسخة‬ ‫يعتبر‬
-‫وقابل‬ ‫تسلسلية‬.‫الحاجة‬ ‫عند‬ ‫البارمترات‬ ‫من‬ ‫للتخفيف‬ ‫ة‬
4-8‫مكتبة‬SRE (Simple Rule Engine):
‫الصفحة‬57
[𝟐𝟑]
‫خوارزمية‬ ‫تستخدم‬ ‫خفيفة‬ ‫مكتبة‬ ‫عن‬ ‫عبارة‬forward chaining‫على‬ ‫للعمل‬ ‫ومخصصة‬ ،‫االستدالل‬ ‫عمليات‬ ‫أجل‬ ‫من‬
‫بيئة‬.NET‫للغة‬ ‫استخدامها‬ ‫من‬ ‫تأتي‬ ‫والتي‬ ‫بسهولتها‬ ‫وتتميز‬XML<‫بإمكانها‬ ‫البساطة‬ ‫هذه‬ ‫ولكن‬ ،‫والحقائق‬ ‫القواعد‬ ‫تمثيل‬ ‫في‬
.‫المعقدة‬ ‫العمليات‬ ‫وحل‬ ‫إنجاز‬
4-9‫مكتبة‬Stateless:
[𝟐𝟎]
‫الـ‬ ‫إنشاء‬ ‫في‬ ‫متخصصة‬ ‫مكتبة‬state machines‫العمل‬ ‫طريقة‬ ‫تمثل‬ ‫تدفقية‬ ‫مخططات‬ ‫بناء‬ ‫على‬ ‫أساسي‬ ‫بشكل‬ ‫وتعتمد‬
‫لغة‬ ‫باستخدام‬ ‫مباشرة‬ ‫كتابتها‬ ‫يمكن‬ ‫والتي‬C#.
4-10‫مكتبة‬Softix.Orchestration:
[𝟏𝟗]
‫محرك‬ ‫على‬ ‫تعتمد‬ ‫بسيطة‬ ‫مكتبة‬workflow‫بلغات‬ ‫وكتبت‬.NET‫المخططات‬ ‫وتشغيل‬ ‫بإنشاء‬ ‫للمبرمجين‬ ‫لتسمح‬
.‫التدفقية‬
‫الصفحة‬58
‫الفصل‬‫الخامس‬:
‫الحديثة‬ ‫الويب‬ ‫تقنيات‬
:‫الفصل‬ ‫هذا‬ ‫في‬
›.‫الويب‬ ‫تطبيقات‬ ‫بناء‬
›‫تقنية‬ASP.
›‫تقنية‬AJAX.
›‫مكتبة‬JQUERY.
›‫مكتبة‬BOOTSTRAP.
‫الصفحة‬59
‫الفصل‬‫الخامس‬-:‫الحديثة‬ ‫الويب‬ ‫تقنيات‬
5-1‫الويب‬ ‫تطبيقات‬ ‫بناء‬Web application:
‫تطبيقات‬ ‫جعلت‬ ‫التي‬ ‫واللغات‬ ‫التقنيات‬ ‫ظهور‬ ‫بعد‬ ‫خصوصا‬ ‫واضحا‬ ‫األنترنيت‬ ‫على‬ ‫تعمل‬ ‫تطبيقات‬ ‫بتصميم‬ ‫االهتمام‬ ‫أصبح‬
‫على‬ ‫تعمل‬ ‫عادية‬ ‫مكتبية‬ ‫تطبيقات‬ ‫وكأنها‬ ‫تعمل‬ ‫األنترنيت‬‫تحل‬ ‫ال‬ ‫بميزات‬ ‫األنترنيت‬ ‫تطبيقات‬ ‫اتسمت‬ ‫حتى‬ ‫بل‬ ،‫الحواسيب‬ ‫أجهزة‬‫م‬
.‫العالم‬ ‫في‬ ‫منطقة‬ ‫أي‬ ‫إلى‬ ‫مفتوحة‬ ‫عالمية‬ ‫منصة‬ ‫على‬ ‫وجودها‬ ‫وخاصة‬ ‫المكتبية‬ ‫التطبيقات‬ ‫بها‬
‫لغة‬ ‫هي‬ ‫الويب‬ ‫مواقع‬ ‫تصميم‬ ‫بواسطتها‬ ‫يتم‬ ‫التي‬ ‫اللغة‬ ‫إن‬HTML‫للجملة‬ ‫اختصار‬ ‫وهي‬(Hypertext Markup Language)
‫مثل‬ ‫مثلها‬ ‫رمزية‬ ‫لغة‬ ‫وتعتبر‬XML‫لغة‬ ‫وهو‬ ‫واحد‬ ‫منشأهما‬ ‫و‬LGPL.
( ‫نصوص‬ ‫من‬ ‫اللغة‬ ‫هذه‬ ‫تتكون‬texts( ‫ورموز‬ ،)tags( ‫الوثيقة‬ ‫بعناصر‬ ‫تحيط‬ )document
elements.‫معين‬ ‫رابط‬ ‫على‬ ‫النقر‬ ‫عند‬ ‫عمله‬ ‫ينبغي‬ ‫ما‬ ‫ض‬ ِ‫المستعر‬ ‫للبرنامج‬ ‫اللغة‬ ‫هذه‬ ‫وتبين‬ ،‫وتحددها‬ )
‫والواقع‬‫لغة‬ ‫أن‬HTML‫المعايير‬ ‫مع‬ ً‫ا‬‫تطابق‬ ‫وأكثرها‬ ،‫الويب‬ ‫مجال‬ ‫في‬ ‫شيوعا‬ ‫اللغات‬ ‫أكثر‬ ‫من‬ ‫هي‬
،‫المجال‬ ‫هذا‬ ‫في‬ ‫دة‬َ‫م‬َ‫ت‬‫المع‬‫لهاهو‬ ‫إصدار‬ ‫وآخر‬HTML5.
‫ملفات‬ ‫تكتب‬HTML( ‫بسيطة‬ ‫نصوص‬ ‫ملفات‬ ‫صورة‬ ‫في‬Plain Text‫االمتداد‬ ‫تأخذ‬ ،)html‫أو‬ ‫عادة‬
‫االمتداد‬htm.‫النصوص‬ ‫بكتابة‬ ‫متخصص‬ ‫برنامج‬ ‫أي‬ ‫في‬ ‫وتكتب‬ ،
‫ك‬‫بلغة‬ ‫مكتوب‬ ‫كود‬ ‫عن‬ ‫مثال‬HTML:
‫الكود‬(5-1)‫كود‬ ‫عن‬ ‫مثال‬HTML
HTML code
<html>
<head><title>Pgae Title</title></head>
<body>
<br>
<form name="form1">
<table border="0">
<tr>
<td>Name</td>
<td><input type="text" name="textname" size="10"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="textpass" size="10"></td>
</tr>
</table>
<br>
<input name="button1" type="button" value="do anything();">
&nbsp;&nbsp;&nbsp;
<input type="reset" value="Clear">
</form>
</body>
</html>
‫الصفحة‬60
‫باستخدام‬ ‫كتابته‬ ‫يمكن‬ ‫شكل‬ ‫ولون‬ ‫حجم‬ ‫من‬ ‫الصفحة‬ ‫على‬ ‫المتوضعة‬ ‫األدوات‬ ‫تنسيق‬ ‫إن‬HTML‫وضع‬ ‫يتم‬ ‫ما‬ ‫غالبا‬ ‫ولكن‬
‫تسمى‬ ‫بلغة‬ ‫مكتوب‬ ‫خاص‬ ‫ملف‬ ‫ضمن‬ ‫الويب‬ ‫صفحة‬ ‫بمحتوى‬ ‫الخاص‬ ‫التنسيق‬CSS‫لـ‬ ‫اختصار‬ ‫وهي‬(Cascade Style
Sheet)‫االنسيابية‬ ‫األنماط‬ ‫صفحات‬ ‫أي‬.[5]
‫تعتبر‬‫لغة‬CSS‫هو‬ ‫لها‬ ‫إصدار‬ ‫وآخر‬ ،‫تحتويها‬ ‫التي‬ ‫واأللوان‬ ‫األدوات‬ ‫تنسيق‬ ‫توضيح‬ ‫في‬ ‫متخصصة‬ ‫وهي‬ ‫بسيطة‬CSS 3.
‫تنسيق‬ ‫على‬ ‫وكمثال‬CSS:‫التالي‬ ‫الكود‬
‫الكود‬(5-2)‫كود‬ ‫عن‬ ‫مثال‬CSS
‫باستخدام‬ ‫المكتوبة‬ ‫الصفحة‬HTML‫األوامر‬ ‫بعض‬ ‫وتنفذ‬ ‫روح‬ ‫ذات‬ ‫نجعلها‬ ‫ولكي‬ ،‫فيها‬ ‫روح‬ ‫ال‬ ‫ثابتة‬ ‫صفحة‬ ‫تكون‬ ‫فقط‬
‫الـ‬ ‫لغة‬ ‫وأشهرها‬ ‫العميل‬ ‫بجهة‬ ‫الخاصة‬ ‫لغات‬ ‫إحدى‬ ‫نستخدم‬ ‫المستخدم‬ ‫بها‬ ‫يقوم‬ ‫التي‬ ‫العمليات‬ ‫بحسب‬JavaScript‫وهي‬ ،
‫لغة‬‫برمجة‬‫نصية‬Script‫صممت‬ ،‫إلضافة‬‫التفاعلية‬‫لصفحات‬HTML‫وهي‬ ،‫عبارة‬‫عن‬‫أسطر‬‫قاب‬‫لة‬‫ويتم‬ ‫للتنفيذ‬‫تضمينها‬
‫مباشرة‬‫في‬‫صفحات‬HTML‫من‬ ‫لترخيص‬ ‫حاجة‬ ‫هناك‬ ‫وليس‬ ،‫المشهورة‬ ‫الويب‬ ‫متصفحات‬ ‫كافة‬ ‫من‬ ‫مدعومة‬ ‫بأنها‬ ‫وتتميز‬ ،
.‫استخدامها‬ ‫أجل‬
‫لغة‬ ‫تلعب‬JavaScript‫دور‬‫حيوي‬‫وفعال‬‫في‬‫صفحات‬‫الويب‬‫من‬‫خالل‬‫بوظائف‬ ‫القيام‬‫قد‬‫تكون‬‫خارجية‬‫أو‬‫داخلية‬‫وتتميز‬
‫بمرونتها‬‫إلى‬‫درجة‬‫التحكم‬ ‫على‬ ‫قادرا‬ ‫المبرمج‬ ‫تجعل‬‫بكل‬‫جزء‬‫من‬‫صفحة‬ ‫أجزاء‬‫الويب‬‫مثال‬‫في‬‫الـ‬forms‫النوافذ‬ ‫في‬ ‫أو‬
‫التي‬‫تخرج‬‫للمستخدم‬‫لتخبره‬‫بأمر‬‫أو‬ ‫معين‬‫تنبهه‬‫وغيرها‬‫من‬‫االستخدامات‬‫تعد‬‫الروح‬‫التي‬‫يبثها‬‫مطور‬‫الويب‬‫في‬‫صفحاته‬
‫برمجتها‬ ‫اثناء‬‫و‬ ،‫بلغة‬ ‫مكتوب‬ ‫كود‬ ‫عن‬ ‫كمثال‬Java Script:‫التالي‬ ‫المثال‬
‫الكود‬(5-3)‫كود‬ ‫عن‬ ‫مثال‬JavaScript
CSS code
<style type = "text/css">
body { background-color: #ccffcc }
div { text-align: center;
margin-bottom: 1em;
padding: .5em }
.thick { border-width: thick }
.medium { border-width: medium }
.thin { border-width: thin }
.groove { border-style: groove }
.inset { border-style: inset }
.outset { border-style: outset }
</style>
JScript code
<script language="javascript">
function doCheck()
{
if(form1.textname.value!="" || form1.textpass.value!=""){
alert(form1.textname.value);
document.write(form1.textpass.value);
}
else
alert("enter data first !");
}
</script>
‫الصفحة‬61
‫كود‬ ‫بإضافة‬ ‫نقوم‬ ‫األخرى‬ ‫المتقدمة‬ ‫واألشياء‬ ‫البيانات‬ ‫قواعد‬ ‫مع‬ ‫التعامل‬ ‫بإمكانها‬ ‫وتصبح‬ ‫أكثر‬ ‫ديناميكية‬ ‫الصفحة‬ ‫نجعل‬ ‫لكي‬
‫لغة‬ ‫عليها‬ ‫ومثال‬ ،‫المخدم‬ ‫برمجة‬ ‫لغات‬ ‫تدعى‬ ‫والتي‬ ‫المتقدمة‬ ‫البرمجة‬ ‫لغات‬ ‫بإحدى‬ ‫مكتوب‬PHP‫أو‬‫تقنية‬ASP.NET‫وهي‬
‫صفحا‬ ‫لبرمجة‬ ‫مخصصة‬ ‫برمجية‬ ‫لغات‬ ‫عن‬ ‫عبارة‬.‫المخدم‬ ‫جهة‬ ‫من‬ ‫الويب‬ ‫ت‬
:‫وهي‬ ‫رئيسية‬ ‫أنواع‬ ‫ثالثة‬ ‫إلى‬ ‫الويب‬ ‫مواقع‬ ‫تقسيم‬ ‫يمكننا‬ ‫سابقا‬ ‫تبين‬ ‫وبما‬
1.‫مواقع‬‫ثابتة‬Static page‫تكون‬ ‫التي‬ ‫المواقع‬ ‫وهي‬ :‫عبارة‬‫عن‬‫مجموعة‬‫من‬‫التوصيفات‬‫باستخدام‬HTML‫حيث‬
‫صور‬ ‫فيها‬ ‫استخدام‬ ‫يمكن‬‫وفالشات‬‫وخالفه‬‫ولكن‬‫ال‬‫يوجد‬‫أي‬‫نوع‬‫من‬‫أنواع‬‫المعالجة‬‫في‬‫هذا‬‫الموقع‬.
2.‫مواقع‬‫ديناميكية‬‫عند‬‫العميل‬:Cleint‫هذا‬‫النوع‬‫من‬‫المواقع‬‫يتمتع‬‫ببعض‬‫أنواع‬‫المعالجة‬‫ولكنها‬‫تظل‬‫جانب‬ ‫في‬
‫العميل‬،‫فقط‬‫يتم‬‫في‬‫هذه‬‫استخدام‬ ‫المواقع‬Scripts‫مثل‬VBScript‫و‬JavaScript.
3.‫مواقع‬‫هذا‬ :‫ديناميكية‬‫النوع‬‫يتم‬‫عمل‬‫معالجة‬‫لبياناته‬‫في‬‫السيرفر‬‫وتحصل‬‫انت‬‫فقط‬‫على‬‫الذي‬ ‫الناتج‬‫يمكن‬‫ان‬‫يكون‬
‫من‬‫النوع‬‫األول‬،‫والثاني‬‫في‬‫هذه‬‫الحالة‬‫يسمى‬‫تطبيق‬‫انترنت‬‫وليس‬‫برمجة‬ ‫لغات‬ ‫استخدام‬ ‫ويتم‬ ،‫انترنت‬ ‫موقع‬
‫مثل‬ ‫بالخادم‬ ‫خاصة‬PHP‫بيئة‬ ‫استخدام‬ ‫يمكن‬ ‫أو‬ASP.NET.
5-2‫بيئة‬ASP.NET:
[𝟐𝟒]
‫تعتبر‬ASP.net‫مايكروسوفت‬ ‫شركة‬ ‫من‬ ‫برمجية‬ ‫بيئة‬ ‫بل‬ ،‫برمجية‬ ‫لغة‬ ‫ليست‬ ‫وهي‬ ،‫الويب‬ ‫صفحات‬ ‫لبناء‬ ‫عمل‬ ‫بيئة‬
‫المواقع‬ ‫وتطوير‬ ‫إلنشاء‬ ‫موجهة‬.
‫هنالك‬ ‫كانت‬ ‫بدايتها‬ ‫في‬ASP‫بدون‬.NET‫عن‬ ‫عبارة‬ ‫وهي‬VBScript‫وبعد‬ ،‫كثيرة‬ ‫عيوب‬ ‫وبها‬ ‫وبطيئة‬ ‫بالمشاكل‬ ‫مليئة‬ ‫وكانت‬ ،
‫صدور‬.NET‫الـ‬ ‫بتطوير‬ ‫مايكروسوفت‬ ‫قامت‬ASP‫وموجهة‬ ‫إطارها‬ ‫ضمن‬ ‫وجعلها‬
‫في‬ ‫كان‬ ‫األول‬ ‫فاإلصدار‬ ‫المواقع‬ ‫لتطوير‬2002‫بيئة‬ ‫تطور‬ ‫مع‬ ‫عليها‬ ‫التطويرات‬ ‫وتتابعت‬ ،
‫الـ‬.NET‫الـ‬ ‫إصدار‬ ‫تم‬ ‫حيث‬ASP.NET 1.1‫الـ‬ ‫في‬2003‫الـ‬ ‫ظهرت‬ ‫ثم‬ASP.NET
2.0‫عام‬ ‫في‬2005‫عام‬ ‫وفي‬ ،2008‫ظهرت‬ASP.NET 3.0‫الـ‬ ‫و‬ASP.NET 3.5
‫عام‬ ‫وفي‬2010‫ظهر‬ASP.NET 4.0.
‫مميزات‬ASP.NET:
-.‫تفسر‬ ‫وال‬ ‫تترجم‬ ‫ألنها‬ ‫سريعة‬
-.‫بها‬ ‫المبرمج‬ ‫المواقع‬ ‫اختراق‬ ‫من‬ ‫تخفف‬ ‫معينة‬ ‫آليات‬ ‫هنالك‬ ‫حيث‬ ‫آمنة‬
-.‫نت‬ ‫الدوت‬ ‫مكتبة‬ ‫شك‬ ‫بال‬ ‫وهي‬ ‫ضخمة‬ ‫أكواد‬ ‫مكتبة‬ ‫تحتوي‬
-.‫وعديدة‬ ‫كثيرة‬ ‫جاهزة‬ ‫أدوات‬
-‫وهي‬ ‫متكاملة‬ ‫تطوير‬ ‫بيئة‬.‫ستوديو‬ ‫الفيجوال‬ ‫شك‬ ‫أدنى‬ ‫بدون‬
-‫تستخدم‬ ‫أن‬ ‫يمكن‬ ‫حيث‬ ‫اللغات‬ ‫وتعدد‬ ‫تكامل‬ASP.NET( ‫أهمها‬ ‫ولكن‬ ‫اللغات‬ ‫من‬ ‫بالكثير‬Visual Basic .Net،
C#.Net،J#.Net،Iron Python.)... ،
‫صفحة‬ ‫طلب‬ ‫عند‬ASP.NET‫إلى‬ ‫األمر‬ ‫نهاية‬ ‫في‬ ‫تتحول‬ ‫الصفحة‬ ‫فإن‬HTML‫الـ‬ ‫يفهمها‬ ‫خاصة‬ ‫ولغة‬ ‫المتصفح‬ ‫يفهمها‬ ‫التي‬
Server‫الكود‬ ‫شكل‬ ‫صياغة‬ ‫في‬ ‫السابقة‬ ‫اللغات‬ ‫من‬ ‫لغة‬ ‫أية‬ ‫استخدام‬ ‫من‬ ‫بأس‬ ‫فال‬(syntax)‫وخبرته‬ ‫ذوقه‬ ‫حسب‬ ‫يختار‬ ‫فكل‬.
‫تؤمن‬ASP.NET:‫األنواع‬ ‫هذه‬ ،‫باستخدامها‬ ‫برمجتها‬ ‫يمكن‬ ‫التي‬ ‫التطبيقات‬ ‫من‬ ‫أنواع‬ ‫ثالثة‬
1.‫التطوير‬ ‫نموذج‬Web Forms:
‫العمل‬ ‫لبيئة‬ ‫التقليدي‬ ‫هو‬ ‫النموذج‬ ‫هذا‬ASP.NET‫طريقة‬ ‫علي‬ ‫يعتمد‬Event Driven‫والـ‬Post Backs‫بمعنى‬
‫لكل‬ ‫األحداث‬ ‫إدارة‬Control‫الـ‬ ‫هو‬ ‫العملية‬ ‫هذه‬ ‫علي‬ ‫والمشرف‬ ‫له‬ ‫معين‬ ‫حدث‬ ‫بتخصيص‬ ‫الصفحة‬ ‫على‬ ‫عنصر‬ ‫أو‬
‫الصفحة‬62
post backs‫الـ‬ ‫ومطورين‬ ‫عديدة‬ ‫سنوات‬ ‫منذ‬ ،ASP.NET‫اال‬ ‫هذا‬ ‫يستخدمون‬‫الكبيرة‬ ‫المواقع‬ ‫وانشاء‬ ‫لتطوير‬ ‫سلوب‬
‫العالم‬ ‫في‬.
2.‫التطوير‬ ‫نموذج‬MVC:
‫التصميم‬ ‫نمط‬ ‫باستخدام‬ ‫الويب‬ ‫تطبيقات‬ ‫لتطوير‬ ‫هو‬ ‫النموذج‬ ‫هذا‬Model-View-Controller‫يعرف‬ ‫كما‬ ‫اي‬
‫بـ‬ ً‫ا‬‫اختصار‬MVC‫التصميم‬ ‫ونمط‬MVC‫التطبيق‬ ‫فصل‬ ‫بمعنى‬ ،‫منفصلة‬ ‫بطريقة‬ ‫التطبيقات‬ ‫لتطوير‬ ‫رائعة‬ ‫طريقة‬ ‫هو‬
‫لـ‬3‫العرض‬ ‫لطبقة‬ ‫واحدة‬ ،‫طبقات‬UI‫وتسمي‬Views‫وتسمي‬ ‫البيانات‬ ‫قاعدة‬ ‫مع‬ ‫للتعامل‬ ‫واألخرى‬Models
‫وتسمى‬ ‫ببعض‬ ‫االثنين‬ ‫لربط‬ ‫واالخيرة‬Controllers.
3.‫التطوير‬ ‫نموذج‬Web Pages:
‫مع‬ ‫العهد‬ ‫حديث‬ ‫كنت‬ ‫إذا‬ASP.NET‫نماذج‬ ‫من‬ ‫نموذج‬ ‫اسهل‬ ‫هو‬ ‫هذا‬ . ‫كبداية‬ ‫النموذج‬ ‫هذا‬ ‫اختيار‬ ‫يمكنك‬
ASP.NET‫المواقع‬ ‫لتصميم‬.
( ‫الشكل‬5-1)‫باستخدام‬ ‫برمجتها‬ ‫يمكن‬ ‫التي‬ ‫التطبيقات‬ ‫أنواع‬[24]
ASP.NET
5-3‫تقنية‬AJAX:
‫للمصطلح‬ ‫اختصار‬ ‫هي‬Asynchronous JavaScript and XML‫وهي‬
‫عن‬ ‫عبارة‬ ‫هي‬ ‫بل‬ ‫الويب‬ ‫برمجة‬ ‫مجال‬ ‫في‬ ‫جديد‬ ‫مفهوم‬ ‫أو‬ ‫ذاتها‬ ‫بحد‬ ‫بتقنية‬ ‫ليست‬
‫مجتمعة‬ ‫تكون‬ ‫بحيث‬ ‫أصال‬ ‫الموجودة‬ ‫التقنيات‬ ‫من‬ ‫مجموعة‬ ‫الستخدام‬ ‫إعطاءه‬ ‫تم‬ ‫اسم‬
‫يسمى‬ ‫ما‬ ‫تحت‬ ‫البعض‬ ‫بعضها‬ ‫مع‬AJAX.
‫بواسطة‬ ‫يمكن‬AJAX‫واكثر‬ ‫تفاعليه‬ ‫اكثر‬ ‫تكون‬ ‫بحيث‬ ‫الويب‬ ‫تطبيقات‬ ‫تطوير‬
،‫السيرفر‬ ‫الى‬ ‫العودة‬ ‫حاالت‬ ‫من‬ ‫التقليل‬ ‫يتم‬ ‫بواسطتها‬ ‫انه‬ ‫حيث‬ ،‫للمستخدم‬ ‫استجابة‬
.‫الصفحة‬ ‫تحميل‬ ‫وإعادة‬
‫جمعتها‬ ‫التي‬ ‫التقنيات‬ ‫إن‬AJAX:‫هي‬ ‫اسمها‬ ‫تحت‬
- HTML, CSS, DHTML.
- JavaScript .
- XML.
- XMLHttpRequest .
‫الصفحة‬63
‫الـ‬ ‫تستخدم‬AJAX‫طريقة‬ ‫إلى‬ ‫النظر‬ ‫يمكن‬ ‫حيث‬ ،‫تفرعي‬ ‫بشكل‬ ‫أوامر‬ ‫واستقبال‬ ‫إرسال‬ ‫على‬ ‫قادرا‬ ‫المستعرض‬ ‫جعل‬ ‫أجل‬ ‫من‬
‫عمل‬AJAX:‫يلي‬ ‫كما‬
‫الشكل‬(5-2)‫الـ‬ ‫عمل‬ ‫طريقة‬[25]
AJAX
‫الـ‬ ‫تتيح‬AJAX‫صفحة‬ ‫على‬ ‫الطلب‬ ‫معالجة‬ ‫يتم‬ ‫حيث‬ ،‫المكتب‬ ‫سطح‬ ‫تطبيق‬ ‫على‬ ‫نعمل‬ ‫وكأننا‬ ‫الويب‬ ‫متصفحات‬ ‫على‬ ‫العمل‬ ‫إمكانية‬
‫تتمثل‬ ‫التي‬ ‫الويب‬ ‫على‬ ‫للعمل‬ ‫التقليدية‬ ‫الطريقة‬ ‫وهي‬ ‫جديدة‬ ‫صفحة‬ ‫إلى‬ ‫االنتقال‬ ‫إلى‬ ‫الحاجة‬ ‫بدون‬ ‫عليها‬ ‫العمل‬ ‫يتم‬ ‫التي‬ ‫اإلنترنت‬
‫المستخدم‬ ‫قبل‬ ‫من‬ ‫البيانات‬ ‫بإرسال‬Client Side‫الشبكة‬ ‫خادم‬ ‫بيانات‬ ‫قاعدة‬ ‫باتجاه‬Server Side‫في‬ ‫المعلومات‬ ‫تخزين‬ ‫ليتم‬
‫طرأت‬ ‫التي‬ ‫التغيرات‬ ‫ليالحظ‬ ‫جديد‬ ‫من‬ ‫المستخدم‬ ‫إلى‬ ‫المعدلة‬ ‫الجديدة‬ ‫المعلومات‬ ‫وإرسال‬ ‫ومعالجتها‬ ‫الشبكة‬ ‫خادم‬ ‫بيانات‬ ‫قاعدة‬
‫تقنية‬ ‫أما‬ ‫الصفحة‬ ‫على‬AJAX‫وذلك‬ ‫والطلبات‬ ‫التعديالت‬ ‫هذه‬ ‫اجراء‬ ‫من‬ ‫تمكنك‬‫يتم‬ ‫بل‬ ‫جديد‬ ‫من‬ ‫التحميل‬ ‫إعادة‬ ‫إلى‬ ‫الحاجة‬ ‫دون‬
‫من‬ ‫ان‬ .‫جانبي‬ ‫اتصال‬ ‫طريق‬ ‫عن‬ ‫وذلك‬ ‫الشبكة‬ ‫بخادم‬ ‫اتصال‬ ‫حالة‬ ‫في‬ ‫وهي‬ ‫الصفحة‬ ‫نفس‬ ‫في‬ ‫عليه‬ ‫التعديل‬ ‫المراد‬ ‫الجزء‬ ‫تغيير‬
‫الشب‬ ‫خادم‬ ‫على‬ ‫الحاصل‬ ‫الجهد‬ ‫من‬ ‫يقلل‬ ‫مما‬ ‫الزوار‬ ‫من‬ ‫كبير‬ ‫عدد‬ ‫يزورها‬ ‫التي‬ ‫المواقع‬ ‫هي‬ ‫التقنيات‬ ‫هذه‬ ‫من‬ ‫يستفيد‬‫والز‬ ‫كة‬‫من‬
‫المتصفح‬ ‫لدى‬ ‫الموقع‬ ‫الستجابة‬ ‫الالزم‬.
5-3-1‫الـ‬ ‫عمل‬ ‫طريقة‬AJAX:
‫الـ‬ ‫عمل‬ ‫مفهوم‬ ‫لتوضيح‬AJAX‫على‬ ‫القائمة‬ ‫الويب‬ ‫وتطبيقات‬ ‫التقليدية‬ ‫الويب‬ ‫تطبيقات‬ ‫عمل‬ ‫بين‬ ‫مقارنة‬ ‫نعمل‬ ‫سوف‬ ،
‫الـ‬AJAX.
‫إرسال‬ ‫في‬ ‫متمثلة‬ ‫المستخدم‬ ‫نشاطات‬ ‫اغلب‬ ‫تكون‬ ،‫التقليدية‬ ‫الويب‬ ‫تطبيقات‬ ‫في‬‫السيرف‬ ‫يقوم‬ ،‫السيرفر‬ ‫الى‬ ‫طلبات‬‫بمعالجه‬ ‫ر‬
‫صورة‬ ‫في‬ ‫إرسالها‬ ‫ثم‬ ‫البيانات‬ ‫على‬ ‫والحصول‬ ،‫الطلبات‬HTML‫الصفحة‬ ‫كامل‬ ‫تحديث‬ ‫وبالتالي‬ ‫المستخدم‬ ‫متصفح‬ ‫إلى‬
‫الماوس‬ ‫بمؤشر‬ ‫التحديق‬ ‫و‬ ‫االنتظار‬ ،‫المستخدم‬ ‫مهمة‬ ‫تكون‬ ‫المخدم‬ ‫إلى‬ ‫الطلبات‬ ‫إرسال‬ ‫فترة‬ ‫وفي‬ ،‫المتصفح‬ ‫في‬ ‫الموجودة‬
‫على‬ ‫الذي‬.‫للنتيجة‬ ‫انتظار‬ ‫حالة‬ ‫في‬ ‫دخل‬ ‫قد‬ ‫المستعرض‬ ‫يكون‬ ‫حيث‬ ،‫رملية‬ ‫ساعه‬ ‫شكل‬
‫الـ‬ ‫على‬ ‫القائمة‬ ‫التطبيقات‬ ‫في‬ ‫بينما‬AJAX‫الطلبات‬ ‫هي‬ ‫السيرفر‬ ‫إلى‬ ‫إرسالها‬ ‫يتم‬ ‫التي‬ ‫الطلبات‬ ‫إن‬ ‫حيث‬ ،‫يختلف‬ ‫االمر‬ ‫فإن‬ ،
،‫فقط‬ ‫تحديث‬ ‫إلى‬ ‫تحتاج‬ ‫التي‬‫محرك‬ ‫بواسطة‬ ‫ذلك‬ ‫ويتم‬AJAX Engine‫كود‬ ‫عن‬ ‫عبارة‬ ‫وهو‬JavaScript‫مع‬ ‫تحميله‬ ‫يتم‬
‫على‬ ‫العمل‬ ‫مواصلة‬ ‫للمستخدم‬ ‫يمكن‬ ‫حيث‬ ،‫الصفحة‬ ‫كل‬ ‫تحديث‬ ‫إعادة‬ ‫إلى‬ ‫حاجة‬ ‫توجد‬ ‫ال‬ ‫وبالتالي‬ ،‫المتصفح‬ ‫إلى‬ ‫الصفحة‬
.‫الصفحة‬ ‫من‬ ‫المحدد‬ ‫الجزء‬ ‫وتحديث‬ ‫الطلب‬ ‫إرسال‬ ‫يتم‬ ‫بينما‬ ،‫الصفحة‬
‫الوي‬ ‫تطبيقات‬ ‫من‬ ‫كل‬ ‫في‬ ،‫المستخدم‬ ‫تفاعل‬ ‫عمليات‬ ‫توضح‬ ‫التالية‬ ‫األشكال‬‫على‬ ‫القائمة‬ ‫الويب‬ ‫وتطبيقات‬ ،‫التقليدية‬ ‫ب‬‫الـ‬
AJAX:
‫الصفحة‬64
‫الشكل‬(5-3)‫عمل‬ ‫طريقة‬‫التقليدية‬ ‫الويب‬ ‫تطبيقات‬[25]
‫الشكل‬(5-4)‫عمل‬ ‫طريقة‬‫الويب‬ ‫تطبيقات‬‫على‬ ‫المعتمدة‬[25]
AJAX
AJAX Engine Example
function connect()
{
var xmlhttp;
try {
xmlhttp = new XMLHttpRequest();
}
catch (err) {
try {
xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
}
catch (err) {
try {
xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP.3.0”);
}
catch (err) {
xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP.6.0”);
}
‫الصفحة‬65
‫محرك‬ ‫على‬ ‫مثال‬ ‫األسفل‬ ‫في‬ ‫الذي‬ ‫الكود‬ ‫في‬ ‫يظهر‬AJAX:‫التطبيق‬ ‫في‬ ‫استخدامه‬ ‫تم‬
‫الكود‬(5-4)‫تقنية‬ ‫تنفيذ‬ ‫ملف‬AJAX
5-4‫مكتبة‬JQuery:
[6]
‫الـ‬JQuery‫بلغة‬ ‫مكتوبة‬ ‫المصدر‬ ‫ومفتوحة‬ ‫مجانية‬ ،‫جاهزة‬ ‫مكتبة‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫بل‬ ‫برمجة‬ ‫لغة‬ ‫ليست‬JavaScript
‫المبرمج‬ ‫كتبها‬ ‫وقد‬ ،‫األكواد‬ ‫من‬ ‫قليلة‬ ‫بأسطر‬ ‫البرمجية‬ ‫واألكواد‬ ‫األمور‬ ‫من‬ ‫بالعديد‬ ‫القيام‬ ‫من‬ ‫الويب‬ ‫لمطوري‬ ‫تسمح‬John Resig
‫عام‬ ‫البداية‬ ‫في‬2006‫بالت‬ ‫المبرمجين‬ ‫من‬ ‫فريق‬ ‫طورها‬ ‫ثم‬‫من‬ ‫والهدف‬ ،‫معه‬ ‫عاون‬
‫الـ‬ ‫شيفرات‬ ‫المبرمجين‬ ‫بها‬ ‫يكتب‬ ‫التي‬ ‫الطريقة‬ ‫تغيير‬ ‫كتابتها‬JavaScript‫على‬
‫الـ‬ ‫كتابة‬ ‫طريقة‬ ‫أصبحت‬ ‫حيث‬ ،‫مؤسسها‬ ‫قول‬ ‫حد‬Java Script.‫وأبسط‬ ‫أسهل‬
:‫جملة‬ ‫على‬ ‫المكتبة‬ ‫تعتمد‬"write less, do more"‫من‬ ‫العديد‬ ‫تحوي‬ ‫حيث‬
.‫وحيد‬ ‫برمجي‬ ‫بسطر‬ ‫األسطر‬ ‫عشرات‬ ‫تختصر‬ ‫التي‬ ‫التعليمات‬
‫ملفات‬ ‫على‬ ‫العمل‬ ‫واختصار‬ ‫والسرعة‬ ‫والسهولة‬ ‫بالبساطة‬ ‫المكتبة‬ ‫تتميز‬HTML‫أنها‬ ‫كما‬ ،‫عناصرها‬ ‫مع‬ ‫والتعامل‬ ‫وتحليلها‬
‫برمج‬ ‫يتم‬ ‫التي‬ ‫الصفحات‬ ‫على‬ ‫والحركة‬ ‫الحيوية‬ ‫تضيف‬ ‫كما‬ ‫لألحداث‬ ‫معالجة‬ ‫عملية‬ ‫تضيف‬،‫تها‬‫تيسير‬ ‫وهي‬ ‫األهم‬ ‫للميزة‬ ‫باإلضافة‬
‫الـ‬ ‫عمل‬ ‫وتسهيل‬AJAX‫الـ‬ ‫شجرة‬ ‫على‬ ‫معالجة‬ ‫عمليات‬ ‫إلجراء‬ ‫تعليمات‬ ‫على‬ ‫تحتوي‬ ‫بأنها‬ ‫أيضا‬ ‫المكتبة‬ ‫تتميز‬ ‫أيضا‬ ،DOM.
‫مكتبة‬ ‫مميزات‬ ‫تلخيص‬ ‫يمكن‬JQuery:‫التالية‬ ‫بالمميزات‬
-‫ومعالجة‬ ‫لدعم‬ ‫خاصة‬ ‫ووظائف‬ ‫طرق‬ ‫تقدم‬HTML/DOM.
-‫معالجة‬CSS.
-‫بأحداث‬ ‫التحكم‬HTML.
}
}
return xmlhttp;
}
function statechange()
{
if (this.readyState == 4 && this.status == 200) {
document.getElementById(“Jax”).innerHTML = this.responseText;
alert(this.responseText)
}
}
function AJAX_connection(page)
{
var xmlhttp;
xmlhttp = connect();
xmlhttp.onreadystatechange = statechange;
xmlhttp.open(“GET”, page, true);
xmlhttp.send();
}
‫الصفحة‬66
-‫وحركات‬ ‫تأثيرات‬ ‫تنفيذ‬ ‫إمكانية‬animations.
-‫الـ‬ ‫دعم‬AJAX.
-‫الـ‬ ‫مكتبات‬ ‫أسرع‬ ‫إحدى‬ ‫تعتبر‬ ‫حيث‬ ‫التطبيق‬ ‫العام‬ ‫األداء‬ ‫زيادة‬ ‫في‬ ‫تساعد‬Java Script.‫انتشارا‬ ‫وأكثرها‬
-.‫المتصفحات‬ ‫أغلب‬ ‫من‬ ‫مدعومة‬ ‫وتطبيقات‬ ‫ومواقع‬ ‫صفحات‬ ‫تصميم‬ ‫في‬ ‫تساعد‬
-‫وتجميل‬ ‫تحسين‬ ‫في‬ ‫تساعد‬‫االكواد‬ ‫من‬ ‫االسطر‬ ‫مئات‬ ‫كتابة‬ ‫دون‬ ‫كبيرة‬ ‫وبسهولة‬ ‫كبير‬ ‫بشكل‬ ‫المستخدمين‬ ‫صفحات‬
.‫للمبرمج‬ ‫ويسر‬ ‫وبسهولة‬ ‫اسطر‬ ‫بعدة‬ ‫تتوفر‬ ‫هنا‬ ‫حيث‬ ‫البرمجة‬
-‫الخبير‬ ‫للمبرمج‬ ‫ويمكن‬ ‫وكثيرة‬ ‫جديدة‬ ‫ووظائف‬ ‫طرق‬ ‫لتوفير‬ ‫تحقيقها‬ ‫إعادة‬ ‫يمكن‬ ‫حيث‬ ‫جدا‬ ‫كبير‬ ‫وبشكل‬ ‫للتوسع‬ ‫قابلة‬
‫الع‬ ‫هذا‬ ‫من‬ ‫بالكثير‬ ‫القيام‬.‫مل‬
-‫تأتي‬ ‫حيث‬ ‫والمساعدة‬ ‫الدعم‬‫الـ‬JQuery‫و‬ ‫بدعم‬documentaion‫ممتاز‬.
‫الـ‬ ‫مكتبة‬ ‫استخدام‬ ‫الممكن‬ ‫ومن‬JQuery:‫يلي‬ ‫كما‬ ‫الويب‬ ‫صفحة‬ ‫في‬
‫الكود‬(5-5)‫مكتبة‬ ‫استخدام‬ ‫طريقة‬JQuery
5-5‫الـ‬ ‫مكتبة‬BootStrap:
‫هي‬‫قبل‬ ‫من‬ ‫تطويرها‬ ‫تم‬ ،‫المواقع‬ ‫واجهات‬ ‫لتصميم‬ ‫المصدر‬ ‫مفتوحة‬ ‫األدوات‬ ‫من‬ ‫مجموعة‬Mark Otto – Julian
Thilo – Chris Rebert‫لمساعدة‬ ‫إنشائها‬ ‫وتم‬‫مكتبة‬ ‫وتوفير‬ ،‫وفعالية‬ ‫بسرعة‬ ‫مذهلة‬ ‫منتجات‬ ‫بناء‬ ‫على‬ ‫والمطورين‬ ‫المصممين‬
‫باستخدام‬ ‫المبنية‬ ‫استخدامها‬ ‫يتكرر‬ ‫التي‬ ‫للتصاميم‬ ‫جيد‬ ‫بشكل‬ ‫وموثقة‬ ‫ومرنة‬ ‫واسعة‬HTML‫و‬CSS‫و‬JavaScript‫يقوم‬ ‫كي‬
‫كبيرة‬ ‫بمرونة‬ ‫بنيت‬ ‫حيث‬ ‫باستخدامها‬ ‫واإلبداع‬ ‫باستعمالها‬ ‫المطورون‬
‫الكثير‬ ‫تقدم‬ ‫والتي‬‫الـ‬ ‫من‬ ‫أكثر‬ ‫القوة‬ ‫من‬CSS‫العادية‬.
‫كانت‬ ‫سواء‬ ‫الجديدة‬ ‫المتصفحات‬ ‫كل‬ ‫على‬ ‫العمل‬ ‫لتالئم‬ ‫بنيت‬ ‫المكتبة‬
‫هناك‬ ‫سيكون‬ ‫أنه‬ ‫بمعنى‬ ،‫الجوال‬ ‫متصفحات‬ ‫أو‬ ‫العادية‬ ‫المتصفحات‬
‫القديمة‬ ‫المتصفحات‬ ‫في‬ ‫الموقع‬ ‫ستايل‬ ‫في‬ ‫فرق‬.
‫الـ‬ ‫مشروع‬ ‫توسع‬BootStrap‫حيث‬ ‫العناصر‬ ‫من‬ ‫العشرات‬ ‫ليتضمن‬ ‫اآلن‬‫موقع‬ ‫على‬ ‫شعبية‬ ‫األكثر‬ ‫المشروع‬ ‫أصبح‬GitHub
‫من‬ ‫أكثر‬ ‫على‬ ‫حصل‬ ‫أن‬ ‫بعد‬13,000‫و‬ ‫متابع‬2000‫فرعي‬ ‫تطوير‬.
JQuery using example
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type=”text/javascript”>
<!-- ( ‫هنا‬‫تتم‬‫كتابة‬‫الكود‬ ) -->
</script>
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>
‫الصفحة‬67
‫انشاء‬ ‫تم‬‫الـ‬ ‫مكتبة‬BootStrap‫تويتر‬ ‫في‬Twitter‫عام‬2010‫قبل‬ ‫من‬@mdo‫و‬@fat‫تويتر‬ ‫مخطط‬ ‫ذلك‬ ‫عند‬ ‫اسمها‬ ‫وكان‬
Twitter Blueprint.
‫وفي‬19-08-2011‫عنها‬ ‫اإلعالن‬ ‫تم‬ ‫أنه‬ ‫والجميل‬ ‫والمصممين‬ ‫للمطورين‬ ‫المكتبة‬ ‫لهذه‬ ‫األولى‬ ‫النسخة‬ ‫بإصدار‬ ‫تويتر‬ ‫قامت‬
‫بتغريدة‬‫لمطور‬‫الـ‬BootStrap‫نفسه‬.
‫من‬ ‫أكثر‬ ‫يوجد‬ ‫اآلن‬‫اصدار‬ ‫عشرين‬‫اإلصدارين‬ ‫في‬ ‫البداية‬ ‫من‬ ‫كتابتها‬ ‫إعادة‬ ‫وتمت‬ ،‫المكتبة‬ ‫لهذه‬V2‫و‬V3.
‫الـ‬ ‫اضافة‬ ‫تمت‬ ‫للمكتبة‬ ‫الثاني‬ ‫اإلصدار‬ ‫في‬Responsive‫خيار‬ ‫وجعله‬‫اإلصدار‬ ‫في‬ ‫تم‬ ‫بينما‬ ،‫الحاجة‬ ‫عند‬ ‫بإضافته‬ ‫يقوم‬ ‫للمطورين‬
‫لجعلها‬ ‫أخرى‬ ‫مرة‬ ‫المكتبة‬ ‫كتابة‬ ‫إعادة‬ ‫الثالث‬Responsive‫أساسي‬ ‫بشكل‬ ‫الجواالت‬ ‫متصفحات‬ ‫وعلى‬ ،‫افتراضي‬ ‫بشكل‬.
‫ميزات‬ ‫أهم‬‫الـ‬BootStrap:
1-‫مبا‬ ‫استخدامها‬ ‫يتم‬ ‫ثم‬ ‫بالمشروع‬ ‫الخاص‬ ‫الكود‬ ‫في‬ ‫وضعها‬ ‫يتم‬ ‫حيث‬ :‫التضمين‬ ‫في‬ ‫سهلة‬‫شرة‬
2-: ‫واحدة‬ ‫لمرة‬ ‫التجميع‬‫الـ‬ ‫على‬ ‫إضافي‬ ‫شيء‬ ‫أي‬ ‫تحوي‬ ‫ال‬ ‫البوتستراب‬css‫سكربت‬ ‫جافا‬ ‫ملفات‬ ‫وال‬ ‫صور‬ ‫ال‬ ‫أي‬
‫مثالي‬ ‫بشكل‬ ‫موقعك‬ ‫لعمل‬ ‫والقوية‬ ‫البسيطة‬ ‫األمور‬ ‫فقط‬ ‫تبقى‬ ‫ما‬ ‫كل‬ ‫ضرورية‬ ‫غير‬.
3-‫العناصر‬‫والتعديل‬ ‫االستخدام‬ ‫في‬ ً‫ا‬‫جد‬ ‫والسهلة‬ ‫الموقع‬ ‫في‬ ‫الموجود‬ ‫الجاهزة‬.
4-‫سكربت‬ ‫الجافا‬‫والتطوير‬ ‫االستخدام‬ ‫في‬ ‫سهلة‬ ‫وهي‬ ‫الخيارات‬ ‫من‬ ‫الكثير‬ ‫فيها‬ ‫يوجد‬ً‫ا‬‫أيض‬ ‫المكتبة‬ ‫هذه‬ ‫مع‬ ‫المطورة‬
‫عليها‬.
5-.‫المستعملة‬ ‫الويب‬ ‫متصفحات‬ ‫لكل‬ ‫التصميم‬ ‫سهولة‬
6-‫تستعمل‬ ‫التي‬ ‫الحديثة‬ ‫الويب‬ ‫متصفحات‬ ‫كل‬ ‫مع‬ ‫التناسب‬css3‫و‬html.
7-‫ت‬ ‫مشاريع‬ ‫في‬ ‫األبعاد‬ ‫عن‬ ‫عوضا‬ ‫باألعمدة‬ ‫هيكلة‬ ‫نموذج‬ ‫استعمال‬‫صاميم‬responsive.
:‫المقدمة‬ ‫األدوات‬ ‫أهم‬
-‫باستعمال‬ ‫ومصمم‬ ‫منسق‬ ‫زر‬ ‫إلى‬ ‫هيكلة‬ ‫أي‬ ‫تغير‬ ‫إمكانية‬ :‫األزرار‬class btn.
-.‫متنوعة‬ ‫بهيئات‬ ‫للجداول‬ ‫احترافي‬ ‫تنسيق‬ :‫الجداول‬
-Dropdown.‫ابن‬ ‫من‬ ‫أكثر‬ ‫ذات‬ ‫قائمة‬ ‫على‬ ‫نحصل‬ ‫بسهولة‬ :
-jQuery:‫التنبيهات‬ ‫ومنها‬ ‫المهمات‬ ‫من‬ ‫العديد‬ ‫يتضمن‬ :tabs،accordion،carousel …..
‫مكتبة‬ ‫تتضمن‬BootStrap:‫يلي‬ ‫كما‬ ‫هي‬ ‫المكونات‬ ‫هذه‬ ،‫البعض‬ ‫بعضها‬ ‫مع‬ ‫المرتبة‬ ‫المكتبات‬ ‫من‬ ‫مجموعة‬
‫الشكل‬(5-5)‫المكتبة‬ ‫ملفات‬[25]
Bootstrap
‫الصفحة‬68
‫الكود‬(5-6)‫مكتبة‬ ‫استخدام‬ ‫طريقة‬Bootstrap
Boot Strap example
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media
queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file://
-->
<!--[if lt IE 9]>
<script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script
src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>Hello, world!</h1>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://code.jquery.com/jquery.js"></script>
<!-- Include all compiled plugins (below), or include individual files
as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>
‫الصفحة‬69
‫الصفحة‬70
‫الفصل‬‫السادس‬:
‫والتطبيق‬ ‫الدراسة‬ ‫نتائج‬
‫العملي‬
:‫الفصل‬ ‫هذا‬ ‫في‬
›.‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫استخدام‬ ‫معايير‬
›.‫المعارف‬ ‫تمثيل‬ ‫طريقة‬ ‫اختيار‬
›.‫االستدالل‬ ‫محرك‬ ‫اختيار‬
›.‫االستخدام‬ ‫واجهة‬ ‫اختيار‬
›.‫للمشروع‬ ‫العملي‬ ‫التطبيق‬
‫الصفحة‬71
:‫السادس‬ ‫الفصل‬‫العملي‬ ‫والتطبيق‬ ‫الدراسة‬ ‫نتائج‬:
‫البحث‬ ‫في‬ ‫تم‬،‫خبير‬ ‫لنظام‬ ‫نواة‬ ‫بناء‬‫مكتبة‬ ‫من‬ ‫باالستفادة‬ ‫بنائها‬ ‫تم‬ ‫وقد‬NxBRE،‫النظرية‬ ‫الدراسة‬ ‫بعد‬ ‫اختيارها‬ ‫تم‬ ‫التي‬
‫النواة‬ ‫هذه‬ ،‫الخبيرة‬ ‫النظم‬ ‫لمكتبات‬‫استخدامها‬ ‫يمكن‬‫في‬‫س‬ ‫التطبيقات‬ ‫من‬ ‫نوع‬ ‫أي‬.‫الويب‬ ‫أو‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫واء‬
‫تم‬ ‫أيضا‬‫برمجة‬‫ويب‬ ‫تطبيق‬Web application‫الكورسات‬ ‫في‬ ‫االستشارة‬ ‫تقديم‬ ‫فكرة‬ ‫على‬ ‫يقوم‬Courses‫تناسب‬ ‫التي‬
.‫ما‬ ‫شخص‬
‫هذا‬ ‫في‬‫الفصل‬‫عن‬ ‫الحديث‬ ‫سيتم‬3:‫وهي‬ ‫أساسية‬ ‫نقاط‬‫نتائج‬‫بنية‬ ،‫النظرية‬ ‫الدراسة‬‫الخبير‬ ‫النظام‬ ‫نواة‬‫الوي‬ ‫تطبيق‬ ‫وبنية‬ ،.‫ب‬
6-1‫النظرية‬ ‫الدراسة‬:
‫مدة‬ ‫النظرية‬ ‫الدراسة‬ ‫استغرقت‬4‫ما‬ ‫فيها‬ ‫وتم‬ ،‫أشهر‬:‫يلي‬
-.‫مفاهيمه‬ ‫حول‬ ‫تدور‬ ‫التي‬ ‫المعلومات‬ ‫وتحصيل‬ ،‫الخبيرة‬ ‫النظم‬ ‫وهو‬ ‫البحث‬ ‫قيد‬ ‫الموضوع‬ ‫دراسة‬
-.‫بها‬ ‫الخاصة‬ ‫والمراجع‬ ‫التوثيقات‬ ‫وقراءة‬ ،‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫عن‬ ‫البحث‬
-.‫المعيار‬ ‫توصيف‬ ‫في‬ ‫المتبعة‬ ‫والطرق‬ ،‫المعارف‬ ‫تمثيل‬ ‫معايير‬ ‫في‬ ‫البحث‬
-‫معايير‬ ‫بوضع‬ ‫الدراسة‬ ‫اختتام‬ ‫تم‬.‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫متخصصة‬ ‫مكتبة‬ ‫اختيار‬ ‫عملية‬ ‫تحكم‬ ‫وقواعد‬
-‫المكتبة‬ ‫اختيار‬NxBRE‫المعيار‬ ‫ودراسة‬ ‫دراستها‬ ‫وتمت‬ ،‫الويب‬ ‫تطبيق‬ ‫في‬ ‫الستخدامها‬RuleML‫تمثيل‬ ‫في‬ ‫المستخدم‬
.‫المعارف‬
6-1-1:‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫اختيار‬ ‫معايير‬
‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫بين‬ ‫التمايز‬ ‫إن‬‫المتوفرة‬‫فيما‬ ‫تختلف‬ ‫حيث‬ ،‫واضح‬‫و‬ ،‫مواضيع‬ ‫بعدة‬ ‫بينها‬‫علي‬ ‫بناء‬‫المواضيع‬ ‫هذه‬
‫منها‬ ‫يستفيد‬ ‫أن‬ ‫للمطور‬ ‫يمكن‬ ‫اعتبارات‬ ‫وضع‬ ‫تم‬‫تطبيقات‬ ‫في‬‫االعتبارات‬ ‫هذه‬ ،‫الخبيرة‬ ‫النظم‬:‫هي‬
1-:‫المكتبة‬ ‫مع‬ ‫التعامل‬ ‫سماحية‬
‫رؤية‬ ‫ويمكن‬ ‫بل‬ ،‫بالكامل‬ ‫مجانية‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫بعض‬ ‫يوجد‬ ‫حيث‬ ،‫المكتبة‬ ‫أكواد‬ ‫مع‬ ‫التعامل‬ ‫طريقة‬ ‫بها‬ ‫والمقصود‬
‫مفهوم‬ ‫تحت‬ ‫تندرج‬ ‫وهي‬ ‫بها‬ ‫الخاصة‬ ‫األكواد‬open source‫تجاريا‬ ‫منتجا‬ ‫تكون‬ ‫اآلخر‬ ‫وبعضها‬
‫ال‬ ‫التي‬ ‫المكتبات‬ ‫بعض‬ ‫ويوجد‬ ،‫معها‬ ‫التعامل‬ ‫يمكن‬ ‫لكي‬ ‫شراء‬ ‫إلى‬ ‫تحتاج‬‫ويمكن‬ ‫تجارية‬ ‫تكون‬
‫من‬ ‫العديد‬ ‫ذكر‬ ‫تم‬ ‫وقد‬ ،‫بها‬ ‫الخاصة‬ ‫األكواد‬ ‫رؤية‬ ‫يمكن‬ ‫ال‬ ‫أنه‬ ‫إلى‬ ‫مجاني‬ ‫بشكل‬ ‫المكتبة‬ ‫استخدام‬
.‫معها‬ ‫التعامل‬ ‫ماهية‬ ‫توضيح‬ ‫مع‬ ‫السابق‬ ‫البحث‬ ‫في‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬
‫مكتبة‬ ‫تتميز‬NxBRE‫ما‬ ‫وهذا‬ ،‫بالكامل‬ ‫المصدر‬ ‫ومفتوحة‬ ‫مجانية‬ ‫بأنها‬ ‫التطبيق‬ ‫في‬ ‫المستخدمة‬
.‫لها‬ ‫المستخدم‬ ‫حاجة‬ ‫بحسب‬ ‫عليها‬ ‫التعديل‬ ‫يمكن‬ ‫حيث‬ ،‫ومرونة‬ ‫كبيرة‬ ‫قوة‬ ‫يعطيها‬
2-:‫المكتبة‬ ‫تدعمها‬ ‫التي‬ ‫االستدالل‬ ‫محركات‬ ‫أنواع‬
‫الصفحة‬72
‫تحتو‬ ‫أخرى‬ ‫مكتبات‬ ‫توجد‬ ‫بينما‬ ،‫فقط‬ ‫واحد‬ ‫محركا‬ ‫تدعم‬ ‫التي‬ ‫المحركات‬ ‫بعض‬ ‫يوجد‬‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬ ‫على‬ ‫ي‬
‫محركات‬ ‫عدة‬ ‫تدعم‬ ‫التي‬ ‫المتبات‬ ‫تكون‬ ‫بينما‬ ،‫المصدر‬ ‫مفتوحة‬ ‫المكتبات‬ ‫على‬ ‫الغالب‬ ‫هو‬ ‫وهذا‬
.‫معها‬ ‫التعامل‬ ‫يتم‬ ‫لكي‬ ‫شراء‬ ‫إلى‬ ‫وبحاجة‬ ‫تجارية‬
‫مكتبة‬ ‫تدعم‬NxBRE:‫وهما‬ ‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬Flow Engine, Inference
Engine‫أنواع‬ ‫أشهر‬ ‫وهما‬.‫االستدالل‬ ‫محركات‬
3-:‫المكتبة‬ ‫تدعمها‬ ‫التي‬ ‫المعارف‬ ‫قواعد‬ ‫أنواع‬
‫مع‬ ‫التعامل‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫على‬ ‫والغالب‬ ،‫معها‬ ‫تعامل‬ ‫أن‬ ‫المكتبة‬ ‫وتستطيع‬ ‫المعارف‬ ‫تمثيل‬ ‫بها‬ ‫يتم‬ ‫التي‬ ‫الصيغ‬ ‫وهي‬
‫باستخدام‬ ‫المكتوبة‬ ‫الصيغ‬XML‫تمثيل‬ ‫يتم‬ ‫التي‬ ‫بالمعيار‬ ‫بينها‬ ‫فيما‬ ‫االختالف‬ ‫يظهر‬ ‫ولكن‬ ،‫بلغة‬ ‫القواعد‬ ‫بها‬XML‫حيث‬ ،
‫كمعيار‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫عالمية‬ ‫لمعايير‬ ‫دعما‬ ‫المكتبات‬ ‫بعض‬ ‫تقدم‬RuleML‫مكتبة‬ ‫معه‬ ‫تتعامل‬ ‫الذي‬ ‫المعيار‬ ‫وهو‬ ،
NxBRE.
‫مكتبة‬ ‫إن‬NxBRE‫معيار‬ ‫إلى‬ ‫إضافة‬ ‫تدعم‬RuleML‫ما‬ ‫وهذا‬ ،‫أيضا‬ ‫عالمية‬ ‫المعارف‬ ‫وهي‬ ‫المعارف‬ ‫لتمثيل‬ ‫أخرى‬ ‫طرق‬
‫و‬ ‫كبيرة‬ ‫قوة‬ ‫يعطيها‬.‫المكتبات‬ ‫من‬ ‫الكثير‬ ‫بها‬ ‫تتميز‬ ‫ال‬ ‫مهمة‬ ‫مزيات‬
‫صيغ‬ ‫تدعم‬ ‫أيضا‬XSD‫نوع‬ ‫من‬ ‫للمحرك‬Flow Engine‫هما‬ ‫بنوعين‬businessRules.xsdxBusinessRules.xsd.
4-:‫ومتانتها‬ ‫المكتبة‬ ‫بناء‬ ‫قوة‬
،‫للتوسع‬ ‫قابلة‬ ‫هي‬ ‫وهل‬ ،‫تتضمنها‬ ‫التي‬ ‫التوابع‬ ‫ومرونة‬ ،‫المكتبة‬ ‫بها‬ ‫بناء‬ ‫تم‬ ‫التي‬ ‫الكيفية‬ ‫وتعني‬‫األخطاء‬ ‫ومقدار‬،‫تحتويها‬ ‫التي‬
‫المهم‬ ‫من‬ ‫حيث‬ ‫االعتبار‬ ‫بعين‬ ‫تأخذ‬ ‫األمور‬ ‫هذه‬ ‫كل‬ ،‫يتم‬ ‫ال‬ ‫أو‬ ‫عليها‬ ‫تحديثات‬ ‫إجراء‬ ‫يتم‬ ‫وهل‬
‫يجد‬ ‫أن‬ ‫دون‬ ‫يحتاجه‬ ‫ما‬ ‫المستخدم‬ ‫عليها‬ ‫يضيف‬ ‫لكي‬ ‫وذلك‬ ‫للتوسع‬ ‫قابلة‬ ‫مرنة‬ ‫المكتبة‬ ‫تكون‬ ‫أن‬
.‫صعوبة‬
‫مكتبة‬ ‫إن‬NxBRE‫اعتم‬ ‫بنائها‬ ‫تم‬ ‫فقد‬ ‫قوي‬ ‫ببنيان‬ ‫تتمتع‬‫ال‬ ‫في‬ ‫عريقة‬ ‫سابقة‬ ‫مكتبة‬ ‫على‬ ‫ادا‬‫نظم‬
‫مكتبة‬ ‫وهي‬ ‫الجافا‬ ‫بلغة‬ ‫ومكتوبة‬ ‫الخبيرة‬JxBRE‫جدا‬ ‫مهمة‬ ‫بخواص‬ ‫تتمتع‬ ‫فهي‬ ‫لذلك‬ ‫إضافة‬ ،
‫األخطاء‬ ‫لمعالجة‬ ‫مهمة‬ ‫التطويرات‬ ‫هذه‬ ،‫فترة‬ ‫كل‬ ‫عليها‬ ‫تطوير‬ ‫عملية‬ ‫إجراء‬ ‫ويتم‬ ،‫فيها‬ ‫التوسع‬ ‫وإمكانية‬ ‫لألخطاء‬ ‫معالجة‬ ‫من‬
‫مع‬ ‫تتواكب‬ ‫وجعلها‬ ‫تظهر‬ ‫التي‬‫في‬ ‫منها‬ ‫نسخة‬ ‫آخر‬ ‫إصدار‬ ‫تم‬ ‫وقد‬ ،‫والتطويرات‬ ‫التحديثات‬ ‫آخر‬January 5 2009.
5-:‫المكتبة‬ ‫تستخدم‬ ‫التي‬ ‫والتطبيقات‬ ‫المراجع‬
‫التعامل‬ ‫على‬ ‫يساعد‬ ‫والذي‬ ،‫بعضها‬ ‫في‬ ‫تنعدم‬ ‫وتكاد‬ ‫قليلة‬ ‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫المكتبات‬ ‫عن‬ ‫تتحدث‬ ‫التي‬ ‫المراجع‬ ‫إن‬
‫لها‬ ‫خاص‬ ‫توثيق‬ ‫وجود‬ ‫المكتبة‬ ‫مع‬‫ووجود‬ ،‫بتصميمها‬ ‫قاموا‬ ‫الذين‬ ‫األشخاص‬ ‫قبل‬ ‫من‬
‫على‬ ‫الحصول‬ ‫للجميع‬ ‫يتاح‬ ‫بحيث‬ ‫بواسطتها‬ ‫صمموها‬ ‫التي‬ ‫التطبيقات‬ ‫من‬ ‫مجموعة‬
.‫المكتبة‬ ‫من‬ ‫فائدة‬ ‫أكبر‬
‫مكتبة‬ ‫تتميز‬NxBRE‫بها‬ ‫الخاص‬ ‫التوثيق‬ ‫أهمها‬ ،‫عنها‬ ‫متعددة‬ ‫مراجع‬ ‫بوجود‬
‫وج‬ ‫أيضا‬ ،‫المكتبة‬ ‫على‬ ‫القائمين‬ ‫األشخاص‬ ‫قبل‬ ‫من‬ ‫والمكتوب‬‫والـ‬ ‫لألصناف‬ ‫خاص‬ ‫توثيق‬ ‫ود‬API،‫المكتبة‬ ‫ضمن‬ ‫الموجودة‬
‫شاملة‬ ‫تعتبر‬ ‫والتي‬ ‫بالمكتبة‬ ‫الخاص‬ ‫التطبيق‬ ‫ضمن‬ ‫والموجودة‬ ‫الويب‬ ‫مواقع‬ ‫على‬ ‫المنشورة‬ ‫التطبيقات‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫فضال‬
.‫األخرى‬ ‫المكتبات‬ ‫في‬ ‫موجود‬ ‫غير‬ ‫األمر‬ ‫وهذا‬ ،‫المكتبة‬ ‫إمكانيات‬ ‫لجميع‬ ‫ومحققة‬
‫الصفحة‬73
6-1-2‫اختيار‬‫المكتبة‬NxBRE:
‫مكتبة‬ ‫هي‬ ‫الموقع‬ ‫ضمن‬ ‫الستخدامها‬ ‫اختيارها‬ ‫تم‬ ‫التي‬ ‫المكتبة‬ ‫إن‬NxBRE‫تتفوق‬ ‫جعلها‬ ‫متعددة‬ ‫بمزايا‬ ‫تتمتع‬ ‫وهي‬
:‫المزايا‬ ‫هذه‬ ،‫األخرى‬ ‫المكتبات‬ ‫غالب‬ ‫على‬
-.‫تطبيقنا‬ ‫مع‬ ‫تتناسب‬ ‫بحيث‬ ‫وتعديلها‬ ،‫بها‬ ‫الخاصة‬ ‫البرمجية‬ ‫األكواد‬ ‫قراءة‬ ‫يمكن‬ ‫المصدر‬ ‫مفتوحة‬ ‫مكتبة‬
-‫مكت‬ ‫أعرق‬ ‫من‬ ‫تعد‬‫بلغة‬ ‫المكتوبة‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫أولى‬ ‫تعتبر‬ ‫حيث‬ ‫الخبيرة‬ ‫النظم‬ ‫بات‬C#‫مفتوح‬ ‫وبشكل‬
.‫المصدر‬
-‫حجمها‬ ‫يتجاوز‬ ‫ال‬ ‫خفيفة‬ ‫مكتبة‬400 KB.‫الويب‬ ‫على‬ ‫استخدامها‬ ‫حين‬ ‫جدا‬ ‫مهمة‬ ‫مميزة‬ ‫هي‬ ‫و‬
-‫وهي‬ ‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬ ‫تدعم‬Inference engine‫و‬Flow engine.
-‫من‬ ‫واسع‬ ‫طيف‬ ‫تدعم‬.‫المعارف‬ ‫تمثيل‬ ‫طرق‬
-‫بلغة‬ ‫مكتوبة‬C#‫على‬ ‫العمل‬ ‫حين‬ ‫معها‬ ‫التعامل‬ ‫يسهل‬ ‫ما‬ ‫وهو‬ASP.NET.
-.‫المساعدة‬ ‫التطبيقات‬ ‫من‬ ‫وموجوعة‬ ‫للمكتبة‬ ‫كامل‬ ‫توثيق‬ ‫وجود‬
-‫وهي‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫عالمية‬ ‫معيارية‬ ‫لطريقة‬ ‫دعمها‬RuleML.
6-1-3:‫المعارف‬ ‫تمثيل‬ ‫طريقة‬ ‫اختيار‬
‫مكتبة‬ ‫تدعمها‬ ‫التي‬ ‫الطرق‬ ‫إن‬NxBRE‫تمثيل‬ ‫طرق‬ ‫من‬ ‫أنواع‬ ‫لخمس‬ ‫دعما‬ ‫تقدم‬ ‫فهي‬ ،‫متعددة‬ ‫المعارف‬ ‫لتمثيل‬
،‫المعارف‬‫أن‬ ‫في‬ ‫هي‬ ‫األساسية‬ ‫والميزة‬‫بعض‬‫هذه‬‫تمثيل‬ ‫طرق‬ ‫من‬ ‫كطريقة‬ ‫عليها‬ ‫ومعترف‬ ،‫موثقة‬ ‫عالمية‬ ‫المعايير‬
:‫الطرق‬ ‫هذه‬ ،‫الخبرة‬
-‫ملف‬XML‫معيار‬ ‫باستخدام‬ ‫مكتوب‬RuleML‫في‬ ‫استخدامه‬ ‫تم‬ ‫الذي‬ ‫وهو‬ ‫الخبرة‬ ‫لتمثيل‬ ‫عالمي‬ ‫معيار‬ ‫وهو‬
.‫التطبيق‬
-‫ملفات‬VDX‫برنامج‬ ‫باستخدام‬ ‫كتابتها‬ ‫يمكن‬ ‫والتي‬Visio‫حزمة‬ ‫مع‬ ‫يأتي‬ ‫الذي‬MicroSoft‫تؤمن‬ ‫والتي‬
.‫رسومي‬ ‫بشكل‬ ‫والحقائق‬ ‫للقواعد‬ ‫إنشاء‬ ‫عملية‬
-‫ملف‬HRF‫بس‬ ‫قراءته‬ ‫يمكن‬ ،‫البشر‬ ‫للغة‬ ‫شيبه‬ ‫بنحو‬ ‫ملف‬ ‫عن‬ ‫عبارة‬ ‫وهو‬‫صيغة‬ ‫ويشبه‬ ‫هولة‬Prolog‫وهو‬
‫للعبارة‬ ‫اختصار‬human-readable format.
-‫بصيغ‬ ‫ملفات‬XSD‫النوع‬ ‫من‬businessRules.xsd.
-‫بصيغ‬ ‫ملفات‬XSD‫النوع‬ ‫من‬xBusinessRules.xsd.
‫التوصيف‬ ‫استخدام‬ ‫تم‬RuleML‫به‬ ‫يتمتع‬ ‫لما‬ ‫التطبيق‬ ‫في‬ ‫المعرفة‬ ‫لتمثيل‬ ‫المعياري‬‫من‬‫االختيار‬ ‫تجعله‬ ‫مزايا‬
:‫هي‬ ‫الميزات‬ ‫هذه‬ ،‫األمثل‬
-‫معيار‬ ‫يعتبر‬RuleML‫وثيقة‬ ‫تحت‬ ‫موصف‬ ‫عالمي‬ ‫معيار‬RIF‫الـ‬ ‫بتوصيفات‬ ‫الخاصة‬W3C.
-‫أشهرهم‬ ‫شركات‬ ‫عدة‬ ‫من‬ ‫جدا‬ ‫واسع‬ ‫بدعم‬ ‫يتميز‬W3C‫جامعة‬ ‫أشهرها‬ ‫الجامعات‬ ‫من‬ ‫عدد‬ ‫و‬Cambridge.
-‫د‬ ‫بشكل‬ ‫تعقد‬ ‫مؤتمرات‬ ‫خال‬ ‫من‬ ‫عليه‬ ‫تطويرات‬ ‫إجراء‬ ‫يتم‬،‫التقنيات‬ ‫آخر‬ ‫مع‬ ‫دوما‬ ‫متوافقا‬ ‫جعله‬ ‫يتم‬ ‫بحيث‬ ‫ائم‬
‫إجراء‬ ‫تم‬ ‫وقد‬8‫شهر‬ ‫في‬ ‫القادم‬ ‫المؤتمر‬ ‫وسيعقد‬ ‫اآلن‬ ‫إلى‬ ‫مؤتمرات‬August.‫العام‬ ‫هذا‬ ‫من‬
-،‫الويب‬ ‫مع‬ ‫تماما‬ ‫متوافق‬ ‫فهو‬ ‫ولذلك‬ ،‫واإلنترنيت‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫المعرفة‬ ‫لتمثيل‬ ‫مخصصا‬ ‫المعيار‬ ‫هذا‬ ‫يعتبر‬
.‫عبره‬ ‫نقله‬ ‫بسهولة‬ ‫ويتميز‬
-‫يتم‬.‫معا‬ ‫والقوة‬ ‫بالبساطة‬ ‫يز‬
-.‫بسيطا‬ ‫أمرا‬ ‫معه‬ ‫التعامل‬ ‫يجعل‬ ‫مما‬ ‫عديدة‬ ‫وتوثيقات‬ ‫متعددة‬ ‫مراجع‬ ‫له‬
‫الصفحة‬74
( ‫الشكل‬6-1)‫مكتبة‬ ‫شعار‬NxBRE‫المعارف‬ ‫قاعدة‬ ‫ومعيار‬
6-1-4:‫االستدالل‬ ‫محرك‬ ‫اختيار‬
‫مكتبة‬ ‫تقدم‬NxBRE:‫وهي‬ ‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬
-‫النوع‬ ‫من‬ ‫محركات‬Flow Engine.
-‫النوع‬ ‫من‬ ‫محركات‬Inference Engine.
‫النوع‬ ‫من‬ ‫استدالل‬ ‫محرك‬ ‫استخدام‬ ‫تم‬Inference engine‫لبناء‬ ‫عليها‬ ‫االعتماد‬ ‫يمكن‬ ‫مهمة‬ ‫مواصفات‬ ‫من‬ ‫به‬ ‫يتمتع‬ ‫لما‬
:‫الميزات‬ ‫هذه‬ ‫أهم‬ ،‫ومتين‬ ‫قوي‬ ‫خبير‬ ‫نظام‬
-‫مع‬ ‫يتعامل‬3.‫كبيرة‬ ‫مرونة‬ ‫يمنحه‬ ‫ما‬ ‫وهذا‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬ ‫من‬ ‫أنواع‬
-‫القواعد‬ ‫في‬ ‫األولوية‬ ‫يدعم‬Rule Priority‫والـ‬Mutual Exclusion‫االستنتاج‬ ‫وعمليات‬ ،Precondition.
-‫على‬ ‫معتمدة‬ ‫استنتاج‬ ‫عملية‬ ‫يقدم‬ ‫الذي‬ ،‫اآلخر‬ ‫المحرك‬ ‫خالف‬ ‫على‬ ‫استنتاجي‬ ‫بشكل‬ ‫القواعد‬ ‫تحليل‬ ‫بإمكانية‬ ‫يتمتع‬
if – else.
-‫وجود‬ ‫يدعم‬Binder‫الحقائق‬ ‫على‬ ‫يحتوي‬ ‫الذي‬ ‫الملف‬ ‫بين‬‫وبين‬ ‫والقواعد‬
‫توضح‬( ‫األشكال‬6-2( )7-2)‫تحلي‬ ‫في‬ ‫محرك‬ ‫كل‬ ‫بها‬ ‫يقوم‬ ‫التي‬ ‫الطريقة‬‫الحقائق‬ ‫ل‬:‫ومعالجتها‬ ،
‫الصفحة‬75
( ‫الشكل‬6-2‫المحرك‬ ‫عمل‬ ‫طريقة‬ )[14]
Flow engine
‫الصفحة‬76
( ‫الشكل‬6-3)‫المحرك‬ ‫عمل‬ ‫طريقة‬[14]
Inference engine
‫مميزة‬ ‫االستداللي‬ ‫المحرك‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫الطريقة‬ ‫إن‬‫النتائج‬ ‫يضع‬ ‫بينما‬ ‫محددة‬ ‫ذاكرة‬ ‫في‬ ‫الحقائق‬ ‫بوضع‬ ‫يقوم‬ ‫حيث‬ ‫للغاية‬
‫ويوجد‬ ،‫لبقائها‬ ‫داع‬ ‫هناك‬ ‫ليس‬ ‫يكون‬ ‫حين‬ ‫منها‬ ‫يتخلص‬ ‫حيث‬ ‫أخرى‬ ‫ذاكرة‬ ‫ضمن‬ ‫القواعد‬3‫ال‬ ‫من‬ ‫أنواع‬‫ذ‬:‫اكرة‬
-‫نوع‬ ‫من‬ ‫الذاكرة‬Global.
-‫نوع‬ ‫من‬ ‫الذاكرة‬Isolated
-‫نوع‬ ‫من‬ ‫الذاكرة‬Empty Isolated.
‫التالي‬ ‫المخطط‬ ‫يوضح‬:‫الذاكرة‬ ‫مع‬ ‫االستدالل‬ ‫محرك‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫اآللية‬
‫الصفحة‬77
‫الشكل‬(6-4)‫الذاكرة‬ ‫ضمن‬ ‫الحقائق‬ ‫انتقال‬ ‫مخطط‬[14]
6-2‫الخبير‬ ‫النظام‬ ‫نواة‬Expert System Core:
‫بناء‬ ‫تم‬‫نواة‬‫مكتبة‬ ‫على‬ ‫اعتمادا‬ ‫الخبير‬ ‫النظام‬NxBRE،‫نواة‬ ‫كتابة‬ ‫عملية‬ ‫استغرقت‬Core،‫شهرين‬ ‫مدة‬ ‫الخبير‬ ‫النظام‬
‫لغة‬ ‫باستخدام‬ ‫النواة‬ ‫برمجة‬ ‫عملية‬ ‫تمت‬ ‫حيث‬C#.
‫التوجه‬ ‫غرضية‬ ‫البرمجة‬ ‫مفاهيم‬ ‫استخدمت‬ ‫حيث‬ ،‫النواة‬ ‫بناء‬ ‫في‬ ‫عالمية‬ ‫برمجية‬ ‫أسس‬ ‫استخدام‬ ‫تم‬Object Oriented،
‫المعطيات‬ ‫بنى‬ ‫ومفاهيم‬Data Structure،‫طبقات‬ ‫إلى‬ ‫النواة‬ ‫تقسيم‬ ‫وتم‬tiers‫عمل‬ ‫تسهل‬ ‫بحيث‬.‫وصيانتها‬ ‫تطويرها‬ ‫ية‬
:‫مستويات‬ ‫ثالث‬ ‫من‬ ‫النواة‬ ‫تتألف‬
-‫طبقة‬‫مباشرة‬ ‫االستدالل‬ ‫محرك‬ ‫مع‬ ‫تتعامل‬(Expert System.)
-‫ح‬ ‫من‬ ،‫المعارف‬ ‫قاعدة‬ ‫مع‬ ‫تتعامل‬ ‫طبقة‬‫البيانات‬ ‫قواعد‬ ‫ومع‬ ،‫وقواعد‬ ‫قائق‬(Rules, Facts.)
-‫واحد‬ ‫إطار‬ ‫ضمن‬ ‫السابقتين‬ ‫الطبقتين‬ ‫تغلف‬ ‫طبقة‬‫ت‬‫النظام‬ ‫استخدام‬ ‫عملية‬ ‫سهل‬‫الخبير‬(Inference Engine.)
( ‫الشكل‬ ‫يوضح‬6-5،‫الخبير‬ ‫النظام‬ ‫منها‬ ‫يتكون‬ ‫التي‬ ‫الطبقات‬ )‫و‬( ‫الشكل‬ ‫يوضح‬6-6‫وطريقة‬ ‫تفصيلي‬ ‫بشكل‬ ‫الطبقات‬ )
.‫طبقة‬ ‫كل‬ ‫بين‬ ‫االرتباط‬
‫الصفحة‬78
( ‫الشكل‬6-5)‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫طبقات‬
( ‫الشكل‬6-6)‫تفصيلي‬ ‫بشكل‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫طبقات‬
6-2-1‫طبقة‬‫الـ‬Inefernce Engine:
‫الطبقا‬ ‫أهم‬ ‫من‬ ‫مباشرة‬ ‫المكتبة‬ ‫مع‬ ‫بالتعامل‬ ‫الخاصة‬ ‫الطبقة‬ ‫تعد‬‫و‬ ،‫ت‬‫فيها‬ ‫يتم‬‫من‬ ‫األساسية‬ ‫العمليات‬ ‫إجراء‬‫م‬‫عالجة‬
‫ل‬‫عليه‬ ‫التعديل‬ ‫إمكانية‬ ‫ويجعل‬ ،‫للتطبيق‬ ‫المرونة‬ ‫يتيح‬ ‫ذلك‬ ‫كل‬ ،‫سابقة‬ ‫قواعد‬ ‫على‬ ‫والتعديل‬ ،‫جديدة‬ ‫قواعد‬ ‫وإضافة‬ ،‫لقواعد‬
‫أمرا‬ ،‫وصيانته‬.‫ممكنا‬
( ‫الكود‬ ‫يبين‬6-1‫الطبقة‬ ‫األسفل‬ ‫في‬ )Inference Engine.‫مباشرة‬ ‫المكتبة‬ ‫مع‬ ‫تتعامل‬ ‫والتي‬
‫الصفحة‬79
Expert System Layer
public class InferenceEngine
{
private IInferenceEngine engine = new IEImpl(new CustomBinder());
public void Load_Rules(string Rules_path)
{
IRuleBaseAdapter Rules_Adapter = new RuleML09NafDatalogAdapter(
Rules_path, System.IO.FileAccess.Read);
engine.LoadRuleBase(Rules_Adapter);
}
public void Load_Facts(string Facts_path)
{
IFactBaseAdapter Facts_Adapter = new RuleML09NafDatalogAdapter(
Facts_path, System.IO.FileAccess.Read);
engine.LoadFacts(Facts_Adapter);
}
public void Save_Facts(string Facts_path)
{
IFactBaseAdapter Facts_Adapter = new RuleML09NafDatalogAdapter(
Facts_path, System.IO.FileAccess.Write);
engine.SaveFacts(Facts_Adapter);
}
public void Update_Facts(ListBox Facts_List)
{
IEnumerator<Fact> Engine_Facts = engine.Facts;
Engine_Facts.Reset();
Facts_List.Items.Clear();
int i = 0;
while (Engine_Facts.MoveNext())
{
Fact f = Engine_Facts.Current;
Facts_List.Items.Add("Fact " + i++ + ": " + f.ToString());
}
}
public void Update_Rules(ListBox Rules_List)
{
IEnumerator<Implication> Engine_Rules = engine.Implications;
Engine_Rules.Reset();
Rules_List.Items.Clear();
int i = 0;
while (Engine_Rules.MoveNext())
{
Implication imp = Engine_Rules.Current;
Rules_List.Items.Add("Rule " + i++ + ": " + imp.Label.ToString());
‫الصفحة‬80
‫الكود‬(6-1)‫الطبقة‬Inference Engine
Rules_List.Items.Add("AtomGroup : " + imp.AtomGroup.ToString());
}
}
public void Process()
{
engine.Process();
}
public List<Fact> Run_Query(string Query)
{
IList<IList<Fact>> qrs = engine.RunQuery(Query);
List<Fact> result = new List<Fact>();
foreach (IList<Fact> facts in qrs)
foreach (Fact fact in facts)
result.Add(fact);
return result;
}
public void Remove_Facts()
{
IEnumerator<Fact> Engine_Facts = engine.Facts;
Engine_Facts.Reset();
List<Fact> list = new List<Fact>();
while (Engine_Facts.MoveNext())
{
Fact f = Engine_Facts.Current;
list.Add(f);
}
foreach (Fact f in list)
engine.Retract(f);
}
public void Add_Fact(Fact f, string id)
{
engine.Modify(id, f);
if (engine.FactExists(id) == true)
engine.Modify(id, f);
else
engine.Assert(f);
}
public bool Fact_Exist(string id)
{
return engine.FactExists(id);
}
}
‫الصفحة‬81
6-2-2:‫بالتطبيق‬ ‫الخاصة‬ ‫المعارف‬ ‫قاعدة‬
‫باستخدام‬ ‫سابقا‬ ‫ذكر‬ ‫كما‬ ‫بنائها‬ ‫تم‬ ‫حيث‬ ،‫الخبير‬ ‫وللنظام‬ ‫للموقع‬ ‫األساسية‬ ‫القوة‬ ‫نقاط‬ ‫إحدى‬ ‫المعارف‬ ‫قاعدة‬ ‫تعتبر‬
‫معيا‬‫ر‬‫الموقع‬ ‫يقوم‬ ،‫عالمي‬( ‫والحقائق‬ ‫الـقواعد‬ ‫طبقتي‬ ‫عبر‬ ‫المعارف‬ ‫بقاعدة‬ ‫بالتحكم‬Facts, Rules)‫معالجة‬ ‫تمت‬ ‫حيث‬ ،
‫هذه‬ ‫عبر‬ ‫الموقع‬ ‫به‬ ‫يقوم‬ ‫ذلك‬ ‫كل‬ ،‫االستعالمات‬ ‫وتشغيل‬ ،‫الحقائق‬ ‫إلى‬ ‫والوصول‬ ،‫وتعديلها‬ ،‫للقواعد‬ ‫اإلضافة‬ ‫حاالت‬ ‫كافة‬
.‫الطبقة‬
‫الكود‬ ‫يوضح‬(6-2‫تطبيق‬ ‫يحتويها‬ ‫التي‬ ‫القواعد‬ ‫من‬ ‫جزء‬ )‫تصميمه‬ ‫تم‬ ‫الذي‬ ‫الويب‬:
RuleML Knowledg Base
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<RuleML xmlns="http://www.ruleml.org/0.9/xsd"
xsi:schemaLocation="http://www.ruleml.org/0.9/xsd ruleml-0_9-nafdatalog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<oid>
<Ind>Rules Knowledge Base</Ind>
</oid>
<!--Queries-->
<Query>
<oid>
<Ind>Get Actual Rating</Ind>
</oid>
<Atom>
<op>
<Rel>ACTUAL RATING</Rel>
</op>
<Var>username</Var>
<Var>coursename</Var>
<Var>actualrating</Var>
</Atom>
</Query>
<Query>
<oid>
<Ind>Get User Friend</Ind>
</oid>
<Atom>
<op>
<Rel>USER FRIEND</Rel>
</op>
<Var>username</Var>
<Var>priority</Var>
</Atom>
</Query>
<Query>
<oid>
‫الصفحة‬82
<Ind>Get Courses Priority</Ind>
</oid>
<Atom>
<op>
<Rel>COURSE PRIORITY</Rel>
</op>
<Var>coursename</Var>
<Var>priority</Var>
</Atom>
</Query>
<!--Implications-->
<Assert>
<!--Actual Rating Rule-->
<Implies>
<oid>
<Ind>Calculate acctual rate</Ind>
</oid>
<body>
<And>
<Atom>
<op>
<Rel>USER EXPERT</Rel>
</op>
<Var>user_name</Var>
<Var>category_name</Var>
<Var>user_expert</Var>
</Atom>
<Atom>
<op>
<Rel>RATE</Rel>
</op>
<Var>user_name</Var>
<Var>course_name</Var>
<Var>user_rate</Var>
</Atom>
<Atom>
<op>
<Rel>CATEGORY</Rel>
</op>
<Var>course_name</Var>
<Var>category_name</Var>
</Atom>
<Atom>
<op>
<Rel>LEVEL</Rel>
</op>
<Var>course_name</Var>
<Var>course_level</Var>
</Atom>
‫الصفحة‬83
<Atom>
<op>
<Rel uri="nxbre://operator">GreaterThanEqualTo</Rel>
</op>
<Var>user_expert</Var>
<Var>course_level</Var>
</Atom>
</And>
</body>
<head>
<Atom>
<op>
<Rel>ACTUAL RATING</Rel>
</op>
<Var>user_name</Var>
<Var>course_name</Var>
<Var>user_rate</Var>
</Atom>
</head>
</Implies>
<!--Courses Priority Rules-->
<Implies>
<oid>
<Ind>Calculate Courses Priority L=E(5)</Ind>
</oid>
<body>
<And>
<Atom>
<op>
<Rel>FINAL RATE</Rel>
</op>
<Var>course_name</Var>
<Ind>5</Ind>
</Atom>
<Atom>
<op>
<Rel>CATEGORY</Rel>
</op>
<Var>course_name</Var>
<Var>category_name</Var>
</Atom>
<Atom>
<op>
<Rel>USER EXPERT</Rel>
</op>
<Var>user_name</Var>
<Var>category_name</Var>
<Var>user_expert</Var>
‫الصفحة‬84
‫الكود‬(6-2)‫بالموقع‬ ‫الخاصة‬ ‫المعارف‬ ‫قاعدة‬ ‫من‬ ‫جزء‬
6-3:‫العملي‬ ‫التطبيق‬
‫المختصين‬ ‫غير‬ ‫قبل‬ ‫من‬ ‫استخدامه‬ ‫عملية‬ ‫تجعل‬ ‫الخبير‬ ‫للنظام‬ ‫استخدام‬ ‫واجهة‬ ‫إنتاج‬ ‫في‬ ‫يتجسد‬ ‫للمشروع‬ ‫العملي‬ ‫التطبيق‬ ‫إن‬
،‫ممكنا‬‫اال‬ ‫يجب‬ ‫التي‬ ‫األمور‬ ‫أهم‬ ‫من‬ ‫الخبير‬ ‫النظام‬ ‫تغلف‬ ‫التي‬ ‫الواجهة‬ ‫إن‬‫الخبير‬ ‫النظام‬ ‫مع‬ ‫يتعامل‬ ‫ال‬ ‫المستخدم‬ ‫ألن‬ ‫وذلك‬ ‫بها‬ ‫عتناء‬
‫معه‬ ‫يتعامل‬ ‫بل‬ ،‫مباشرة‬‫النظام‬ ‫كل‬ ‫فإن‬ ‫المستخدم‬ ‫يريدها‬ ‫التي‬ ‫والبساطة‬ ‫السهولة‬ ‫تحقق‬ ‫ال‬ ‫الواجهة‬ ‫هذه‬ ‫كانت‬ ‫فإذا‬ ،‫الواجهة‬ ‫هذه‬ ‫عبر‬
.‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫وأساسي‬ ،‫مهم‬ ‫أمر‬ ‫الواجهة‬ ‫فبناء‬ ‫لذلك‬ ،‫ومتينا‬ ‫قويا‬ ‫كان‬ ‫مهما‬ ‫يهمه‬ ‫يعد‬ ‫ال‬ ‫الخبير‬
‫تم‬‫وتصمي‬ ‫الختبارها‬ ‫عملية‬ ‫تطبيقات‬ ‫ضمن‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫استخدام‬‫وتم‬ ،‫وفائدتها‬ ‫قوتها‬ ‫توضح‬ ‫عملية‬ ‫تطبيقات‬ ‫م‬‫ف‬‫البداية‬ ‫ي‬
‫العمل‬‫على‬ ‫المبنية‬ ‫الواجهات‬ ‫على‬Windows application‫الـ‬ ‫لغة‬ ‫باستخدام‬C#‫إلى‬ ‫االنتقال‬ ‫تم‬ ‫ثم‬‫يعمل‬ ‫تطبيق‬ ‫برمجة‬‫على‬
‫الويب‬Web Application.‫تناسبه‬ ‫التي‬ ‫بالكورسات‬ ‫للمستخدم‬ ‫االستشارة‬ ‫يقدم‬
‫لكل‬ ‫مختلفة‬ ‫مزايا‬ ‫هناك‬ ‫إن‬‫على‬ ‫المبنية‬ ‫الواجهات‬ ‫تتميز‬ ‫حيث‬ ،‫الواجهات‬ ‫أنواع‬ ‫من‬ ‫نوع‬Windows application:‫يلي‬ ‫بما‬
-‫باإلنترنيت‬ ‫االتصال‬ ‫إلى‬ ‫الحاجة‬ ‫دون‬ ‫مباشرة‬ ‫الحاسب‬ ‫على‬ ‫تعمل‬Offline.
-.‫برمجتها‬ ‫عملية‬ ‫في‬ ‫أكبر‬ ‫بسهولة‬ ‫تتميز‬
</Atom>
<Atom>
<op>
<Rel>SIGNIN USER</Rel>
</op>
<Var>user_name</Var>
</Atom>
<Atom>
<op>
<Rel>LEVEL</Rel>
</op>
<Var>course_name</Var>
<Var>user_expert</Var>
</Atom>
</And>
</body>
<head>
<Atom>
<op>
<Rel>COURSE PRIORITY</Rel>
</op>
<Var>course_name</Var>
<Ind>25</Ind>
</Atom>
</head>
</Implies>
</Assert>
</RuleML>
‫الصفحة‬85
-.‫الويب‬ ‫على‬ ‫المبنية‬ ‫التطبيقات‬ ‫من‬ ‫أسرع‬ ‫تعتبر‬
‫على‬ ‫المبنية‬ ‫الواجهة‬ ‫وتتمتع‬:‫يلي‬ ‫بما‬ ‫الويب‬
-.‫معها‬ ‫التعامل‬ ‫من‬ ‫األحد‬ ‫ألي‬ ‫الفرصة‬ ‫يتيح‬ ‫مما‬ ‫عالمية‬ ‫شبكة‬ ‫على‬ ‫موجودة‬
-.‫التقليدية‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫مع‬ ‫مقارنة‬ ‫أكثر‬ ‫مرن‬ ‫بالويب‬ ‫الخاص‬ ‫التصميم‬ ‫يعتبر‬
( ‫الشكل‬6-7)‫واجهة‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬Windows application
6-3-1‫الويب‬ ‫تطبيق‬Web Application:
‫كورسات‬ ‫على‬ ‫بالحصول‬ ‫الراغبين‬ ‫لألشخاص‬ ‫االستشارة‬ ‫يقدم‬ ‫األنترنيت‬ ‫شبكة‬ ‫على‬ ‫يعمل‬ ‫تطبيق‬ ‫وبرمجة‬ ‫تصميم‬ ‫تم‬
‫من‬ ‫قوية‬ ‫مكتبة‬ ‫على‬ ‫واعتمادا‬ ،‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫باستخدام‬ ‫التطبيق‬ ‫برمجة‬ ‫وتم‬ ،‫اختصاصهم‬ ‫ضمن‬ ‫ومن‬ ‫تهمهم‬ ‫محددة‬
‫مكتبة‬ ‫وهي‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬NxBRE.
‫بنا‬ ‫تم‬‫لكل‬ ‫متعددة‬ ‫طبقات‬ ‫وضع‬ ‫تم‬ ‫حيث‬ ،‫عالمية‬ ‫برمجية‬ ‫أسس‬ ‫على‬ ‫واعتمادا‬ ،‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫باستخدام‬ ‫الموقع‬ ‫ء‬
)..... ،‫بالمدير‬ ‫خاصة‬ ‫طبقة‬ ،‫المبرمجة‬ ‫لألدوات‬ ‫طبقة‬ ،‫المعطيات‬ ‫لقواعد‬ ‫(طبقة‬ ‫الموقع‬ ‫في‬ ‫هيكلية‬
‫في‬ ‫استخدم‬‫برنامج‬ ‫التطبيق‬ ‫برمجة‬Microsoft Visual studio 2013‫المتعددة‬ ‫الويب‬ ‫برمجة‬ ‫لغات‬ ‫على‬ ‫وبالعمل‬
‫التالية‬ ‫اللغات‬ ‫استخدمت‬ ‫حيث‬ ،‫الويب‬ ‫برمجة‬ ‫لغات‬ ‫إصدارات‬ ‫وآخر‬ ‫التقنيات‬ ‫آخر‬ ‫على‬ ‫اإلمكان‬ ‫قدر‬ ‫االعتماد‬ ‫تم‬ ‫وقد‬
:‫وظيفتها‬ ‫بحسب‬
-:‫الموقع‬ ‫تصميم‬‫باستخدام‬ ‫الموقع‬ ‫تصميم‬ ‫تم‬HTML5‫و‬CSS3‫مكتبة‬ ‫على‬ ‫االعتماد‬ ‫إلى‬ ‫باإلضافة‬
JCarousel.
-‫برمجة‬:‫العميل‬ ‫جهة‬ ‫من‬ ‫الموقع‬‫لغة‬ ‫على‬ ‫العمل‬ ‫تم‬JavaScript‫مكتبتي‬ ‫على‬ ‫االعتماد‬ ‫إلى‬ ‫باإلضافة‬JQuery
‫و‬JCarousel.
-:‫المخدم‬ ‫جهة‬ ‫من‬ ‫الموقع‬ ‫برمجة‬‫لغة‬ ‫استخدام‬ ‫تم‬ASP.NET.
-:‫الببيانات‬ ‫قاعدة‬‫استخدام‬ ‫تم‬SQL Server 2008.
‫الصفحة‬86
‫يب‬( ‫الشكل‬ ‫ين‬6-7.‫للموقع‬ ‫الرئيسة‬ ‫الصفحة‬ )
( ‫الشكل‬6-8)‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬‫الويب‬
6-3-2‫هيكلية‬‫الموقع‬:
‫االهتمام‬ ‫تم‬‫من‬ ‫تجعل‬ ‫عالمية‬ ‫برمجية‬ ‫مبادئ‬ ‫على‬ ‫اعتمادا‬ ‫الكود‬ ‫بناء‬ ‫تم‬ ‫حيث‬ ،‫األولى‬ ‫بالدرجة‬ ‫الموقع‬ ‫ببرمجة‬
‫م‬ ‫طبقة‬ ‫تصميم‬ ‫القواعد‬ ‫هذه‬ ‫أهم‬ ‫من‬ ،‫ممكنا‬ ‫أمرا‬ ‫المستقبل‬ ‫في‬ ‫الموقع‬ ‫تطوير‬ ‫عملية‬‫خصصة‬‫تدي‬ ‫حيث‬ ،‫البيانات‬ ‫لقواعد‬‫ر‬
‫البرمجة‬ ‫أسس‬ ‫على‬ ‫وبنيت‬ ،‫وتعديل‬ ‫وحذف‬ ‫إضافة‬ ‫من‬ ‫بالتطبيق‬ ‫الخاصة‬ ‫البيانات‬ ‫بقاعدة‬ ‫الخاصة‬ ‫العمليات‬ ‫كل‬ ‫الطبقة‬ ‫هذه‬
.‫التوجه‬ ‫غرضية‬
‫من‬ ‫الموقع‬ ‫بنية‬ ‫تتألف‬4:‫أساسية‬ ‫مكونات‬
-‫وتشكيل‬ ‫الويب‬ ‫موقع‬ ‫تصميم‬ ‫على‬ ‫يعتمد‬ ‫الذي‬ ‫الجزء‬ ‫وهو‬ :‫بالتصميم‬ ‫الخاص‬ ‫الجزء‬‫وطريق‬ ‫الموقع‬ ‫صفحات‬‫ة‬
‫التصميم‬ ‫ومكتبات‬ ‫تقنيات‬ ‫آخر‬ ‫على‬ ‫االعتماد‬ ‫الجزء‬ ‫هذا‬ ‫في‬ ‫تم‬ ،‫البيانات‬ ‫عرض‬‫مثل‬BootStrap,
JCarousel،‫العميل‬ ‫جهة‬ ‫من‬ ‫البرمجة‬ ‫واستخدام‬JavaScript‫للموقع‬ ‫الديناميكية‬ ‫إلضافة‬JQuery, AJAX.
-‫المخد‬ ‫جهة‬ ‫من‬ ‫بالكود‬ ‫الخاص‬ ‫الجزء‬ ‫وهو‬ :‫البرمجية‬ ‫األكواد‬ ‫جزء‬‫تقنية‬ ‫استخدام‬ ‫فيه‬ ‫وتم‬ ،‫م‬ASP.NET‫وبلغة‬
C#:‫قسمين‬ ‫إلى‬ ،‫المعالجة‬ ‫عمليات‬ ‫تقسيم‬ ‫بعدها‬ ‫وتم‬ ،‫مرات‬ ‫عدة‬ ‫الستخدامها‬ ‫أدوات‬ ‫تصميم‬ ‫الجزء‬ ‫هذا‬ ‫في‬ ‫تم‬ ،
.‫الموقع‬ ‫مستخدمين‬ ‫بعمليات‬ ‫خاص‬ ‫قسم‬
‫الـ‬ ‫بعمليات‬ ‫خاص‬ ‫قسم‬Admin.
‫الصفحة‬87
-‫نوع‬ ‫من‬ ‫بيانات‬ ‫قاعدة‬ ‫مع‬ ‫الموقع‬ ‫في‬ ‫التعامل‬ ‫تم‬ :‫البيانات‬ ‫قاعدة‬ ‫مع‬ ‫بالتعامل‬ ‫الخاص‬ ‫الجزء‬SQL Server،
‫تقنية‬ ‫على‬ ‫االعتماد‬ ‫وتم‬LINQ‫التقنية‬ ‫هذه‬ ‫تقوم‬ ‫حيث‬ ،‫التوجه‬ ‫غرضي‬ ‫بشكل‬ ‫البيانات‬ ‫قاعدة‬ ‫جداول‬ ‫مع‬ ‫للتعامل‬
‫إلى‬ ‫واألعمدة‬ ‫والسجالت‬ ‫الجداول‬ ‫تحويل‬ ‫على‬Classes.
-‫النظام‬ ‫نواة‬.‫الموقع‬ ‫ضمن‬ ‫استخدامها‬ ‫تم‬ ‫حيث‬ ‫البحث‬ ‫في‬ ‫تصميمها‬ ‫تم‬ ‫التي‬ ‫النواة‬ ‫وهي‬ :‫الخبير‬
( ‫الشكل‬ ‫يبين‬6-8.‫يحتويها‬ ‫التي‬ ‫والطبقات‬ ،‫الموقع‬ ‫هيكلية‬ )
( ‫الشكل‬6-9)‫هيكلية‬‫موقع‬‫الويب‬
6-3-3‫الويب‬ ‫موقع‬ ‫صفحات‬:
‫التي‬ ‫الصفحات‬ ‫غالب‬ ‫تصميم‬ ‫تم‬ ‫حيث‬ ،‫الويب‬ ‫موقع‬ ‫ضمن‬ ‫الصفحات‬ ‫من‬ ‫العديد‬ ‫يوجد‬‫وي‬ ‫موقع‬ ‫أي‬ ‫يتطلبها‬‫ب‬
‫عن‬ ‫الـمسؤول‬ ‫وصفحات‬ ،‫معين‬ ‫شيء‬ ‫عن‬ ‫لالستفسار‬ ‫الموقع‬ ‫أصحاب‬ ‫مع‬ ‫والتواصل‬ ،‫الدخول‬ ‫تسجيل‬ ‫من‬
‫يتم‬ ‫التي‬ ‫والحقائق‬ ‫يحتويها‬ ‫التي‬ ‫والقواعد‬ ،‫الخبير‬ ‫النظام‬ ‫عمليات‬ ‫فيها‬ ‫توضح‬ ‫إضافية‬ ‫صفحات‬ ‫إلى‬ ‫الموقع،باإلضافة‬
.‫استنتاجها‬
‫ال‬ ‫الصفحة‬ ‫هي‬ ‫الموقع‬ ‫ضمن‬ ‫الصفحات‬ ‫أهم‬‫يتم‬ ‫والتي‬ ،‫الموقع‬ ‫يتصفح‬ ‫الذي‬ ‫المستخدم‬ ‫تناسب‬ ‫التي‬ ‫الكورسات‬ ‫تبين‬ ‫تي‬
‫وبعض‬ ،‫المدرس‬ ‫واسم‬ ،‫يحتاجها‬ ‫التي‬ ‫الساعات‬ ‫عدد‬ ‫مع‬ ‫كورس‬ ‫كل‬ ‫توضيح‬ ‫فيها‬ ‫يتم‬ ،‫الخبير‬ ‫النظام‬ ‫طريق‬ ‫عن‬ ‫استنتاجها‬
‫ق‬ ‫من‬ ‫أيضا‬ ‫استنتاجه‬ ‫يتم‬ ‫والذي‬ ‫الكورس‬ ‫تقييم‬ ‫هي‬ ‫الصفحة‬ ‫هذه‬ ‫في‬ ‫يعرض‬ ‫ما‬ ‫أهم‬ ،‫األخرى‬ ‫التفاصيل‬‫ا‬ ‫النظام‬ ‫بل‬.‫لخبير‬
( ‫الشكل‬ ‫يوضح‬6-9.‫الكورسات‬ ‫صفحة‬ )
‫الصفحة‬88
( ‫الشكل‬6-10)‫الكورسات‬ ‫صفحة‬
6-3-4‫تجريب‬‫توافقية‬‫الموقع‬:
‫على‬ ‫العمل‬ ‫تم‬ ‫وقد‬ ‫إصداراتها‬ ‫بآخر‬ ‫الويب‬ ‫مستعرضات‬ ‫مع‬ ‫توافقية‬ ‫أكبر‬ ‫يحقق‬ ‫بحيث‬ ‫التطبيق‬ ‫تجريب‬ ‫تم‬4
،‫التشغيل‬ ‫أنظمة‬ ‫غالب‬ ‫على‬ ‫تعمل‬ ‫ويب‬ ‫مستعرضات‬‫تحقق‬ ‫استخدامها‬ ‫تم‬ ‫التي‬ ‫المكتبات‬ ‫إن‬‫من‬ ‫كبيرة‬ ‫نسبة‬‫ال‬‫مع‬ ‫توافق‬
.‫االختبار‬ ‫عملية‬ ‫سهل‬ ‫ما‬ ‫وهذا‬ ،‫الويب‬ ‫مستعرضات‬ ‫غالب‬
:‫هي‬ ‫عليها‬ ‫العمل‬ ‫تم‬ ‫التي‬ ‫المستعرضات‬
Mozilla FireFox Version 28.0
‫الصفحة‬89
Google Chrome Version 34. 0.1847.131 m
Internet Explorer 11 Version 11.0.9600
Opera browser 9.6
‫الصفحة‬90
‫الفصل‬‫السابع‬:
‫التطويرية‬ ‫والمقترحات‬ ‫الخاتمة‬
:‫الفصل‬ ‫هذا‬ ‫في‬
›‫الخاتمة‬.
›.‫التطويرية‬ ‫المقترحات‬
‫الصفحة‬91
:‫التطويرية‬ ‫المقترحات‬ ،‫الخاتمة‬ :‫السابع‬ ‫الفصل‬
7-1:‫الخاتمة‬
‫مباشرة‬ ‫العمل‬ ‫قيد‬ ‫وضعه‬ ‫يمكن‬ ‫عملي‬ ‫ويب‬ ‫موقع‬ ‫على‬ ‫المشروع‬ ‫في‬ ‫العمل‬ ‫تم‬‫من‬ ‫واسعة‬ ‫لشريحة‬ ‫الفائدة‬ ‫يحقق‬ ‫وبشكل‬
‫يتم‬ ‫التي‬ ‫التطبيقات‬ ‫بين‬ ‫هوة‬ ‫هناك‬ ‫تكون‬ ‫ما‬ ‫غالبا‬ ‫حيث‬ ،‫المشروع‬ ‫تنفيذ‬ ‫في‬ ‫لي‬ ‫دافعا‬ ‫كانت‬ ‫بالذات‬ ‫النقطة‬ ‫هذه‬ ‫إن‬ ،‫المستخدمين‬
.‫العمل‬ ‫سوق‬ ‫يحتاجه‬ ‫ما‬ ‫وبين‬ ‫طالبيا‬ ‫تصميمها‬
‫غ‬ ‫مهمة‬ ‫فكرة‬ ‫على‬ ‫يحتوي‬ ‫حيث‬ ،‫ابتكاريته‬ ‫هو‬ ‫الموقع‬ ‫به‬ ‫يتميز‬ ‫ما‬ ‫أهم‬ ‫من‬‫تقديم‬ ‫فكرة‬ ‫وهي‬ ‫اآلن‬ ‫إلى‬ ‫الويب‬ ‫على‬ ‫متواجدة‬ ‫ير‬
‫المستخدمين‬ ‫هؤالء‬ ‫بها‬ ‫يتميز‬ ‫التي‬ ‫الخبرة‬ ‫هذه‬ ‫من‬ ‫االستفادة‬ ‫تم‬ ‫حيث‬ ،‫اآلخرين‬ ‫خبرة‬ ‫من‬ ‫االستفادة‬ ‫عبر‬ ‫لألشخاص‬ ‫االستشارة‬
‫أيضا‬ ،‫أخرين‬ ‫أناس‬ ‫قبل‬ ‫من‬ ‫منها‬ ‫ويستفاد‬ ‫تعمم‬ ‫الفائدة‬ ‫هذه‬ ‫فإن‬ ‫وبالتالي‬ ‫آخرين‬ ‫مستخدمين‬ ‫فائدة‬ ‫ضمن‬ ‫ووضعها‬‫يتميز‬‫الموقع‬ ‫هذا‬
.‫ممكنا‬ ‫أمرا‬ ‫ويانته‬ ‫تطويره‬ ‫عملية‬ ‫تصبح‬ ‫بحيث‬ ‫عليه‬ ‫بنائه‬ ‫تم‬ ‫الذي‬ ‫القوي‬ ‫بالبناء‬
‫أمرا‬ ‫تشكل‬ ‫كانت‬ ‫التي‬ ‫االمور‬ ‫من‬ ‫العديد‬ ‫تعلمت‬ ‫وبها‬ ‫مثمرة‬ ‫كانت‬ ‫المعارف‬ ‫تمثيل‬ ‫ومعايير‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫عن‬ ‫البحث‬ ‫عملية‬
‫ال‬ ‫ووضحت‬ ،‫اإلبهام‬ ‫هذا‬ ‫جالء‬ ‫تم‬ ،‫لي‬ ‫بالنسبة‬ ‫مبهما‬.‫خبير‬ ‫لنظام‬ ‫متكامل‬ ‫تطبيق‬ ‫على‬ ‫الحصول‬ ‫مع‬ ‫رؤية‬
‫عند‬ ‫يظهر‬ ‫بحيث‬ ،‫عليه‬ ‫بالعمل‬ ‫أستمر‬ ‫لكي‬ ‫إضافيا‬ ‫وقتا‬ ‫هناك‬ ‫كان‬ ‫لو‬ ‫وأتمنى‬ ‫الكثير‬ ‫وقتي‬ ‫من‬ ‫فيه‬ ‫بذلت‬ ،‫لي‬ ‫فخرا‬ ‫البحث‬ ‫هذا‬ ‫كان‬
‫ال‬ ‫في‬ ‫أكبر‬ ‫بشكل‬ ‫المشروع‬ ‫على‬ ‫العمل‬ ‫سيتم‬ ‫حيث‬ ،‫الكبيرة‬ ‫بالمشكلة‬ ‫ليست‬ ‫هذه‬ ‫أن‬ ‫إال‬ ،‫الكامل‬ ‫بشكله‬ ‫تسليمه‬‫ا‬ ‫عطلة‬.‫لصيفية‬
‫مواضيع‬ ‫أيضا‬ ،‫أبدا‬ ‫الجامعة‬ ‫في‬ ‫إليه‬ ‫نتطرق‬ ‫ال‬ ‫واسع‬ ‫مجال‬ ‫فهو‬ ،‫الويب‬ ‫عالم‬ ‫لمواضيع‬ ‫قسمنا‬ ‫في‬ ‫أكبر‬ ‫دعم‬ ‫هناك‬ ‫يكون‬ ‫أن‬ ‫أتمنى‬
.‫الحديث‬ ‫التنكولوجي‬ ‫العالم‬ ‫في‬ ‫وأهميتها‬ ،‫الكبيرة‬ ‫قيمتها‬ ‫من‬ ‫الرغم‬ ‫على‬ ‫الجامعة‬ ‫في‬ ‫إغفالها‬ ‫يتم‬ ‫الخبيرة‬ ‫النظم‬
7-2‫المستقبلية‬ ‫األعمال‬:‫التطويرية‬ ‫والمقترحات‬
‫أكبر‬ ‫يحقق‬ ‫بحيث‬ ‫الويب‬ ‫شبكة‬ ‫على‬ ‫العمل‬ ‫قيد‬ ‫ووضعه‬ ‫تطويره‬ ‫على‬ ‫العمل‬ ‫سيتم‬ ‫بل‬ ،‫الجامعة‬ ‫حدود‬ ‫عند‬ ‫يقف‬ ‫لن‬ ‫الموقع‬ ‫إن‬
‫لشركة‬ ‫خاص‬ ‫موقع‬ ‫عن‬ ‫عبارة‬ ‫سيكون‬ ‫حيث‬ ‫منه‬ ‫عملية‬ ‫استفادة‬ ‫هناك‬ ‫سيكون‬ ‫أيضا‬ ،‫للمستخدمين‬ ‫إفادة‬AtomLab‫المتخصصة‬
‫تطوي‬ ‫لوحات‬ ‫وبناء‬ ‫تصميم‬ ‫في‬.‫المجاالت‬ ‫هذه‬ ‫ضمن‬ ‫تدريبية‬ ‫كورسات‬ ‫وتقديم‬ ،‫رية‬
‫العلوم‬ ‫هذه‬ ‫بين‬ ‫التكامل‬ ‫يبقى‬ ‫ولك‬ ‫فيه‬ ‫المجاالت‬ ‫من‬ ‫العديد‬ ‫على‬ ‫الدخول‬ ‫يمكن‬ ‫واسع‬ ‫مجال‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬ ‫مجال‬ ‫إن‬
‫إلى‬ ‫الصنعي‬ ‫الذكاء‬ ‫من‬ ‫إضافية‬ ‫تقنيات‬ ‫إدخال‬ ‫إلى‬ ‫العمل‬ ‫سيتم‬ ‫لذلك‬ ،‫تطبيق‬ ‫ألي‬ ‫األساسية‬ ‫القوة‬ ‫هي‬ ‫ككل‬‫بحيث‬ ‫الموقع‬‫قويا‬ ‫يصبح‬
‫هذا‬ ‫من‬ ‫واألهم‬ ،‫المواقع‬ ‫بقية‬ ‫عن‬ ‫تختلف‬ ،‫ومميزا‬ ‫جميال‬ ‫أمرا‬ ‫معه‬ ‫والتفاعل‬ ‫تطويره‬ ‫عملية‬ ‫تجعل‬ ،‫الذكاء‬ ‫من‬ ‫واضحة‬ ‫بلمسة‬ ‫ويتسم‬
.‫عربية‬ ‫بأيدي‬ ‫بني‬ ‫قد‬ ‫سيكون‬ ‫بأنه‬
‫الصفحة‬92
‫المراجع‬
:‫أجنبية‬ ‫مراجع‬
1- William Siler, James J. Buckley - Fuzzy expert systems and Fuzzy Reasoming Edition.1 –
Published simultaneously in Canada – 2005.
2- Harold Boley, Bruce Spencer - Semantic Web Techniques - CS 6999 SWT 3 October 2002.
3- Said Tabet, Harold Boley and Benjamin Grosof - RuleML, Use Cases and Industrial
Applications - W3C 2003.
:‫عربية‬ ‫مراجع‬
4-‫السيد‬ ‫خالد‬ .‫د.م‬-‫أصول‬‫اإلصطناعي‬ ‫الذكاء‬2003.
5-‫السبيت‬ ‫تهاني‬-‫االنسيابية‬ ‫األنماط‬ ‫صفحات‬css2005.
6-‫صالح‬ ‫سيد‬ ‫مختار‬-‫تعلم‬JQuery‫في‬120‫دقيقة‬2012.
‫مواقع‬‫الكترونية‬:
7- https://ar.wikipedia.org/ 12/2/2014
8- http://www.alyaseer.net/ 5/4/2014
9- https://www.wikipedia.com/ 16/2/2014
10- http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/ 20/3/2014
11- http://www.ruleml.org 11/12/2013
12- http://www.cs.umd.edu/projects/plus/SHOE 12/4/2014
13- http://www.jboss.com/products/rules 6/4/2014
14- http://www.nxbre.org 7/12/2013
15- http://www.droolsdotnet.codehaus.org 12/4/2014
16- http://www.netbpm.org 11/3/2014
17- http://www.flexrule.com 5/1/2014
18- http://www.cdevworkflow.com/ 12/4/2014
19- http://www.codeplex.com/SimpleFlow 12/4/2014
20- http://www.csharpopensource.com/stateless.aspx 12/4/2014
21- http://www.csharpopensource.com/workflowenginedotnet.aspx 16/4/2014
22- https:// www.github.com/lafar6502/NGinnBPM 16/4/2014
23- http:// www.sourceforge.net/projects/sdsre/ 16/4/2014
24- http://www.arabteam2000-forum.com/ 5/5/2014
25- http://www.google.com/ 11/5/2014
26- http://www.Quora.com/ 11/5/2014
27- http://www.facebook.com/ 11/5/2014
28- http://www.igcseict.info/theory/7_2/expert/ 3/3/2014
‫الصفحة‬93
Tishreen University
Faculty of Mechanical and Electrical
Engineering
Department of Computer and Automatic
Control Engineering
Prepared by: Tareq Mulla
Supervised by: Dr. Hasn Al-Ahmad
2013-2014
Studying of expert system Libraries and
knowledge representation way
A Project prepared for achive degree B.sc in
Computer and Automatic Control Engineering

Graduation project documentation

  • 1.
    ‫دراسة‬‫بحثية‬‫وتطبيقية‬‫حول‬‫مكتبات‬‫النظم‬‫الخبيرة‬‫وط‬‫رق‬ ‫تمثيل‬‫المعرفة‬ ‫اإلجازة‬ ‫لنيل‬ ‫أعد‬‫بحث‬.‫اآللي‬ ‫والتحكم‬ ‫الحاسبات‬ ‫هندسة‬ ‫في‬ :‫إعداد‬‫مال‬ ‫محمد‬ ‫طارق‬ :‫إشراف‬‫األحمد‬ ‫د.حسن‬ 2013-2014 ‫تشرين‬ ‫جامعة‬ ‫والكهربائية‬ ‫الميكانيكية‬ ‫الهندسة‬ ‫كلية‬ ‫اآللي‬ ‫والتحكم‬ ‫الحاسبات‬ ‫هندسة‬ ‫قسم‬
  • 2.
    ‫الصفحة‬1 ‫م‬‫ي‬‫ح‬‫الر‬‫من‬‫ح‬‫الر‬‫هللا‬‫م‬‫س‬‫ب‬ ‫م‬ُ‫يت‬ِ‫ُوت‬‫أ‬ ‫ا‬َ‫م‬َ‫و‬‫ن‬ِ‫م‬‫ا‬‫ل‬‫ي‬ِ‫ل‬َ‫ق‬ َّ‫ال‬ِ‫إ‬ِ‫م‬‫ل‬ِ‫ع‬‫ال‬ ‫علمنا‬ ‫اللهم‬ ،‫احلكيم‬ ‫العليم‬ ‫أنت‬ ‫إنك‬ ‫علمتنا‬ ‫ما‬ ‫إال‬ ‫لنا‬ ‫علم‬ ‫ال‬ ‫اللهم‬ ،‫ينفعنا‬ ‫ما‬‫علما‬ ‫وزدان‬ ،‫علمتنا‬ ‫مبا‬ ‫انفعنا‬‫و‬
  • 3.
    ‫الصفحة‬2 ‫النوعية‬ ‫حيث‬ ‫من‬‫مالئم‬ ‫أنه‬ ‫على‬ ‫التخرج‬ ‫لمشروع‬ ‫ومناقشتها‬ ‫قراءتها‬ ‫بعد‬ ‫الحكم‬ ‫لجنة‬ ‫تصادق‬ . ‫التخرج‬ ‫لمشروع‬ ً‫ا‬‫بحث‬ ‫ليكون‬ ‫واألهمية‬ : ‫الحكم‬ ‫لجنة‬ ‫أسماء‬ ‫ه‬:‫الحكم‬ ‫لجنة‬ ‫مالحظات‬ ‫لوضع‬ ‫مخصصة‬ ‫الصفحة‬ ‫ذه‬
  • 4.
    ‫الصفحة‬3 I ‫شكر‬ ‫كلمة‬ ‫فإنما‬‫شكر‬ ‫ومن‬ ‫أكفر‬ ‫أم‬ ‫ءأشكر‬ ‫ليبلوني‬ ‫ربي‬ ‫فضل‬ ‫من‬ ‫هذا‬ ‫"قال‬ :‫وتعالى‬ ‫سبحانه‬ ‫هللا‬ ‫يقول‬ "‫كريم‬ ‫غني‬ ‫ربي‬ ‫فإن‬ ‫كفر‬ ‫ومن‬ ‫لنفسه‬ ‫يشكر‬ ‫أنهي‬ ‫لكي‬ ‫أعانني‬ ‫الذي‬ ‫فهو‬ ،‫له‬ ‫خالصة‬ ،‫وتعالى‬ ‫سبحانه‬ ‫هلل‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫الشكر‬ ‫كلمة‬ ‫فإن‬ ‫لذلك‬ ‫واألشخاص‬ ‫األسباب‬ ‫لي‬ ‫وهيأ‬ ،‫البحث‬ ‫هذا‬‫إلكماله‬‫إذ‬ ‫بعد‬ ‫علمني‬ ،‫و‬ ،‫جاهال‬ ‫كنت‬،‫علم‬ ‫منزل‬ ‫غني‬ّ‫بل‬ .‫الدنيا‬ ‫هذه‬ ‫في‬ ‫درجة‬ ‫ورفعني‬ ‫علي‬ ‫هللا‬ ‫صلى‬ ‫محمد‬ ‫سيدنا‬ ‫يقول‬ ،‫الناس‬ ‫لنشكر‬ ‫يأمرنا‬ ‫هو‬ ‫أيضا‬‫لم‬ ،‫الناس‬ ‫يشكر‬ ‫لم‬ ‫"من‬ ‫وسلم‬ ‫ه‬ ."‫هللا‬ ‫يشكر‬ ‫شخص‬ ‫ولكل‬ ،‫عليه‬ ‫هو‬ ‫لما‬ ‫يصل‬ ‫لكي‬ ‫البحث‬ ‫هذا‬ ‫في‬ ‫وأعاني‬ ‫ساعدني‬ ‫من‬ ‫لكل‬ ‫بالشكر‬ ‫أتقدم‬ ‫لذلك‬ .‫إنهائه‬ ‫في‬ ‫صغير‬ ‫ولو‬ ‫سهم‬ ‫له‬ ‫كان‬ ‫لي‬ ‫يقدم‬ ‫وكان‬ ،‫البحث‬ ‫على‬ ‫مشرفا‬ ‫كان‬ ‫الذي‬ ،‫األحمد‬ ‫حسن‬ ‫للدكتور‬ ‫خاص‬ ‫بشكل‬ ‫بالشكر‬ ‫أتقدم‬ ‫الم‬ ‫والمعلومات‬ ‫الخبرة‬.‫بها‬ ‫يمدني‬ ‫كان‬ ‫التي‬ ‫النصائح‬ ‫إلى‬ ‫باإلضافة‬ ،‫أحتاجها‬ ‫التي‬ ‫طلوبة‬ ‫و‬ ،‫المشروع‬ ‫هذا‬ ‫إنهاء‬ ‫في‬ ‫وساعدوني‬ ‫معي‬ ‫كانوا‬ ‫الذين‬ ‫واألخوة‬ ‫لألصدقاء‬ ‫أيضا‬ ‫بالشكر‬ ‫أتقدم‬‫ك‬‫انوا‬ ‫مراح‬ ‫جميع‬ ‫في‬ ‫لي‬ ‫عونا‬ ‫دوما‬‫له‬. ‫أعانني‬ ‫شخص‬ ،‫عمري‬ ‫طوال‬ ‫بخدمته‬ ‫بقيت‬ ‫ولو‬ ‫شكره‬ ‫عن‬ ‫أعجز‬ ‫لشخص‬ ‫األكبر‬ ‫الشكر‬ ‫ويبقى‬ ‫طو‬.‫الجامعية‬ ‫حياتي‬ ‫كامل‬ ‫في‬ ‫وأخيرا‬ ‫أوال‬ ‫الفضل‬ ‫وله‬ ،‫الجامعة‬ ‫درب‬ ‫ال‬ ‫شكر‬ ‫أخيرا‬‫القلب‬ ‫من‬‫مسيرتي‬ ‫في‬ ‫بسيطة‬ ‫ولو‬ ‫بمعلومة‬ ‫وأمدني‬ ،‫السنين‬ ‫طوال‬ ‫حرفا‬ ‫علمني‬ ‫من‬ ‫لكل‬ .‫علي‬ ‫فضل‬ ‫لهم‬ ‫كان‬ ‫الذين‬ ‫واألصدقاء‬ ،‫والمهندسين‬ ،‫تشرين‬ ‫جامعة‬ ‫في‬ ‫الدكاترة‬ ‫لكل‬ ،‫الجامعية‬
  • 5.
    ‫الصفحة‬4 III ‫دراسة‬‫بحثية‬‫وتطبيقية‬‫حول‬‫مكتبات‬‫النظم‬‫الخبيرة‬‫في‬‫بيئة‬.Net‫وطرق‬ ‫تمثيل‬‫المعرفة‬ ‫ملخص‬:‫البحث‬ ‫البحث‬ ‫يتحدث‬‫عن‬‫نظرية‬‫دراسة‬‫وتطبيقية‬‫بيئة‬ ‫على‬ ‫تعمل‬ ‫التي‬ ‫الخبيرة‬ ‫النظم‬ ‫لمكتبات‬ .Net‫األمثل‬ ‫المكتبة‬ ‫الختيار‬ ‫محددة‬ ‫معايير‬ ‫ووضع‬ ‫بينها‬ ‫والمقارنة‬‫نواة‬ ‫يتضمن‬ ‫مشروع‬ ‫ألي‬ ‫خبير‬ ‫لنظام‬،.‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫المتبعة‬ ‫الطرق‬ ‫ودراسة‬ ‫تم‬‫الـ‬ ‫قرابة‬ ‫على‬ ‫الدراسة‬ ‫إجراء‬10‫الطرق‬ ‫أشهر‬ ‫ودراسة‬ ،‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫من‬ ‫مكتبات‬ ‫في‬ ‫المتبعة‬‫المعارف‬ ‫تمثيل‬‫ضمنها‬،‫و‬،‫بينها‬ ‫المقارنة‬‫ثم‬‫تم‬ ‫أيضا‬ ،‫طريقة‬ ‫كل‬ ‫ومساوئ‬ ‫مزايا‬ ‫وضع‬ ‫يمكن‬ ‫التي‬ ‫الكيفية‬ ‫وضع‬‫ا‬‫خا‬ ‫معيار‬ ‫وضع‬ ‫من‬ ‫لمبرمج‬‫ضمن‬ ‫واستخدامه‬ ‫المعارف‬ ‫لتمثيل‬ ‫به‬ ‫ص‬ .‫الصنعي‬ ‫الذكاء‬ ‫تطبيقات‬ ‫مكتبة‬ ‫اختيار‬ ‫في‬ ‫السابقة‬ ‫الدراسة‬ ‫من‬ ‫االستفادة‬ ‫تم‬ ‫حيث‬ ‫خبير‬ ‫لنظام‬ ‫نواة‬ ‫بناء‬ ‫أيضا‬ ‫البحث‬ ‫يتضمن‬ ‫برمجة‬ ‫آخرا‬ ‫وتم‬ ،‫النواة‬ ‫لبناء‬ ‫مناسبة‬‫يقدم‬ ،‫ويب‬ ‫موقع‬ ‫على‬ ‫موجود‬ ‫خبير‬ ‫لنظام‬ ‫عملي‬ ‫تطبيق‬ ‫مع‬ ‫في‬ ‫للمستخدمين‬ ‫االستشارة‬‫الموجودة‬ ‫الكورسات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫لهم‬ ‫المناسبة‬ ‫الكورسات‬ ‫رفة‬ ‫و‬ ،‫الموقع‬ ‫على‬‫ذلك‬‫تم‬ ‫التطبيق‬ ،‫الكورسات‬ ‫هذه‬ ‫تابعوا‬ ‫الذين‬ ‫اآلخرين‬ ‫الناس‬ ‫خبرة‬ ‫على‬ ‫اعتمادا‬ ‫تصميمه‬‫على‬ ‫أوال‬‫مكتبي‬ ‫تطبيق‬ ‫شكل‬Windows Application‫ومن‬‫موقع‬ ‫على‬ ‫تطبيقه‬ ‫تم‬ ‫ثم‬ ‫ويب‬‫جميع‬ ‫من‬ ‫الناس‬ ‫خبرات‬ ‫على‬ ‫والحصول‬ ،‫منه‬ ‫االستفادة‬ ‫المستخدمين‬ ‫من‬ ‫أكبر‬ ‫لعدد‬ ‫يمكن‬ ‫لكي‬ .‫العالم‬ ‫أنحاء‬ ‫م‬ ‫من‬ ‫االستفادة‬ ‫وتم‬ ،‫العملي‬ ‫المشروع‬ ‫لتنفيذ‬ ‫الويب‬ ‫مجال‬ ‫في‬ ‫التقنيات‬ ‫آخر‬ ‫استخدام‬ ‫تم‬‫ك‬‫خاصة‬ ‫تبة‬ ‫مكتبة‬ ‫وهي‬ ‫الخبيرة‬ ‫النظم‬ ‫في‬NxBRE‫وت‬ ،‫المجال‬ ‫هذا‬ ‫في‬ ‫بعراقتها‬ ‫تتميز‬ ‫والتي‬ ،‫معيار‬ ‫استخدام‬ ‫م‬ ‫معيار‬ ‫هو‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫عالمي‬RuleML. ‫األساسية‬ ‫بالنواة‬ ‫واالهتمام‬ ،‫الحديثة‬ ‫الويب‬ ‫مستعرضات‬ ‫مع‬ ‫اإلمكان‬ ‫قدر‬ ‫الموقع‬ ‫توافقية‬ ‫دراسة‬ ‫تمت‬ ‫سيتم‬ ‫ويب‬ ‫لموقع‬ ‫نواة‬ ‫سيكون‬ ‫كونه‬ ،‫والتطوير‬ ‫الصيانة‬ ‫وقابلية‬ ،‫البرمجي‬ ‫البناء‬ ‫حيث‬ ‫من‬ ‫للمشروع‬ ‫اإلنترن‬ ‫شبكة‬ ‫على‬ ‫رفعه‬‫يت‬.
  • 6.
  • 7.
    ‫الصفحة‬6 :‫األشكال‬ ‫جدول‬ ‫الصفحة‬ ‫رقم‬‫الشكل‬ 21 ( ‫الشكل‬1-1‫البحث‬ ‫محركات‬ )Google‫و‬YAHOO. 31 ( ‫الشكل‬1-2‫البيانات‬ ‫تنقيب‬ ‫عملية‬ )Data Mining 31 ( ‫الشكل‬1-3‫موقع‬ )Quora 31 ( ‫الشكل‬1-4‫موقع‬ )FaceBook 81 ( ‫الشكل‬2-1‫لفكرة‬ ‫توضيحي‬ ‫مخطط‬ )‫الخبير‬ ‫النظام‬ 19 ( ‫الشكل‬2-2‫الخبيرة‬ ‫النظم‬ ‫مكونات‬ ) 12 ( ‫الشكل‬2-3‫الخبير‬ ‫النظام‬ ‫في‬ ‫توجد‬ ‫أن‬ ‫يمكن‬ ‫التي‬ ‫للمكونات‬ ‫عام‬ ‫مخطط‬ ) 22 ( ‫الشكل‬2-4‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫بين‬ ‫التواصل‬ ‫طريقة‬ ) 52 ( ‫الشكل‬3-1‫الترميز‬ ‫لغات‬ ‫أهم‬ ‫شجرة‬ ) 62 ( ‫الشكل‬3-2‫لغة‬ ‫استخدام‬ ‫مجاالت‬ )XML 82 ( ‫الشكل‬3-3‫المعايير‬ ‫تمثيل‬ ‫طريقة‬ ) 13 ‫الشكل‬)3-4(‫عن‬ ‫المتفرعة‬ ‫المعايير‬ ‫أهم‬XML 63 ( ‫الشكل‬3-5)‫المعيار‬ ‫مكونات‬RuleML 39 ( ‫الشكل‬3-6)‫لغة‬ ‫عمل‬ ‫بيئة‬PROLOG 34 ( ‫الشكل‬4-1‫لمكتبة‬ ‫الهيكلية‬ ‫البنية‬ )NxBRE 46 ( ‫الشكل‬4-2‫برنامج‬ )Visio‫من‬Microsoft 74 ( ‫الشكل‬4-3‫برنامج‬ ‫في‬ ‫القواعد‬ ‫مع‬ ‫التصميم‬ ‫دمج‬ )Visio 50 ( ‫الشكل‬4-4‫مكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬ )NetBpm 15 ( ‫الشكل‬4-5‫المكتبة‬ ‫عمليات‬ )NetBpm 35 ( ‫الشكل‬4-6‫مكتبة‬ ‫محركات‬ )FlexRule 53 ( ‫الشكل‬4-7‫في‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬ )FlexRule 61 ( ‫الشكل‬5-1‫باستخدام‬ ‫برمجتها‬ ‫يمكن‬ ‫التي‬ ‫التطبيقات‬ ‫أنواع‬ )ASP.NET 62 ( ‫الشكل‬5-2‫الـ‬ ‫عمل‬ ‫طريقة‬ )AJAX 63 ( ‫الشكل‬5-3‫التقليدية‬ ‫الويب‬ ‫تطبيقات‬ ‫عمل‬ ‫طريقة‬ ) 63 ( ‫الشكل‬5-4‫الويب‬ ‫تطبيقات‬ ‫عمل‬ ‫طريقة‬ )‫على‬ ‫المعتمدة‬AJAX 66 ( ‫الشكل‬5-5‫المكتبة‬ ‫ملفات‬ )Bootstrap 72 ( ‫الشكل‬6-1‫مكتبة‬ ‫شعار‬ )NxBRE‫المعارف‬ ‫قاعدة‬ ‫ومعيار‬ 37 ( ‫الشكل‬6-2‫المحرك‬ ‫عمل‬ ‫طريقة‬ )Flow engine 47 ( ‫الشكل‬6-3‫المحرك‬ ‫عمل‬ ‫طريقة‬ )Inference engine 57 ( ‫الشكل‬6-4‫الذاكرة‬ ‫ضمن‬ ‫الحقائق‬ ‫انتقال‬ ‫مخطط‬ ) 76 ( ‫الشكل‬6-5‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫طبقات‬ ) 76 ( ‫الشكل‬6-6‫طبقات‬ )‫تفصيلي‬ ‫بشكل‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬ 83 ( ‫الشكل‬6-7‫واجهة‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬ )Windows application 84 ( ‫الشكل‬6-8‫الويب‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬ ) 85 ( ‫الشكل‬6-9‫الويب‬ ‫موقع‬ ‫هيكلية‬ ) 86 ( ‫الشكل‬6-10‫الكورسات‬ ‫صفحة‬ )
  • 8.
    ‫الصفحة‬7 IV :‫األكواد‬ ‫جدول‬ ‫الصفحة‬‫رقم‬ ‫الشكل‬ 27 ( ‫الكود‬3-1‫كود‬ ‫عن‬ ‫مثال‬ )XML 29 ( ‫الكود‬3-2‫باستخدام‬ ‫عالقة‬ ‫توصيف‬ )DTD 29 ( ‫الكود‬3-3‫عالقة‬ ‫توصيف‬ )2‫باستخدام‬DTD 29 ( ‫الكود‬3-4( ‫المعامل‬ ‫استخدام‬ )|‫الـ‬ ‫توصيف‬ ‫في‬ )DTD 30 ( ‫الكود‬3-5( ‫المعامل‬ ‫استخدام‬ )+‫الـ‬ ‫توصيف‬ ‫في‬ ) * ( ‫والمعامل‬ )DTD 30 ( ‫الكود‬3-6‫الـ‬ ‫توصيف‬ ‫في‬ ) ‫؟‬ ( ‫المعامل‬ ‫استخدام‬ )DTD 33 ( ‫الكود‬3-7‫الـ‬ ‫ملف‬ )DTD‫لمعيار‬RuleML0.8 34 ( ‫الكود‬3-8)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML 34 ( ‫الكود‬3-9)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML 35 ( ‫الكود‬3-10)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML 36 ( ‫الكود‬3-11)‫الـ‬ ‫ملف‬DTD‫لعيار‬HornML. 37 ( ‫الكود‬3-12)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML 37 ( ‫الكود‬3-13)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML 37 ( ‫الكود‬3-14)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML 38 ( ‫الكود‬3-15‫في‬ ‫الوسوم‬ ‫خصائص‬ ‫استخدام‬ )HornML 38 ‫الكود‬(3-16‫استخدام‬ )ID‫و‬IDREF‫في‬HornML 39 ( ‫الكود‬3-17‫معيار‬ ‫باستخدام‬ ‫معرفة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬ )SHOE. 39 ( ‫الكود‬3-18‫لغة‬ ‫في‬ ‫حقيقة‬ ‫عن‬ ‫مثال‬ )PROLOG 40 ( ‫الكود‬3-19‫باستخدام‬ ‫معرفة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬ )PROLOG 44 ( ‫الكود‬4-1‫من‬ ‫محرك‬ ‫عن‬ ‫مثال‬ )Flow engine 44 ( ‫الكود‬4-2‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )xbre 45 ( ‫الكود‬4-3‫نوع‬ ‫من‬ ‫محرك‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )Inference engine 64 ( ‫الكود‬4-4‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )RuleML 47 ( ‫الكود‬4-5‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬ )HRF 48 ( ‫الكود‬4-6‫باستخدام‬ ‫محرك‬ ‫عن‬ ‫مثال‬ )Drools.Net 49 ( ‫الكود‬4-7‫المكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬ )Drools.Net 52 ( ‫الكود‬4-8‫للمكتبة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬ )NetBpm 55 ( ‫الكود‬4-9‫قاعدة‬ ‫عن‬ ‫مثال‬ )XML‫للمكتبة‬FlexRule 59 ( ‫الكود‬5-1‫كود‬ ‫عن‬ ‫مثال‬ )HTML 60 ( ‫الكود‬5-2‫كود‬ ‫عن‬ ‫مثال‬ )CSS 60 ( ‫الكود‬5-3‫كود‬ ‫عن‬ ‫مثال‬ )JavaScript 65 ( ‫الكود‬5-4‫تقنية‬ ‫تنفيذ‬ ‫ملف‬ )AJAX 66 ( ‫الكود‬5-5‫مكتبة‬ ‫استخدام‬ ‫طريقة‬ )JQuery 86 ( ‫الكود‬5-6‫مكتبة‬ ‫استخدام‬ ‫طريقة‬ )Bootstrap 87–79 ‫الكود‬(6-1)‫الطبقة‬Inference Engine 08–18–28-38 ( ‫الكود‬6-2‫بالموقع‬ ‫الخاصة‬ ‫المعارف‬ ‫قاعدة‬ ‫من‬ ‫جزء‬ )
  • 9.
    ‫الصفحة‬8 :‫المحتويات‬ :‫البحث‬ ‫ملخص‬.......................................................................................................................................4 ‫األول‬ ‫الفصل‬-:‫البحث‬‫إلى‬ ‫مدخل‬..............................................................................................................12 1-1:‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬.......................................................................................................12 1-2:‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬ ‫توصيف‬................................................................................................14 1-2-1:‫المشروع‬ ‫توصيف‬...............................................................................................................14 1-2-2:‫األهداف‬ ‫توصيف‬................................................................................................................14 1-3‫والعمل‬ ‫الدراسة‬ ‫مراحل‬:................................................................................................................15 1-4:‫المشروع‬ ‫واجهت‬ ‫التي‬ ‫التحديات‬.....................................................................................................15 1-5:‫سابقا‬ ‫إنجازه‬ ‫تم‬ ‫ما‬......................................................................................................................15 1-6:‫التوثيق‬ ‫فصول‬ ‫عن‬ ‫لمحة‬..............................................................................................................16 ‫الثاني‬ ‫الفصل‬-:‫الخبيرة‬ ‫النظم‬...................................................................................................................18 2-1:‫الخبير‬ ‫النظام‬ ‫تعريف‬...................................................................................................................18 2-2:‫الخبير‬ ‫النظام‬ ‫مكونات‬..................................................................................................................19 2-2-1‫المعرفة‬ ‫قاعدة‬Knowledge base:.............................................................................................19 2-2-2‫االستدالل‬ ‫آلية‬Inference Engine:.............................................................................................20 2-2-3‫االستخدام‬ ‫واجهة‬Interface User:.............................................................................................20 2-3:‫الخبير‬ ‫النظام‬ ‫خواص‬..................................................................................................................21 2-4:‫الخبير‬ ‫النظام‬ ‫استخدامات‬..............................................................................................................22 2-5:‫الخبير‬ ‫النظام‬ ‫ميزات‬...................................................................................................................23 2-6:‫الخبير‬ ‫النظام‬ ‫عيوب‬....................................................................................................................23 ‫لغة‬ :‫الثالث‬ ‫الفصل‬XML:‫المعارف‬ ‫تمثيل‬ ‫وطرق‬...........................................................................................25 3-1‫الموسعة‬ ‫الترميز‬ ‫لغة‬XML:...........................................................................................................25 3-1-1‫لغة‬ ‫مميزات‬XML:..............................................................................................................25 3-1-2‫وظائف‬XML:‫الويب‬ ‫في‬.......................................................................................................25 3-1-3‫لملف‬ ‫الهيكلية‬ ‫البنية‬XML:.....................................................................................................26 3-2‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬XML:..............................................................................................27 3-2-1‫لملفات‬ ‫المعايير‬ ‫وصف‬XML:.................................................................................................27 3-2-2‫باستخدام‬ ‫المعيار‬ ‫توصيف‬DTDs:.............................................................................................29 3-3:‫الخبيرة‬ ‫للنظم‬ ‫المعارف‬ ‫تمثيل‬ ‫معايير‬ ‫أشهر‬........................................................................................31 3-3-1‫معيار‬RuleML:..................................................................................................................31 3-3-1-1‫معيار‬ ‫تاريخ‬RuleML:...................................................................................................32 3-3-1-2‫ملف‬DTDs‫لمعيار‬RuleML 0.8:.....................................................................................33 3-3-1-3‫معيار‬ ‫عن‬ ‫أمثلة‬RuleML:...............................................................................................34
  • 10.
    ‫الصفحة‬9 3-3-1-4‫المعيار‬ ‫مكونات‬RuleML:...............................................................................................36 3-3-2‫معيار‬HornML:.................................................................................................................36 3-3-2-1‫ملف‬DTDs‫لمعيار‬RuleML:..........................................................................................36 3-3-2-2‫معيار‬ ‫عن‬‫أمثلة‬HornML:..............................................................................................37 3-3-3‫معيار‬SHOE:.....................................................................................................................38 3-3-4‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬PROLOG:.........................................................................................39 ‫الرابع‬ ‫الفصل‬-:‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬.........................................................................................................41 4-1‫مكتبة‬NxBRE:..........................................................................................................................42 4-1-1:‫المكتبة‬ ‫مكونات‬..................................................................................................................42 4-1-2‫نوع‬ ‫من‬ ‫المحركات‬Flow Engine:............................................................................................43 4-1-3‫االستدالل‬ ‫محرك‬Inference Engine:.........................................................................................44 4-1-3-1‫هيئة‬ ‫على‬ ‫القواعد‬ ‫ملفات‬RuleML:....................................................................................46 4-1-3-2‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬VDX‫باستخدام‬Visio:......................................................................46 4-1-3-3‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬HRF:...........................................................................................47 4-2‫مكتبة‬Drools.NET:....................................................................................................................47 4-3‫مكتبة‬NetBPM:.........................................................................................................................49 4-4‫مكتبة‬FlexRule:........................................................................................................................52 4-5‫مكتبة‬cDevWorkflow:...............................................................................................................55 4-6‫مكتبة‬NGinn.BPM:....................................................................................................................55 4-7‫مكتبة‬Workflow Engine.Net:.......................................................................................................56 4-8‫مكتبة‬SRE (Simple Rule Engine):.................................................................................................56 4-9‫مكتبة‬Stateless:.........................................................................................................................57 4-10‫مكتبة‬Softix.Orchestration:........................................................................................................57 ‫الخامس‬ ‫الفصل‬-:‫الحديثة‬ ‫الويب‬ ‫تقنيات‬.......................................................................................................59 5-1‫الويب‬ ‫تطبيقات‬ ‫بناء‬Web application:.............................................................................................59 5-2‫بيئة‬ASP.NET:.........................................................................................................................61 5-3‫تقنية‬AJAX:.............................................................................................................................62 5-3-1‫الـ‬ ‫عمل‬ ‫طريقة‬AJAX:..........................................................................................................63 5-4‫مكتبة‬JQuery:...........................................................................................................................65 5-5‫الـ‬ ‫مكتبة‬BootStrap:....................................................................................................................66 :‫العملي‬ ‫والتطبيق‬ ‫الدراسة‬ ‫نتائج‬ :‫السادس‬ ‫الفصل‬............................................................................................71 6-1:‫النظرية‬ ‫الدراسة‬........................................................................................................................71 6-1-1:‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫اختيار‬ ‫معايير‬................................................................................................71
  • 11.
    ‫الصفحة‬10 6-1-2‫المكتبة‬ ‫اختيار‬NxBRE:............................................................................................................73 6-1-3:‫المعارف‬ ‫تمثيل‬‫طريقة‬ ‫اختيار‬.....................................................................................................73 6-1-4:‫االستدالل‬ ‫محرك‬ ‫اختيار‬...........................................................................................................74 6-2‫الخبير‬ ‫النظام‬ ‫نواة‬Expert System Core:..............................................................................................77 6-2-1‫الـ‬ ‫طبقة‬Inefernce Engine:........................................................................................................78 6-2-2:‫بالتطبيق‬ ‫الخاصة‬ ‫المعارف‬ ‫قاعدة‬.................................................................................................81 6-3:‫العملي‬ ‫التطبيق‬..............................................................................................................................84 6-3-1‫الويب‬ ‫تطبيق‬Web Application:.................................................................................................85 6-3-2:‫الموقع‬ ‫هيكلية‬........................................................................................................................86 6-3-3:‫الويب‬ ‫موقع‬ ‫صفحات‬...............................................................................................................87 6-3-4:‫الموقع‬ ‫توافقية‬ ‫تجريب‬..............................................................................................................88 :‫التطويرية‬ ‫المقترحات‬ ،‫الخاتمة‬ :‫السابع‬ ‫الفصل‬..............................................................................................91 7-1:‫الخاتمة‬...................................................................................................................................91 7-2‫األعمال‬:‫التطويرية‬ ‫والمقترحات‬ ‫المستقبلية‬.........................................................................................91 ‫المراجع‬.............................................................................................................................................92
  • 12.
    ‫الصفحة‬11 :‫األول‬ ‫الفصل‬ ‫البحث‬ ‫إلى‬‫مدخل‬ :‫الفصل‬ ‫هذا‬ ‫في‬ ›‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬. ›‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬ ‫توصيف‬. ›‫والعمل‬ ‫الدراسة‬ ‫مراحل‬. ›‫المشروع‬ ‫واجهت‬ ‫التي‬ ‫التحديات‬. ›‫لمحة‬‫التوثيق‬ ‫فصول‬ ‫عن‬.
  • 13.
    ‫الصفحة‬12 ‫الفصل‬‫األول‬-:‫البحث‬ ‫إلى‬ ‫مدخل‬ 1-1:‫الويب‬‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬ ،‫الويب‬ ‫عالم‬ ‫المجاالت‬ ‫هذه‬ ‫ومن‬ ،‫المجاالت‬ ‫كافة‬ ‫في‬ ‫العلماء‬ ‫قبل‬ ‫من‬ ‫اهتمام‬ ‫تلقى‬ ‫التي‬ ‫العلوم‬ ‫أكثر‬ ‫من‬ ‫الصنعي‬ ‫الذكاء‬ ‫إن‬ ‫وبالرغم‬ ،‫علينا‬ ‫يخفى‬ ‫يعد‬ ‫لم‬ ‫الويب‬ ‫مواقع‬ ‫تبديه‬ ‫ذكاء‬ ‫من‬ ‫نالحظه‬ ‫وما‬ ‫نلعبها‬ ‫التي‬ ‫األلعاب‬ ‫وفي‬ ‫هواتفنا‬ ‫في‬ ‫الموجود‬ ‫الذكاء‬ ‫إن‬ ‫حتى‬ ‫أحد‬ ‫يستطع‬ ‫لم‬ ‫فإنه‬ ‫ذلك‬ ‫من‬‫الصنعي‬ ‫الذكاء‬ ‫تعريف‬ ‫يمكن‬ ‫فإننا‬ ‫عام‬ ‫بشكل‬ ‫ولكن‬ ،‫الصنعي‬ ‫للذكاء‬ ‫محدد‬ ‫تعريف‬ ‫وضع‬ ‫اآلن‬ Artificial intelligence‫الحاسب‬ ‫علم‬ ‫فروع‬ ‫من‬ ‫فرع‬ ‫بأنه‬Computer science‫عند‬ ‫الذكي‬ ‫السلوك‬ ‫بمحاكاة‬ ‫يعنى‬ ، ‫المعقدة‬ ‫المشكالت‬ ‫حل‬ ‫وفي‬ ،‫اإلنسان‬Complex problem[7] . ‫على‬ ‫يعتمد‬ ‫ما‬ ‫ومنها‬ ،‫البحث‬ ‫عمليات‬ ‫في‬ ‫يبحث‬ ‫ما‬ ‫ومنها‬ ،‫استداللي‬ ‫هو‬ ‫ما‬ ‫فمنها‬ ،‫متعددة‬ ‫الصنعي‬ ‫الذكاء‬ ‫مجاالت‬ ‫تعتبر‬ ‫تنحى‬ ‫أغلبها‬ ‫فإن‬ ‫عام‬ ‫بشكل‬ ‫ولكن‬ ،‫مهمة‬ ‫معلومات‬ ‫على‬ ‫الحصول‬ ‫في‬ ‫اإلحصائية‬ ‫العمليات‬‫منحى‬ ‫باتجاه‬‫الحصو‬ ‫وهو‬ ،‫واحد‬‫ل‬ ‫ال‬ ‫هذا‬ ‫من‬ ‫والغاية‬ ،‫اإلنسان‬ ‫كما‬ ‫يفكر‬ ‫عقل‬ ‫على‬‫المجاالت‬ ‫في‬ ‫سيما‬ ‫ال‬ ،‫كافة‬ ‫الحياة‬ ‫مجاالت‬ ‫في‬ ‫لإلنسان‬ ‫عونا‬ ‫يكون‬ ‫أن‬ ‫هي‬ ‫عقل‬ ‫كبيرة‬ ‫ذاكرة‬ ‫حفظ‬ ‫عمليات‬ ‫تتطلب‬ ‫التي‬ ‫أو‬ ،‫الكبيرة‬ ‫االستنتاج‬ ‫وعمليات‬ ،‫السريع‬ ‫البحث‬ ‫مثل‬ ‫قاصرا‬ ‫اإلنسان‬ ‫فيها‬ ‫يعتبر‬ ‫التي‬ ‫بسرعة‬.[4] ‫مكان‬ ‫كل‬ ‫في‬ ‫به‬ ‫نشعر‬ ‫أصبحنا‬ ‫الصنعي‬ ‫الذكاء‬ ‫فإن‬ ‫الذكر‬ ‫أسلفنا‬ ‫وكما‬‫التطبيق‬ ‫أكثر‬ ‫فمن‬ ،‫الويب‬ ‫عالم‬ ‫في‬ ‫سيما‬ ‫وال‬ ‫حولنا‬ ‫من‬‫ات‬ ‫مثل‬ ،‫نستخدمها‬ ‫التي‬ ‫البحث‬ ‫محركات‬ ‫هي‬ ،‫اإلنترنيت‬ ‫شبكة‬ ‫على‬ ‫دائم‬ ‫بشكل‬ ‫معها‬ ‫نتعامل‬ ‫التي‬ ‫الذكية‬Google‫و‬Bing ‫و‬Yahoo‫أجزا‬ ‫في‬ ‫هائل‬ ‫مستودع‬ ‫من‬ ‫المعلومات‬ ‫جلب‬ ‫على‬ ‫رهيبة‬ ‫بقدرة‬ ‫تتمتع‬ ‫المحركات‬ ‫هذه‬ ،‫األخرى‬ ‫البحث‬ ‫ومحركات‬‫ء‬ ‫المعلومات‬ ‫أفضل‬ ‫على‬ ‫للحصول‬ ‫ومدروس‬ ‫ذكي‬ ‫بشكل‬ ‫تتم‬ ‫بل‬ ،‫اعتباطي‬ ‫بشكل‬ ‫تتم‬ ‫ال‬ ‫حتما‬ ‫هذه‬ ‫البحث‬ ‫عملية‬ ،‫الثانية‬ ‫من‬ ‫بسيطة‬ .‫ذكية‬ ‫خوارزميات‬ ‫ذلك‬ ‫لتنفيذ‬ ‫ويتم‬ ،‫بسيط‬ ‫وبزمن‬ ‫الشكل‬(1-1)‫البحث‬ ‫محركات‬Google‫و‬[25] YAHOO ‫البيانات‬ ‫"تنقيب‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫الخوارزميات‬ ‫هذه‬ ‫تسمى‬Data Mining‫مع‬ ‫ربطها‬ ‫يتم‬ ‫للبيانات‬ ‫تحليل‬ ‫خوارزميات‬ ‫وهي‬ " ‫معينه‬ ‫معلومات‬ ‫عن‬ ‫وبحث‬ ‫تفتيش‬ ‫عملية‬ ‫هي‬ ‫وببساطه‬ ،‫البيانات‬ ‫هذه‬ ‫لتحليل‬ ‫اإلحصائية‬ ‫والعمليات‬ ‫االصطناعي‬ ‫الذكاء‬ ‫تقنيات‬ ‫البيانات‬ ‫من‬ ‫كبير‬ ‫حجم‬ ‫في‬ ‫ومفيدة‬[7] .
  • 14.
    ‫الصفحة‬13 ‫الشكل‬(1-2)‫البيانات‬ ‫تنقيب‬ ‫عملية‬[25] DataMining ،‫ذكي‬ ‫بشكل‬ ‫متعددة‬ ‫مواضيع‬ ‫في‬ ‫ومشورات‬ ‫مساعدات‬ ‫تقدم‬ ‫والتي‬ ‫المشهورة‬ ‫المواقع‬ ‫من‬ ‫الكثير‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫نجد‬ ‫أيضا‬ ‫موقع‬ ‫المواقع‬ ‫هذه‬ ‫من‬ ‫نذكر‬Cora‫الشكل‬ ‫في‬ ‫يظهر‬ ‫(الذي‬1-3)‫ميزات‬ ‫يقدم‬ ،‫الصنعي‬ ‫بالذكاء‬ ‫جدا‬ ‫متميز‬ ‫موقع‬ ‫وهو‬‫مهمة‬ ‫طرق‬ ‫على‬ ‫اعتمادا‬ ‫وذلك‬ ،‫ما‬ ‫نوعا‬ ‫دقيقة‬ ‫بإجابات‬ ‫فيجيبه‬ ‫معين‬ ‫شيء‬ ‫عن‬ ‫بسؤاله‬ ‫المستخدم‬ ‫يقوم‬ ‫أن‬ ‫يمكن‬ ‫حيث‬ ،‫وجميلة‬ .‫الموقع‬ ‫ضمن‬ ‫خبرتهم‬ ‫أضافوا‬ ‫آخرين‬ ‫لمستخدمين‬ ‫سابقة‬ ‫وخبرات‬ ‫ذكية‬ ‫استدالل‬ ‫الشكل‬(1-3)‫موقع‬[26] Quora ‫موقع‬ ‫يعتبر‬ ‫أيضا‬FaceBook‫فخوارزميا‬ ،‫الصنعي‬ ‫الذكاء‬ ‫بخوارزميات‬ ‫مليء‬ ‫مميزا‬ ‫موقعا‬‫ت‬‫األشخاص‬ ‫أوجه‬ ‫على‬ ‫التعرف‬ ‫موقع‬ ‫يحويه‬ ‫الذي‬ ‫الصنعي‬ ‫الذكاء‬ ‫على‬ ‫مثاال‬ ‫تعتبر‬FaceBook‫(الشكل‬1-4)‫ميزة‬ ‫وهي‬ ‫فيه‬ ‫الموجودة‬ ‫المهمة‬ ‫الميزة‬ ‫أيضا‬ ‫عل‬ ‫للحصول‬ ‫استداللية‬ ‫بعملية‬ ‫يقوم‬ ‫خبير‬ ‫نظام‬ ‫على‬ ‫مبنية‬ "‫تعرفهم‬ ‫قد‬ ‫"أشخاص‬.‫نعرفهم‬ ‫قد‬ ‫الذين‬ ‫األشخاص‬ ‫هؤالء‬ ‫ى‬ ‫الشكل‬(1-4)‫موقع‬[27] FaceBook
  • 15.
    ‫الصفحة‬14 1-2:‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬‫توصيف‬ ‫ضمن‬ ‫وذلك‬ ‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫للمكتبات‬ ‫نظرية‬ ‫دراسة‬ ‫حول‬ ‫المشروع‬ ‫فكرة‬ ‫تدور‬‫بيئة‬.NET‫دراسة‬ ‫إلى‬ ‫باإلضافة‬ ‫معايير‬ ‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طريقة‬XML،‫وتم‬‫تكمن‬ ‫خبير‬ ‫نظام‬ ‫على‬ ‫يحتوي‬ ‫ويب‬ ‫لموقع‬ ‫عملي‬ ‫تطبيق‬ ‫على‬ ‫أيضا‬ ‫العمل‬ ‫على‬ ‫اعتمادا‬ ‫وذلك‬ ،‫الموقع‬ ‫على‬ ‫الموجودة‬ ‫الكورسات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫يناسبه‬ ‫الذي‬ ‫الكورس‬ ‫تحديد‬ ‫في‬ ‫الزائر‬ ‫مساعدة‬ ‫في‬ ‫أهميته‬ .‫للموقع‬ ‫المنضمين‬ ‫اآلخرين‬ ‫المستخدمين‬ ‫خبرات‬ 1-2-1:‫المشروع‬ ‫توصيف‬ ‫محاور‬ ‫توصيف‬ ‫يمكن‬:‫التالية‬ ‫بالنقاط‬ ‫المشروع‬ -.‫ومساوئها‬ ‫فوائدها‬ ‫أهم‬ ‫وتحديد‬ ،‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫المكتبات‬ ‫غالب‬ ‫على‬ ‫نظرية‬ ‫دراسة‬ ‫إجراء‬ -.‫شخصي‬ ‫معيار‬ ‫وضع‬ ‫بها‬ ‫يتم‬ ‫التي‬ ‫الطريقة‬ ‫تحديد‬ ‫مع‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫المستخدمة‬ ‫المعايير‬ ‫دراسة‬ -‫ع‬ ‫الحصول‬ ‫تم‬ ‫بحيث‬ ‫والتطبيق‬ ‫التجريب‬ ‫قيد‬ ‫الدراسة‬ ‫وضع‬ ‫تم‬‫االعتماد‬ ‫يمكن‬ ‫التي‬ ‫المعايير‬ ‫من‬ ‫مجموعة‬ ‫لى‬ .‫للمستخدم‬ ‫المناسبة‬ ‫المكتبة‬ ‫لتحديد‬ ‫عليها‬ -‫مكتبة‬ ‫وهي‬ ‫كامل‬ ‫بشكل‬ ‫الخبير‬ ‫النظام‬ ‫بناء‬ ‫في‬ ‫المستخدمة‬ ‫المكتبة‬ ‫دراسة‬NxBRE‫في‬ ‫عليها‬ ‫واالعتماد‬ ، .‫العملي‬ ‫التطبيق‬ -‫المناس‬ ‫الكورسات‬ ‫تحديد‬ ‫في‬ ‫الخبيرة‬ ‫النظم‬ ‫على‬ ‫يعتمد‬ ‫ويب‬ ‫تطبيق‬ ‫تصميم‬ ‫تم‬‫من‬ ‫قائمة‬ ‫من‬ ‫للمستخدم‬ ‫بة‬ .‫للموقع‬ ‫المنضمين‬ ‫األىخرين‬ ‫األشخاص‬ ‫خبرة‬ ‫وحسب‬ ‫االختصاص‬ ‫حسب‬ ‫وذلك‬ ‫الكورسات‬ -‫النواة‬ ‫جعل‬ ‫على‬ ‫العمل‬Core‫على‬ ‫والعمل‬ ،‫وصيانته‬ ،‫تطويره‬ ‫السهولة‬ ‫من‬ ‫يصبح‬ ‫بحيث‬ ‫قوية‬ ‫بالموقع‬ ‫الخاصة‬ .‫الويب‬ ‫شبكة‬ ‫على‬ ‫العمل‬ ‫قيد‬ ‫وضه‬ -‫الحديث‬ ‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫على‬ ‫االعتماد‬.‫المواصفات‬ ‫لكامل‬ ‫محققا‬ ‫التطبيق‬ ‫لجعل‬ ‫ة‬ 1-2-2:‫األهداف‬ ‫توصيف‬ -.‫آخرين‬ ‫ألناس‬ ‫فائدة‬ ‫يحقق‬ ‫بما‬ ‫وتوظيفها‬ ،‫العالم‬ ‫مستوى‬ ‫على‬ ‫الناس‬ ‫يملكها‬ ‫التي‬ ‫الخبرات‬ ‫استخدام‬ -‫حياتهم‬ ‫بظروف‬ ‫يتعلق‬ ‫فيما‬ ‫استشارته‬ ‫من‬ ‫المستخدمين‬ ‫يمكن‬ ‫األنترينت‬ ‫شبكة‬ ‫على‬ ‫موقع‬ ‫على‬ ‫الحصول‬ ‫والتي‬ ،‫االعتيادية‬.‫الناس‬ ‫معظم‬ ‫بها‬ ‫يمر‬ -‫عليه‬ ‫االعتماد‬ ‫ويمكن‬ ،‫للمستخدمين‬ ‫عملية‬ ‫فائدة‬ ‫وذو‬ ،‫بالذكاء‬ ‫يتميز‬ ،‫متكامل‬ ،‫تفاعلي‬ ‫ويب‬ ‫موقع‬ ‫على‬ ‫الحصول‬ .‫معينة‬ ‫مشكلة‬ ‫لحل‬ -.‫الويب‬ ‫شبكة‬ ‫على‬ ‫موجودا‬ ‫التطبيق‬ ‫جعل‬ ‫عبر‬ ‫المستخدمين‬ ‫من‬ ‫واسعة‬ ‫لشريحة‬ ‫معين‬ ‫مجال‬ ‫في‬ ‫الفائدة‬ ‫تحقيق‬ -‫عل‬ ‫سوري‬ ‫لطالب‬ ‫مهمة‬ ‫بصمة‬ ‫وضع‬‫كصاحب‬ ،‫العالم‬ ‫في‬ ‫الجامعيين‬ ‫الطالب‬ ‫من‬ ‫العديد‬ ‫يفعل‬ ‫كما‬ ،‫الويب‬ ‫شبكة‬ ‫ى‬ ‫موقع‬FaceBook.
  • 16.
    ‫الصفحة‬15 1-3‫والعمل‬ ‫الدراسة‬ ‫مراحل‬: ‫البدأ‬‫تم‬ ‫بحيث‬ ‫المتتالية‬ ‫الخطوات‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫العمل‬ ‫تقسيم‬ ‫تم‬ ‫وقد‬ ،‫األخيرة‬ ‫السنة‬ ‫طوال‬ ‫المشروع‬ ‫على‬ ‫العمل‬ ‫تم‬ ،‫سابقتها‬ ‫من‬ ‫االنتهاء‬ ‫حين‬ ‫مرحلة‬ ‫بكل‬:‫هي‬ ‫بالترتيب‬ ‫الخطوات‬ ‫هذه‬ 1-‫مجال‬ ‫عن‬ ‫وقوية‬ ‫واسعة‬ ‫معلومات‬ ‫على‬ ‫للحصول‬ ‫أساسي‬ ‫بشكل‬ ‫الخبيرة‬ ‫والنظم‬ ،‫الصنعي‬ ‫الذكاء‬ ‫موضوع‬ ‫دراسة‬ .‫البحث‬ 2-،‫إصداراتها‬ ‫آخر‬ ‫على‬ ‫والحصول‬ ‫األنترنيت‬ ‫شبكة‬ ‫على‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫في‬ ‫واسعة‬ ‫بحث‬ ‫عملية‬ ‫إجراء‬ ‫تم‬ ‫تتحدث‬ ‫مراجع‬ ‫أي‬ ‫عن‬ ‫البحث‬ ‫إلى‬ ‫باإلضافة‬.‫عليها‬ ‫تعتمد‬ ‫تطبيقات‬ ‫أو‬ ،‫عنها‬ 3-،‫انتشارها‬ ‫ومدى‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫المستخدمة‬ ‫المعايير‬ ‫أشهر‬ ‫عن‬ ‫البحث‬ ‫عملية‬ ‫في‬ ‫كانت‬ ‫الثالثة‬ ‫المرحلة‬ .‫عالميا‬ ‫واعتمادها‬ 4-‫مكتبة‬ ‫وهي‬ ،‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫من‬ ‫المختارة‬ ‫المكتبة‬ ‫حول‬ ‫واسعة‬ ‫دراسة‬ ‫عملية‬ ‫إجراء‬NxBRE. 5-‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫بناء‬.‫مستقبال‬ ‫وصيانتها‬ ‫تطويرها‬ ‫يمكن‬ ‫بحيث‬ ،‫عالمية‬ ‫برمجية‬ ‫مبادئ‬ ‫على‬ ‫اعتمادا‬ 6-‫بتطبيق‬ ‫البدأ‬‫مجال‬ ‫في‬ ‫للمستخدمين‬ ‫النصائح‬ ‫بتقديم‬ ‫متخصص‬ ‫ويب‬ ‫موقع‬ ‫وهو‬ ،‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫يستخدم‬ ‫عملي‬ ‫الموقع‬ ‫تطوير‬ ‫تم‬ ‫وقد‬ ،‫لهم‬ ‫المناسبة‬ ‫الكورسات‬‫ق‬ ‫بنيان‬ ‫ذو‬ ‫يكون‬ ‫بحيث‬‫لل‬ ‫وقابل‬ ،‫للتطوير‬ ‫قابل‬ ،‫وي‬‫ص‬‫يانة‬‫و‬ ،‫يع‬‫تمد‬ ‫التقنيات‬ ‫آخر‬ ‫على‬.‫الويب‬ ‫مجال‬ ‫في‬ 7-،‫األخرى‬ ‫المتصفحات‬ ‫مع‬ ‫توافقه‬ ‫من‬ ‫والتأكد‬ ‫تجريبه‬ ‫يتم‬ ‫لكي‬ ،‫األشخاص‬ ‫بين‬ ‫نشره‬ ‫على‬ ‫والعمل‬ ‫الموقع‬ ‫تجريب‬ .‫تحتويه‬ ‫التي‬ ‫األخطاء‬ ‫وإصالح‬ 1-4:‫المشروع‬ ‫واجهت‬ ‫التي‬ ‫التحديات‬ :‫يلي‬ ‫ما‬ ‫أهمها‬ ‫كان‬ ‫كثير‬ ‫تحديات‬ ‫المشروع‬ ‫واجهت‬ -‫الشح‬‫هذه‬ ‫تطبيقات‬ ‫ببرمجة‬ ‫األمر‬ ‫يتعلق‬ ‫حين‬ ‫وخصوصا‬ ،‫الويب‬ ‫شبكة‬ ‫على‬ ‫الخبيرة‬ ‫النظم‬ ‫مراجع‬ ‫في‬ ‫الكبير‬ .‫النظم‬ -‫المكتبات‬ ‫عن‬ ‫الشروحات‬ ‫غالب‬ ‫أن‬ ‫إلى‬ ‫نظرا‬ ‫التخصصية‬ ‫اإلنكليزية‬ ‫اللغة‬ ‫مصطلحات‬ ‫في‬ ‫كبير‬ ‫قوة‬ ‫إلى‬ ‫الحاجة‬ .‫اإلنكليزية‬ ‫باللغة‬ ‫تكون‬ -‫المشروع‬ ‫في‬ ‫المستخدمة‬ ‫واللغات‬ ‫التقنيات‬ ‫كثرة‬.‫المحدد‬ ‫بالزمن‬ ‫ينتهي‬ ‫لكي‬ ‫كبيرا‬ ‫وتحديا‬ ‫عائقا‬ ‫شكل‬ ‫مما‬ 1-5:‫سابقا‬ ‫إنجازه‬ ‫تم‬ ‫ما‬ ‫على‬ ‫الشركات‬ ‫غالب‬ ‫تعمل‬ ‫التي‬ ‫الحديثة‬ ‫المواضيع‬ ‫من‬ ‫البحث‬ ‫هذا‬ ‫يعتبر‬‫ضمن‬ ‫مفاهيمه‬ ‫تطبيق‬ ‫وتحاول‬ ،‫إليه‬ ‫الدخول‬ ‫جع‬ ‫في‬ ‫كبيرة‬ ‫أهمية‬ ‫للخبرة‬ ‫يكون‬ ‫حيث‬ ،‫بالويب‬ ‫يتعلق‬ ‫األمر‬ ‫كان‬ ‫إذا‬ ‫وخاصة‬ ،‫تطبيقاته‬.‫للمستخدمين‬ ‫مفيدا‬ ‫الموقع‬ ‫ل‬ ‫المشهور‬ ‫الكتب‬ ‫موقع‬ ‫الخبيرة‬ ‫النظم‬ ‫تطبق‬ ‫التي‬ ‫المواقع‬ ‫من‬Amazon‫مثل‬ ‫االجتماعي‬ ‫التواصل‬ ‫ومواقع‬ ،FaceBook‫و‬ Twitter‫موقع‬ ‫مثل‬ ‫صريح‬ ‫وبشكل‬ ‫فقط‬ ‫بالمعرفة‬ ‫متخصصة‬ ‫مواقع‬ ‫يوجد‬ ‫أيضا‬ ،Cuora. ‫التطبيقات‬ ‫من‬ ‫العديد‬ ‫فيوجد‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫على‬ ‫بينما‬‫ال‬ ‫النظم‬ ‫مبادئ‬ ‫وتطبق‬ ‫شركات‬ ‫قبل‬ ‫من‬ ‫تباع‬ ‫التي‬ ‫التجارية‬،‫خبيرة‬ .‫أجلها‬ ‫من‬ ‫شراؤه‬ ‫يريد‬ ‫التي‬ ‫للغاية‬ ‫أو‬ ،‫شركته‬ ‫ضمن‬ ‫الخدمات‬ ‫هذه‬ ‫من‬ ‫الزبون‬ ‫يستفيد‬ ‫بحيث‬
  • 17.
    ‫الصفحة‬16 1-6:‫التوثيق‬ ‫فصول‬ ‫عن‬‫لمحة‬ :‫رئيسية‬ ‫فصول‬ ‫سبعة‬ ‫إلى‬ ‫التوثيق‬ ‫تقسيم‬ ‫تم‬ ‫من‬ ‫العملية‬ ‫الفائدة‬ ‫عن‬ ‫الحديث‬ ‫تم‬ ،‫األول‬ ‫الفصل‬ ‫في‬‫الذكية‬ ‫والتقنيات‬ ‫المواقع‬ ‫أهم‬ ‫وعن‬ ،‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬ ‫وجود‬ ‫اتباعها‬ ‫تم‬ ‫التي‬ ‫والخطة‬ ،‫وأهدافه‬ ‫المشروع‬ ‫متطلبات‬ ‫توصيف‬ ‫إلى‬ ‫التطرق‬ ‫تم‬ ‫وكذلك‬ ،‫نشعر‬ ‫أن‬ ‫دون‬ ‫من‬ ‫حولنا‬ ‫من‬ ‫تتواجد‬ ‫التي‬ .‫العمل‬ ‫في‬ ‫ا‬ ‫وهو‬ ‫المشروع‬ ‫موضوع‬ ‫بصلب‬ ‫المرتبطة‬ ‫المواضيع‬ ‫مناقشة‬ ‫الثاني‬ ‫الفصل‬ ‫في‬ ‫تم‬‫عد‬ ‫من‬ ‫الفصل‬ ‫هذا‬ ‫ويتألف‬ ,‫الخبيرة‬ ‫لنظم‬‫ة‬ ‫الثاني‬ ‫القسم‬ ‫في‬ ‫الحديث‬ ‫تم‬ ‫أيضا‬ ،‫الخبير‬ ‫النظام‬ ‫منها‬ ‫يتألف‬ ‫التي‬ ‫للمكونات‬ ‫سريع‬ ‫استعراض‬ ‫منه‬ ‫األول‬ ‫القسم‬ ‫في‬ ‫تم‬ .‫أقسام‬ .‫الخبيرة‬ ‫النظم‬ ‫ومساوئ‬ ‫بميزات‬ ‫الفصل‬ ‫اختتام‬ ‫وتم‬ ،‫الخبيرة‬ ‫النظم‬ ‫خصائص‬ ‫عن‬ ‫للغ‬ ‫عمليا‬ ‫توصيفا‬ ‫الثالث‬ ‫الفصل‬ ‫يعتبر‬‫ة‬XML‫معايير‬ ‫عن‬ ‫الحديث‬ ‫تم‬ ‫أيضا‬ ،‫منها‬ ‫نستفيدها‬ ‫التي‬ ‫والفوائد‬ ،‫استخدامها‬ ‫وطرق‬ ‫المعيار‬ ‫شرح‬ ‫على‬ ‫التركيز‬ ‫مع‬ ‫المعارف‬ ‫تمثل‬RuleML.‫التطبيق‬ ‫في‬ ‫المستخدم‬ ‫لغة‬ ‫عن‬ ‫الحديث‬ ‫وتم‬ ،‫المشروع‬ ‫في‬ ‫استخدامها‬ ‫تم‬ ‫التي‬ ‫الحديثة‬ ‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫توضيح‬ ‫تم‬ ‫الرابع‬ ‫الفصل‬ ‫في‬ASP.NET ‫برم‬ ‫في‬.‫الويب‬ ‫مواقع‬ ‫جة‬ ‫الـ‬ ‫بيئة‬ ‫على‬ ‫الموجودة‬ ‫الخبير‬ ‫النظم‬ ‫مكتبات‬ ‫ألهم‬ ‫وشرحا‬ ً‫ا‬‫وصف‬ ‫يحوي‬ ‫فهو‬ ‫الخامس‬ ‫الفصل‬ ‫أما‬.NET‫عن‬ ‫الحديث‬ ‫تم‬ ‫وفيه‬ ‫مكتبة‬ ‫شرح‬ ‫على‬ ‫التركيز‬ ‫مع‬ ‫حدى‬ ‫على‬ ‫مكتبة‬ ‫كل‬ ‫ومساوئ‬ ‫مزايا‬ ‫أشهر‬NxBRE.‫التطبيق‬ ‫في‬ ‫المستخدمة‬ ،‫الويب‬ ‫وتطبيق‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫بناء‬ ‫طريقة‬‫و‬‫وطريقة‬ ‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫اختيار‬ ‫في‬ ‫عليها‬ ‫االستناد‬ ‫تم‬ ‫التي‬ ‫الطرق‬ ‫شرح‬ .‫السادس‬ ‫الفصل‬ ‫في‬ ‫موجودة‬ ‫المعارف‬ ‫تمثيل‬ ‫آمل‬ ‫كنت‬ ‫التي‬ ‫التطويرية‬ ‫المقترحات‬ ‫من‬ ‫مجموعة‬ ‫ويتبعها‬ ‫المستقبلية‬ ‫األفكار‬ ‫عن‬ ‫يتحدث‬ ‫بفصل‬ ‫التوثيق‬ ‫اختتام‬ ‫تم‬ ‫النهاية‬ ‫وفي‬ ‫لم‬ ‫الوقت‬ ‫ولكن‬ ‫بها‬ ‫القيام‬‫ص‬ ‫من‬ ‫يكن‬‫الحي‬.
  • 18.
    ‫الصفحة‬17 ‫الفصل‬‫الثاني‬: ‫الخبيرة‬ ‫النظم‬ :‫الفصل‬ ‫هذا‬‫في‬ ›‫تعريف‬‫النظ‬‫ا‬‫الخبير‬ ‫م‬. ›‫الخبير‬ ‫النظام‬ ‫مكونات‬. ›‫الخبير‬ ‫النظام‬ ‫خواص‬. ›‫النظ‬ ‫استخدامات‬‫ام‬‫الخبير‬. ›‫النظ‬ ‫ميزات‬‫ا‬.‫الخبير‬ ‫م‬ ›‫النظ‬ ‫عيوب‬‫ا‬‫الخبير‬ ‫م‬.
  • 19.
    ‫الصفحة‬18 ‫الفصل‬‫الثاني‬-:‫الخبيرة‬ ‫النظم‬ ‫هو‬ ‫الخبير‬‫النظام‬‫برنامج‬‫البشرية‬ ‫بالخبرة‬ ‫متعلقة‬ ً‫ا‬‫مهام‬ ‫لينفد‬ ‫مصمم‬‫حيث‬ ،‫تعتبر‬ ‫بعمليات‬ ‫القيام‬ ‫الخبير‬ ‫النظام‬ ‫يحاول‬ ‫القرارات‬ ‫واتخاد‬ ‫الحكم‬ ‫ويتضمن‬ ‫البشر‬ ‫اختصاص‬ ‫من‬ ‫عادة‬.[7] ‫الخبراء‬ ‫يملك‬‫ا‬‫قواعد‬ ‫إلى‬ ‫عادة‬ ‫تستند‬ ‫الخبيرة‬ ‫النظم‬ ‫فإن‬ ‫لذا‬ ‫عملهم‬ ‫مجاالت‬ ‫في‬ ‫المتخصصة‬ ‫المعرفة‬ ‫من‬ ‫هائلة‬ ‫كمية‬ ‫لبشريون‬ ‫المعرفة‬ ‫معلومات‬ ‫تحوي‬ ‫التي‬ ‫المعطيات‬ ‫قواعد‬ ‫من‬ ً‫ال‬‫هائ‬ ‫عدد‬ ‫تتضمن‬ ‫معرفة‬‫وقد‬ ،‫فروع‬ ‫من‬ ‫كفرع‬ ‫الخبيرة‬ ‫النظم‬ ‫نشأت‬ ‫االصطناعي‬ ‫الذكاء‬.[7] 2-1‫تعريف‬‫النظ‬‫ا‬‫م‬‫الخبير‬: ‫أن‬ ‫يمكن‬‫نع‬‫ر‬‫برامج‬ ‫عن‬ ‫عبارة‬ ‫بإنها‬ ‫الخبيرة‬ ‫النظم‬ ‫ف‬‫حاسوبية‬‫ا‬ ‫آداء‬ ‫حاكي‬ُ‫ت‬‫معين‬ ‫خبرة‬ ‫مجال‬ ‫في‬ ‫البشري‬ ‫لخبير‬،‫و‬‫عن‬ ‫ذلك‬ ‫خبي‬ ‫وخبرة‬ ‫معلومات‬ ‫واستخدام‬ ‫تجميع‬ ‫طريق‬‫مع‬ ‫مجال‬ ‫في‬ ‫أكثر‬ ‫أو‬ ‫ر‬‫وقد‬ ،‫ين‬،‫باالستنتاج‬ ‫فتقوم‬ ‫كاإلنسان‬ ‫تفكر‬ ‫أنها‬ ‫لتبدو‬ ‫طورت‬ ‫وتؤد‬ ،‫أخطائها‬ ‫من‬ ‫التعلم‬ ‫على‬ ‫القدرة‬ ‫ولديها‬ً‫ا‬‫تدريب‬ ً‫ا‬‫مدرب‬ ‫متخصص‬ ‫عادة‬ ‫تطلب‬ ‫التي‬ ‫وخاصة‬ ،‫فائقة‬ ‫ومهارة‬ ‫بسرعة‬ ‫مهامها‬ ‫ى‬ ‫يعمل‬ ‫وهو‬ ،‫مجاله‬ ‫في‬ ‫البشرى‬ ‫الخبير‬ ‫يؤديها‬ ‫التي‬ ‫المهام‬ ‫يؤدى‬ ‫الخبير‬ ‫النظام‬ ‫أن‬ ‫هذا‬ ‫ويعنى‬ ،‫الخبرة‬ ‫من‬ ‫معين‬ ‫ميدان‬ ‫في‬ ً‫ا‬‫جيد‬ ‫ي‬ ‫التي‬ ‫الميادين‬ ‫إحدى‬ ‫داخل‬ ‫والمشكالت‬ ‫وحل‬ ‫القرارات‬ ‫اتخاذ‬ ‫في‬ ‫مساعدة‬ ‫كأداة‬‫الخبير‬ ‫النظام‬ ‫فيها‬ ‫عمل‬[4] . ‫االصطناعي‬ ‫الذكاء‬ ‫تطبيقات‬ ‫إحدى‬ ‫الخبيرة‬ ‫النظم‬ ‫تعد‬Artificial Intelligence‫الخبرة‬ ‫من‬ ‫االستفادة‬ ‫في‬ ‫المستخدمة‬ ‫المتعددة‬ ‫لتطبيقاته‬ ً‫ا‬‫نظر‬ ،‫األخيرة‬ ‫السنوات‬ ‫في‬ ‫ملحوظة‬ ‫أهمية‬ ‫الحديث‬ ‫العلم‬ ‫هذا‬ ‫اكتسب‬ ‫وقد‬ ،‫محددين‬ ‫أشخاص‬ ‫عند‬ ‫الموجودة‬ ‫فائدة‬ ‫من‬ ‫يحققه‬ ‫ولما‬ ،‫والمعلومات‬ ‫المكتبات‬ ‫في‬ ‫وكذلك‬ ،‫والتعليم‬ ،‫والكيمياء‬ ،‫والهندسة‬ ،‫كالطب‬ ‫الحياة‬ ‫ميادين‬ ‫كافة‬ ‫في‬‫ك‬‫بيرة‬ ‫الخبرة‬ ‫هذه‬ ‫من‬ ‫المستفيدين‬ ‫لجميع‬[8] . :‫الخبير‬ ‫النظام‬ ‫لفكرة‬ ‫توضيحيا‬ ‫مخططا‬ ‫التالي‬ ‫الشكل‬ ‫يوضح‬ ‫الشكل‬(2-1)‫الخبير‬ ‫النظام‬ ‫لفكرة‬ ‫توضيحي‬ ‫مخطط‬[28] ‫أدرج‬"‫هذه‬ ،‫الخبيرة‬ ‫النظم‬ ‫بها‬ ‫تتصف‬ ‫أن‬ ‫ويجب‬ ‫الخبيرة‬ ‫للنظم‬ ‫شامال‬ ‫تعريفا‬ ‫تشكل‬ ‫مستقلة‬ ‫نقاط‬ ‫سبعة‬ "‫"براجعان‬ ‫العالم‬ ‫هي‬ ‫النقاط‬[8] :
  • 20.
    ‫الصفحة‬19 1-:‫الخبرة‬،‫الصحيحة‬ ‫النتيجة‬ ‫الى‬‫الوصول‬ ‫أجل‬ ‫من‬ ‫الخبير‬ ‫اإلنسان‬ ‫لدى‬ ‫الموجودة‬ ‫الخبرة‬ ‫نفس‬ ‫للنظام‬ ‫يكون‬ ‫أن‬ ‫يجب‬ ‫ذلك‬ ‫في‬ ‫واالستنباط‬ ‫االستنتاج‬ ‫عمليات‬ ‫واستخدام‬ ‫مختصرة‬ ‫الحلول‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫كما‬. 2-:‫الرموز‬ ‫استخدام‬.‫المعارف‬ ‫قاعدة‬ ‫تمثيل‬ ‫يسمى‬ ‫ما‬ ‫وهو‬ ،‫الرموز‬ ‫من‬ ‫بمجموعة‬ ‫المشكلة‬ ‫مفاهيم‬ ‫تمثيل‬ ‫أي‬ 3-:‫الذكاء‬.‫اإلنسان‬ ‫من‬ ‫ذكاء‬ ‫أقل‬ ‫أو‬ ‫أكثر‬ ،‫ذكيا‬ ‫تصرفا‬ ‫الخبير‬ ‫النظام‬ ‫يبدي‬ ‫أن‬ ‫يجب‬ 4-:‫والتعقيد‬ ‫الصعوبة‬‫تافهة‬ ‫مشكلة‬ ‫تكون‬ ‫أن‬ ‫ال‬ ،‫بشريا‬ ‫خبيرا‬ ‫لتتطلب‬ ‫التعقيد‬ ‫من‬ ‫كافي‬ ‫بشكل‬ ‫المشكلة‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫ال‬.‫خبير‬ ‫لنظام‬ ‫تحتاج‬ 5-:‫الصياغة‬‫طريق‬ ‫عن‬ ‫معالجتها‬ ‫باإلمكان‬ ‫يصبح‬ ‫لكي‬ ‫مالئمة‬ ‫صيغة‬ ‫إلى‬ ‫المطروحة‬ ‫المشكلة‬ ‫تحويل‬ ‫على‬ ‫النظام‬ ‫قدرة‬ .‫الخبير‬ ‫للنظام‬ ‫االستداللي‬ ‫باالمحرك‬ ‫الخاصة‬ ‫القواعد‬ 6-:‫والتوضيح‬ ‫االستنتاج‬‫اخ‬ ‫في‬ ‫والسبب‬ ‫القرارات‬ ‫توضيح‬ ‫وعلى‬ ‫االستنتاج‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫قدرة‬‫تيا‬‫لهذه‬ ‫ره‬ .‫القرارات‬ 7-:‫المشكلة‬ ‫نوع‬‫تكون‬ ‫أن‬ ‫ال‬ ،‫وخاصة‬ ‫محددة‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫حيث‬ ‫حلها‬ ‫أجل‬ ‫من‬ ‫النظام‬ ‫يهيئ‬ ‫التي‬ ‫المشكلة‬ ‫تحديد‬ .‫عامة‬ 2-2:‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫مكونات‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫فإن‬ ‫لذلك‬ ،‫حاسوبية‬ ‫برامج‬ ‫عبارة‬ ‫الخبير‬ ‫النظام‬ ‫فإن‬ ‫سابقا‬ ‫تبين‬ ‫كما‬‫ي‬‫مكن‬ ‫التالية‬ ‫العناصر‬ ‫من‬ ‫مكونا‬ ‫الغالب‬ ‫في‬ ‫الخبير‬ ‫النظام‬ ‫يكون‬ ‫ما‬ ‫وغالبا‬ ،‫متعددة‬ ‫طرق‬ ‫وباستخدام‬ ‫برمجيا‬ ‫تصميمها‬[8] : -‫المعرفة‬ ‫قاعدة‬Knowledge base. -‫االستدالل‬ ‫آلية‬Inference engine. -‫االستخدام‬ ‫واجهة‬User Interface. ‫الشكل‬(2-2)‫الخبيرة‬ ‫النظم‬ ‫مكونات‬[25] 2-2-1‫المعرفة‬ ‫قاعدة‬Knowledge base: ‫بها‬ ‫ستتم‬ ‫التي‬ ‫والقواعد‬ ‫الحقائق‬ ‫تدعى‬ ‫معطيات‬ ‫مجموعة‬ ‫على‬ ‫تحتوي‬ ‫لبيانات‬ ‫ملفات‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫المعارف‬ ‫قاعدة‬ ‫ملفات‬ ‫أو‬ ‫نصية‬ ‫ملفات‬ ‫باستخدام‬ ‫أو‬ ‫البيانات‬ ‫قواعد‬ ‫باستخدام‬ ‫المعارف‬ ‫قاعدة‬ ‫بناء‬ ‫يتم‬ ‫أن‬ ‫ويمكن‬ ،‫الحقائق‬ ‫معالجة‬XML. ،‫يحتويها‬ ‫التي‬ ‫المعرفة‬ ‫قاعدة‬ ‫ونوعية‬ ‫حجم‬ ‫بداللة‬ ‫الخبير‬ ‫النظام‬ ‫أداء‬ ‫مستوى‬ ‫يقاس‬‫من‬ ‫تتكون‬ ‫والتي‬:‫التالية‬ ‫المكونات‬
  • 21.
    ‫الصفحة‬20 -‫الحقائق‬Facts‫الخبرة‬ ‫إلى‬ ‫المستندة‬‫الحقائق‬ ‫من‬ ‫مجموعة‬ ‫عن‬ ‫عبارة‬ ‫وهي‬ :‫مجال‬ ‫في‬ ‫للخبراء‬ ‫والممارسة‬ ‫معين‬. -.‫االستشارة‬ ‫وتقديم‬ ‫المشكالت‬ ‫حل‬ ‫طرق‬ -‫القواعد‬‫رياضية‬ ‫صيغ‬ ‫على‬ ‫المستندة‬‫وتدعى‬ ،Rules. :‫الطرق‬ ‫هذه‬ ‫أهم‬ ،‫طرق‬ ‫على‬ ‫اعتمادا‬ ‫المعارف‬ ‫قاعدة‬ ‫وضع‬ ‫يتم‬ 1-‫ملفات‬ ‫باستخدام‬XML‫ملف‬ ‫بداخل‬ ‫والقواعد‬ ‫الحقائق‬ ‫وضع‬ ‫يتم‬ ‫حيث‬ :XML،‫معيارية‬ ‫قواعدية‬ ‫بصيغة‬ ‫مبني‬ .‫ممكنا‬ ‫امرا‬ ‫التطبيقات‬ ‫بين‬ ‫تبادله‬ ‫إمكانية‬ ‫تجعل‬ 2-:‫البيانات‬ ‫قواعد‬ ‫باستخدام‬‫لمعالجتها‬ ‫الحقائق‬ ‫لهذه‬ ‫استعادة‬ ‫عمليات‬ ‫إجراء‬ ‫ويتم‬ ،‫جداول‬ ‫بداخل‬ ‫الحقائق‬ ‫تمثيل‬ ‫يتم‬ ‫حيث‬ .‫فعالة‬ ‫غير‬ ‫الطريقة‬ ‫وهذه‬ ،‫محددة‬ ‫لقواعد‬ ‫وفقا‬ 3-‫عليها‬ ‫وكمثال‬ ،‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫البرمجة‬ ‫لغات‬ ‫إحدى‬ ‫باستخدام‬ ‫المعارف‬ ‫قاعدة‬ ‫إنشاء‬ ‫عملية‬ ‫تتم‬ ‫أن‬ ‫يمكن‬ ‫لغة‬Prolog‫ولغة‬ ،CLIPS‫وا‬ ،‫إن‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫بقوتها‬ ‫تتميز‬ ‫لتي‬‫تمثيل‬ ‫لغات‬ ‫أشهر‬ ‫من‬ ‫تعتبر‬ ‫برولوغ‬ ‫لغة‬ ‫وهي‬ ،‫المعارف‬‫الحقائق‬ ‫من‬ ‫ضخمة‬ ‫بيانات‬ ‫قاعدة‬ ‫بناء‬ ‫على‬ ‫بقدرتها‬ ‫تتمتع‬ ‫لغة‬ ‫عن‬ ‫عبارة‬facts‫معارف‬ ‫وقاعدة‬ ، ‫القوانين‬ ‫من‬Rules‫استنتاج‬ ‫من‬ ‫برولوغ‬ ‫بلغة‬ ‫المصممة‬ ‫البرامج‬ ‫وتستطيع‬ ،‫قوي‬ ‫بشكل‬ ‫بينها‬ ‫الربط‬ ‫على‬ ‫والقدرة‬ .‫إياها‬ ‫ندخلها‬ ‫التي‬ ‫المعارف‬ ‫قاعدة‬ ‫من‬ ‫األسئلة‬ ‫عن‬ ‫اإلجابة‬ 2-2-2‫االستدالل‬ ‫آلية‬Inference Engine: ‫وا‬ ‫المناسبة‬ ‫والحقائق‬ ‫القواعد‬ ‫واختيار‬ ‫وترتيب‬ ‫بفرز‬ ‫تقوم‬ ‫استدالل‬ ‫وسيلة‬ ‫عن‬ ‫عبارة‬ ‫هي‬‫المعرف‬ ‫قاعدة‬ ‫في‬ ‫لمختزنة‬،‫ة‬ ‫الخبير‬ ‫النظام‬ ‫على‬ ‫المعروضة‬ ‫بالمشكلة‬ ‫المتعلقة‬ ‫والبيانات‬ ‫المعلومات‬ ً‫ا‬‫مستخدم‬ ،‫للمشكلة‬ ‫حل‬ ‫إلى‬ ‫ليصل‬.[4] ‫بواضيع‬ ‫متخصصة‬ ‫برمجة‬ ‫لغات‬ ‫خالل‬ ‫من‬ ‫أو‬ ،‫المستوى‬ ‫مرتفعة‬ ‫البرمجة‬ ‫لغات‬ ‫إحدى‬ ‫باستخدام‬ ‫االستدالل‬ ‫محرك‬ ‫بناء‬ ‫يتم‬ ‫مثل‬ ‫الخبيرة‬ ‫والنظم‬ ‫الصنعي‬ ‫الذكاء‬Clips‫و‬Prolog‫المحرك‬ ‫فإن‬ ‫عام‬ ‫وبشكل‬ ،‫االستدالل‬ ‫لمحركات‬ ‫مختلفة‬ ‫أنواع‬ ‫ويوجد‬ ، ‫التالية‬ ‫المحركات‬ ‫إحدى‬ ‫من‬ ‫يكون‬ ‫أن‬ ‫يمكن‬[17] : - Procedural Execution Engine - Inference Engine - Flow Engine - Work flow Engine - Validation Engine - Decision Table ‫كفاءة‬ ‫ترتفع‬ ‫حيث‬ ،‫استنتاجه‬ ‫طريقة‬ ‫في‬ ‫الخبير‬ ‫النظام‬ ‫قوة‬ ‫وتكمن‬ ،‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫أهم‬ ‫إحدى‬ ‫االستدالل‬ ‫محارك‬ ‫يعتبر‬ ‫كانت‬ ‫كلما‬ ‫يقدمها‬ ‫التي‬ ‫المعلومات‬.‫ومدروسة‬ ،‫متطورة‬ ‫لالستنتاج‬ ‫يستخدمها‬ ‫التي‬ ‫الطريقة‬ 2-2-3‫واجهة‬‫االستخدام‬Interface User: ‫هذه‬ ‫سوى‬ ‫التطبيق‬ ‫من‬ ‫يرى‬ ‫ال‬ ‫والمستخدم‬ ،‫والمستخدم‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬ ‫بين‬ ‫الوصل‬ ‫صلة‬ ‫هي‬ ‫االستخدام‬ ‫واجهة‬ ‫و‬ ‫االهتمام‬ ‫يجب‬ ‫لذا‬ ،‫الواجهة‬‫هذه‬ ‫عبر‬ ‫معه‬ ‫يتعامل‬ ‫بل‬ ،‫مباشرة‬ ‫الخبير‬ ‫النظام‬ ‫مع‬ ‫يتعامل‬ ‫ال‬ ‫المستخدم‬ ‫ألن‬ ‫وذلك‬ ‫بها‬ ‫االعتناء‬ ‫مهما‬ ‫يهمه‬ ‫يعد‬ ‫ال‬ ‫الخبير‬ ‫النظام‬ ‫كل‬ ‫فإن‬ ‫المستخدم‬ ‫يريدها‬ ‫التي‬ ‫والبساطة‬ ‫السهولة‬ ‫تحقق‬ ‫ال‬ ‫الواجهة‬ ‫هذه‬ ‫كانت‬ ‫فإذا‬ ،‫الواجهة‬ ‫ف‬ ‫وأساسي‬ ،‫مهم‬ ‫أمر‬ ‫الواجهة‬ ‫فبناء‬ ‫لذلك‬ ،‫ومتينا‬ ‫قويا‬ ‫كان‬.‫الخبيرة‬ ‫النظم‬ ‫ي‬
  • 22.
    ‫الصفحة‬21 ‫بشكل‬ ‫له‬ ‫وتؤمنه‬،‫المستخدم‬ ‫يلزم‬ ‫ما‬ ‫كل‬ ‫على‬ ‫بالضرورة‬ ‫تحتوي‬ ‫أن‬ ‫يجب‬ ‫ولكن‬ ،‫شكل‬ ‫بأي‬ ‫االستخدام‬ ‫واجهة‬ ‫تكون‬ ‫أن‬ ‫يمكن‬ ‫وراء‬ ‫ما‬ ‫أبدا‬ ‫يهمه‬ ‫ال‬ ،‫عادي‬ ‫شخص‬ ‫هو‬ ‫الخبير‬ ‫النظام‬ ‫من‬ ‫سيستفيد‬ ‫الذي‬ ‫الشخص‬ ‫أن‬ ‫والسبب‬ ،‫تعقيد‬ ‫دون‬ ‫من‬ ‫وبسيط‬ ‫سلس‬ ‫الت‬ ‫الطريقة‬ ‫يهمه‬ ‫ولكن‬ ،‫التطبيق‬:‫خيارات‬ ‫عدة‬ ‫من‬ ‫واحدة‬ ‫المستخدم‬ ‫واجهة‬ ‫تكون‬ ‫أن‬ ‫يمكن‬ ‫ولذلك‬ ،‫النظام‬ ‫هذا‬ ‫مع‬ ‫بها‬ ‫يتفاعل‬ ‫ي‬ 1-.‫عليها‬ ‫يجيب‬ ‫وهو‬ ،‫المستخدم‬ ‫على‬ ‫بطرحها‬ ‫النظام‬ ‫يقوم‬ ،‫محددة‬ ‫أجوبة‬ ‫على‬ ‫تحتوي‬ ‫أسئلة‬ ‫تكون‬ ‫قد‬ 2-.‫رسومية‬ ‫شاشة‬ ‫أو‬ ،‫قوائم‬ ‫عن‬ ‫عبارة‬ ‫تكون‬ ‫قد‬ 3-‫المستخدم‬ ‫فيه‬ ‫يقوم‬ ،‫متطور‬ ‫بشكل‬ ‫تكون‬ ‫أن‬ ‫يمكن‬‫ثم‬ ‫أوال‬ ‫النص‬ ‫بفهم‬ ‫النظام‬ ‫ويقوم‬ ،‫طبيعية‬ ‫بلغة‬ ‫المشكلة‬ ‫بكتابة‬ .‫المستخدم‬ ‫مراد‬ ‫لمعرفة‬ ‫تحليله‬ ‫الشكل‬(2-3)‫الخبير‬ ‫النظام‬ ‫في‬ ‫توجد‬ ‫أن‬ ‫يمكن‬ ‫التي‬ ‫للمكونات‬ ‫عام‬ ‫مخطط‬[4] 2-3:‫الخبير‬ ‫النظام‬ ‫خواص‬ ‫ال‬ ‫الذين‬ ‫العلماء‬ ‫بعض‬ ‫يوجد‬‫يصنفون‬،‫ذكي‬ ‫نظام‬ ‫بأنه‬ ‫الخبير‬ ‫النظام‬‫ل‬ ‫وذلك‬‫كونه‬‫فقط‬ ‫معارف‬ ‫قاعدة‬ ‫على‬ ‫يعتمد‬،‫حيث‬ ‫التفسير‬ ‫على‬ ‫القدرة‬ ‫النظام‬ ‫هذا‬ ‫يمتلك‬ ‫أن‬ ‫يجب‬ ‫بل‬ ،‫خبير‬ ‫نظام‬ ‫هو‬ ‫المعرفة‬ ‫قاعدة‬ ‫إلى‬ ‫يستند‬ ‫نظام‬ ‫كل‬ ‫ليس‬ ‫أنه‬ ‫إلى‬ ‫ننتبه‬ ‫أن‬ ‫يجب‬ ‫والتح‬ ‫والتحليل‬ ‫التفسير‬ ‫عملية‬ ‫في‬ ‫الخبير‬ ‫اإلنسان‬ ‫يفعل‬ ‫كما‬ ‫إضافية‬ ‫معلومات‬ ‫وطلب‬ ،‫القرارات‬ ‫إلى‬ ‫للوصول‬ ‫واالستنتاج‬‫ر‬‫ي‬ ‫أكيدة‬ ‫غير‬ ‫أو‬ ‫كاملة‬ ‫غير‬ ‫الحقائق‬ ‫فيها‬ ‫تكون‬ ‫التي‬ ‫المجاالت‬ ‫في‬ ‫وخاصة‬[1] . :‫يلي‬ ‫بما‬ ‫نجملها‬ ‫أن‬ ‫يمكن‬ ‫الخبير‬ ‫النظام‬ ‫خواص‬ ‫فإن‬ ‫عام‬ ‫وبشكل‬ -‫ر‬ ّ‫مطو‬ ‫أو‬ ‫عادي‬ ‫مستخدم‬ ‫سواء‬ ‫مستخدم‬ ‫ألي‬ ‫االستخدام‬ ‫سهلة‬. -‫مباشرة‬ ‫وغير‬ ‫مباشرة‬ ‫بطريقة‬ ‫الخبراء‬ ‫من‬ ‫التعلم‬ ‫على‬ ‫قادرة‬. -‫تفسير‬ ‫على‬ ‫قادرة‬‫إليها‬ ‫الوصول‬ ‫طريقة‬ ‫توضيح‬ ‫مع‬ ‫إليها‬ ‫تتوصل‬ ‫حلول‬ ‫أي‬. -.‫تتذبذب‬ ‫ال‬ ‫ثابت‬ ‫واستشاري‬ ‫علمي‬ ‫بمستوى‬ ‫تعمل‬ -‫المتخصصين‬ ‫غير‬ ‫تعليم‬ ‫على‬ ‫قادرة‬‫البسيطة‬ ‫الخبرة‬ ‫ذوي‬. -. ‫معين‬ ‫بمجال‬ ‫الخاصة‬ ‫المعارف‬ ‫من‬ ‫هائلة‬ ‫كميات‬ ‫تمثيل‬ ‫بناؤها‬ ‫يتطلب‬ -‫في‬ ‫المعقدة‬ ‫وكذلك‬ ‫البسيطة‬ ‫لألسئلة‬ ‫االستجابة‬ ‫على‬ ‫قادرة‬‫التطبيق‬ ‫حدود‬. ‫لكي‬ ‫األشخاص‬ ‫بعض‬ ‫جهود‬ ‫تضافر‬ ‫إلى‬ ‫يحتاج‬ ‫الخبير‬ ‫النظام‬ ‫إن‬‫ي‬:‫هم‬ ‫األشخاص‬ ‫هؤالء‬ ،‫الكاملة‬ ‫الحالة‬ ‫على‬ ‫ظهر‬
  • 23.
    ‫الصفحة‬22 1-‫المعارف‬ ‫قاعدة‬ ‫من‬‫بالقراءة‬ ‫تقوم‬ ‫التي‬ ‫والعمليات‬ ،‫االستنتاج‬ ‫آلية‬ ‫وووضع‬ ،‫النظام‬ ‫بتصميم‬ ‫يقوم‬ ‫والذي‬ ‫النظام‬ ‫مهندس‬ .‫فيها‬ ‫والحفظ‬ 2-‫الذي‬ ‫الشخص‬ ‫وهو‬ :‫الخبير‬.‫النظام‬ ‫ضمن‬ ‫إدخالها‬ ‫المراد‬ ‫الخبرة‬ ‫يمتلك‬ 3-.‫الخبير‬ ‫النظام‬ ‫يفهمها‬ ‫رموز‬ ‫إلى‬ ،‫الخبير‬ ‫الشخص‬ ‫خبر‬ ‫بتحويل‬ ‫يقوم‬ ‫الذ‬ ‫الشخص‬ ‫وهو‬ :‫المعرفة‬ ‫مهندس‬ 4-.‫الخبير‬ ‫النظام‬ ‫من‬ ‫يستفيد‬ ‫الذي‬ ‫الشخص‬ ‫وهو‬ :‫المستخدم‬ ‫الشكل‬(2-4)‫الخبير‬ ‫النظام‬ ‫مكونات‬ ‫بين‬ ‫التواصل‬ ‫طريقة‬[4] 2-4‫النظ‬ ‫استخدامات‬‫ام‬:‫الخبير‬ :‫مثل‬ ‫والمجاالت‬ ‫الميادين‬ ‫من‬ ‫واسع‬ ‫نطاق‬ ‫في‬ ‫الخبيرة‬ ‫النظم‬ ‫استخدمت‬ -.‫األمراض‬ ‫وتشخيص‬ ‫الطب‬ -.)‫والبرية‬ ‫والبحرية‬ ‫الجوية‬ ‫الرحالت‬ ‫وتنظيم‬ ‫(تخطيط‬ ‫السياحة‬ -.)‫الجوية‬ ‫األحوال‬ ‫تحديد‬ ( ‫الطقس‬ -‫األسواق‬ ‫(تحليل‬ ‫التجارة‬-.)‫القرارات‬ ‫اتخاذ‬ ‫في‬ ‫األعمال‬ ‫رجال‬ ‫مساعدة‬ -‫الصناعة‬.)‫التصنيع‬ ‫خطوات‬ ‫(مراقبة‬ -‫المعارك‬ ‫نشوب‬ ‫وقت‬ ‫القرارات‬ ‫(اتخاذ‬ ‫العسكرية‬ ‫العلوم‬-.)‫الخطط‬ ‫وإعداد‬ ‫المواقف‬ ‫تحليل‬ .‫الجيولوجيا‬ ،‫اإللكترونيات‬ ،‫الفضاء‬ ،‫الكيمياء‬ ،‫الزراعة‬ ‫مثل‬ ‫الخبيرة‬ ‫النظم‬ ‫فيها‬ ‫طبقت‬ ‫أخرى‬ ‫مجاالت‬ ‫إلى‬ ‫باإلضافة‬
  • 24.
    ‫الصفحة‬23 2-5‫النظ‬ ‫ميزات‬‫الخبير‬ ‫ام‬: ،‫الشركات‬‫وباألخص‬ ،‫عليها‬ ‫الحصول‬ ‫إلى‬ ‫الناس‬ ‫تدفع‬ ‫التي‬ ‫المميزات‬ ‫من‬ ‫بالعديد‬ ‫الخبيرة‬ ‫النظم‬ ‫تتميز‬‫ي‬ ‫حيث‬‫العلماء‬ ‫قوم‬ ‫أهمها‬ ،‫األمور‬ ‫من‬ ‫مجموعة‬ ‫لذلك‬ ‫ويدفعهم‬ ،‫النظم‬ ‫هذه‬ ‫بتصميم‬[7] : -‫اإلنقراض‬ ‫أو‬ ‫اإلندثار‬ ‫من‬ ‫والمعرفة‬ ‫بالخبرة‬ ‫اإلحتفاظ‬،‫ا‬ ‫الكثيرة‬ ‫الهامة‬ ‫التخصصات‬ ‫في‬ ً‫ا‬‫وخصوص‬‫إلس‬‫تخدام‬ ‫النادرة‬ ‫أو‬. -‫المشاكل‬ ‫حل‬،‫والجهد‬ ‫المال‬ ‫و‬ ‫الوقت‬ ‫يحفظ‬ ‫مما‬. -‫الخبير‬ ‫النظام‬ ‫تطبيق‬ ‫مجال‬ ‫في‬ ‫الخبراء‬ ‫زيادة‬. -‫البشر‬ ‫الخبراء‬ ‫على‬ ‫االعتماد‬ ‫تقليص‬. -‫الخاصة‬ ‫المعرفة‬ ‫في‬ ‫الخبرة‬ ‫اكتساب‬ ‫من‬ ‫المستخدم‬ ‫تمكن‬ ‫التي‬ ‫الخبرات‬ ‫من‬ ‫عالي‬ ‫مستوى‬ ‫الخبيرة‬ ‫النظم‬ ‫توظف‬ ‫الخبير‬ ‫بالنظام‬. -‫والملل‬ ‫بالتعب‬ ‫الشعور‬ ‫من‬ ‫التخلص‬.‫الروتينية‬ ‫األمور‬ ‫بعض‬ ‫في‬ 2-6‫عيوب‬‫النظ‬‫ا‬‫الخبير‬ ‫م‬: ‫أهمها‬ ،‫أمور‬ ‫لعدة‬ ‫يعود‬ ‫ذلك‬ ‫في‬ ‫السبب‬ ‫إن‬ ،‫وجودها‬ ‫نالحظ‬ ‫ال‬ ‫أننا‬ ‫إال‬ ‫الخبيرة‬ ‫للنم‬ ‫العظيمة‬ ‫الفوائد‬ ‫من‬ ‫بالرغم‬[𝟕] : -‫التقليدية‬ ‫بالتطبيقات‬ ‫مقارنة‬ ‫عالية‬ ‫تكلفة‬ ‫ذات‬. -‫محدود‬ ‫تطبيقها‬ ‫نظام‬‫المتكاملة‬ ‫المعلومات‬ ‫واسترجاع‬ ‫اإلدارية‬ ‫النظم‬ ‫في‬. -‫المرونة‬ ‫افتقاد‬. -‫متعمقة‬ ‫تفسيرات‬ ‫إعطاء‬ ‫على‬ ‫القدرة‬ ‫عدم‬. -‫والتثبت‬ ‫التحقق‬ ‫صعوبات‬. -‫الخبرة‬ ‫من‬ ‫الضئيل‬ ‫التعلم‬.
  • 25.
    ‫الصفحة‬24 ‫الفصل‬‫الثالث‬: ‫لغ‬‫ة‬XML‫تمثيل‬ ‫وطرق‬ ‫المعارف‬ :‫الفصل‬ ‫هذا‬‫في‬ ›‫الموسعة‬ ‫الترميز‬ ‫لغة‬XML. ›‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬XML. ›‫أشهر‬‫المعارف‬ ‫تمثيل‬ ‫معايير‬‫الخبيرة‬ ‫للنظم‬. ›‫معيار‬RULEML.
  • 26.
    ‫الصفحة‬25 ‫الفصل‬‫لغة‬ :‫الثالث‬XML‫المعارف‬ ‫تمثيل‬‫وطرق‬: ،‫يحتويها‬ ‫التي‬ ‫المعرفة‬ ‫قاعدة‬ ‫ونوعية‬ ‫حجم‬ ‫بداللة‬ ‫الخبير‬ ‫النظام‬ ‫أداء‬ ‫مستوى‬ ‫يقاس‬‫بالطر‬ ‫االهتمام‬ ‫يتم‬ ‫أن‬ ‫المهم‬ ‫من‬ ‫لذلك‬‫يقة‬ ‫لغة‬ ‫عن‬ ‫الفصل‬ ‫هذا‬ ‫في‬ ‫سنتحدث‬ ،‫الخبير‬ ‫النظام‬ ‫أداء‬ ‫كل‬ ‫عليها‬ ‫سيبنى‬ ‫حيث‬ ،،‫المعرفة‬ ‫تمثيل‬ ‫بها‬ ‫يتم‬ ‫التي‬XML‫المستخدمة‬ .‫المعارف‬ ‫لتمثيل‬ ‫الخبير‬ ‫النظم‬ ‫في‬ ‫المستخدمة‬ ‫الطرق‬ ‫أهم‬ ‫عن‬ ‫الحديث‬ ‫إلى‬ ‫باإلضافة‬ ،‫المعارف‬ ‫تمثيل‬ ‫في‬ 3-1‫الموسعة‬ ‫الترميز‬ ‫لغة‬XML: ‫لغة‬‫الترميز‬‫الموسعة‬eXtensible Markup Language‫باالختصار‬ ‫لها‬ ‫يرمز‬ ‫التي‬XML‫برمجة‬ ‫لغة‬ ‫ليست‬ ‫هي‬ ، ‫وتنظيم‬ ‫وتخزين‬ ‫وصف‬ ‫في‬ ‫تستخدم‬ ‫لغة‬ ‫وإنما‬‫بخالف‬ ‫البيانات‬‫لغة‬HTML‫التي‬‫عرض‬ ‫بها‬ ‫يتم‬ ‫التي‬ ‫الكيفية‬ ‫لتحديد‬ ‫تستخدم‬ ‫كلي‬ ‫ولكن‬ ،‫المتصفح‬ ‫على‬ ‫البيانات‬‫بـ‬ ‫المسماة‬ ‫األم‬ ‫اللغة‬ ‫عن‬ ‫ينحدر‬ ‫هما‬SGML‫عام‬ ‫في‬ ‫مرة‬ ‫ألول‬ ‫ظهرت‬ ‫والتي‬1960‫أي‬ ‫اإلنترنت‬ ‫عبر‬ ‫المتبادلة‬ ‫َّة‬‫ي‬‫اإللكترون‬ ‫والرسائل‬ ‫المستندات‬ ‫وتنسيق‬ ‫ترميز‬ ‫على‬ ‫لتساعد‬ ،‫بكثير‬ ‫الويب‬ ‫ظهور‬ ‫قبل‬[10] . 3-1-1‫لغة‬ ‫مميزات‬XML: ‫لغة‬ ‫تتميز‬XML‫كـ‬ ‫الترميز‬ ‫لغات‬ ‫عائلة‬ ‫بها‬ ‫تتميز‬ ‫التي‬ ‫نفسها‬ ‫بالصفات‬HTML‫المثلثة‬ ‫األقواس‬ ‫ذات‬ ‫وسومها‬ ‫وهي‬ ‫بالشجرة‬ ‫الشبيهة‬ ‫وبهيكليتها‬ ،> <TreeLike Structure‫ال‬ ‫أنها‬ ‫إلى‬ ‫باإلضافة‬ ، ‫برموز‬ ‫النصوص‬ ‫ترميز‬ ‫على‬ ‫تنحصر‬ ‫ووظيفتها‬ ،‫عمليات‬ ‫أو‬ ‫أوامر‬ ‫على‬ ‫تحتوي‬ ‫أو‬ ‫المتصفحات‬ ‫جميع‬ ‫تفهمها‬ ‫معينة‬.‫معها‬ ‫للتعامل‬ ‫المخصصة‬ ‫البرامج‬ ‫لغة‬ ‫صممت‬ ‫وقد‬XML‫يسمى‬ ‫ما‬ ‫باستخدام‬ ‫البيانات‬ ‫لوصف‬XML tags‫وهي‬ ‫تمثيل‬ ‫طريقة‬ ‫تعريف‬ ‫المبرمج‬ ‫عاتق‬ ‫على‬ ‫يقع‬ ‫أي‬ ‫مسبقا‬ ‫معرفة‬ ‫ليست‬ ‫جمل‬ ‫عن‬ ‫عبارة‬ .‫بها‬ ‫تتمتع‬ ‫التي‬ ‫المرونة‬ ‫تظهر‬ ‫هنا‬ ‫ومن‬ ‫الوسوم‬ ‫هذه‬ ‫تستخدم‬XML‫تدعى‬ ‫البيانات‬ ‫لوصف‬ ‫طريقة‬Document Type Definition(DTD)‫لغة‬ ‫منها‬ ‫ظهر‬ ‫وقد‬ ،‫بنفسها‬ ‫نفسها‬ ‫لتصف‬ ‫صممت‬ ‫وهي‬XHTML‫الـ‬ ‫عن‬ ‫البديلة‬HTML‫والتي‬ ‫من‬ ‫تتكون‬DTD.‫عالميا‬ ‫ونشره‬ ‫توصيفه‬ ‫تم‬ ‫مخصص‬ .‫الترميز‬ ‫لغات‬ ‫ألهم‬ ‫العائلة‬ ‫شجرة‬ ‫األسفل‬ ‫في‬ ‫الصورة‬ ‫في‬ ‫تظهر‬ ‫الشكل‬(3-1)‫الترميز‬ ‫لغات‬ ‫أهم‬ ‫شجرة‬[25] 3-1-2‫وظائف‬XML:‫الويب‬ ‫في‬
  • 27.
    ‫الصفحة‬26 ‫أهمية‬ ‫ظهرت‬XML‫بين‬ ‫خاصة‬‫مرن‬ ‫وبشكل‬ ،‫بسرعة‬ ‫البيانات‬ ‫لنقل‬ ‫منها‬ ‫االستفادة‬ ‫تم‬ ‫حيث‬ ‫واضح‬ ‫بشكل‬ ‫الويب‬ ‫في‬ ‫الويب‬ ‫تطبيقات‬Web Applications،‫و‬‫لغة‬ ‫وظائف‬ ‫تصنيف‬ ‫يمكن‬XML‫إلى‬ ‫الويب‬ ‫مجال‬ ‫في‬3:‫تصنيفات‬ 1-‫لغة‬ ‫من‬ ‫االستفادة‬XML:‫ًا‬‫ب‬‫غال‬ ‫وجهين‬ ‫على‬ ‫تكون‬ ‫االستفادة‬ ‫وهذه‬ ،‫واحد‬ ‫موقع‬ ‫ضمن‬ -‫الـ‬ ‫ملفات‬ ‫استخدام‬XML‫بيانات‬ ‫كقاعدة‬:‫مستندات‬ ‫استخدام‬ ‫طريق‬ ‫عن‬ ‫إما‬XML‫تحويل‬ ‫أو‬ ،‫البيانات‬ ‫لتخزين‬ ‫قواعد‬ ‫ن‬ ّ‫تكو‬ ‫أن‬ ‫يمكن‬ ‫وكلتاهما‬ ،‫التطبيقات‬ ‫إحدى‬ ‫استخدام‬ ‫طريق‬ ‫عن‬ ‫بيانات‬ ‫قواعد‬ ‫إلى‬ ‫المستندات‬ ‫من‬ ‫مجموعة‬ ‫ع‬ ‫بيانات‬‫الئقية‬. -‫ملفات‬ ‫تحويل‬XML‫مثل‬ ‫أخرى‬ ‫ملفات‬ ‫إلى‬CSS‫أو‬Text Files.‫وغيرها‬ 2-‫لغة‬ ‫من‬ ‫االستفادة‬XML:‫فأكثر‬ ‫موقعين‬ ‫بين‬ ‫البيانات‬ ‫تبادل‬ ‫عند‬ ‫لغة‬ ‫عبر‬ ‫يتم‬ ‫والذي‬XML‫ملفات‬ ‫طريق‬ ‫عن‬ ‫ا‬ّ‫م‬‫إ‬RSS‫ملفات‬ ‫أو‬XML. ‫أخرى‬ 3-‫لغة‬ ‫من‬ ‫االستفادة‬XML‫بين‬ ‫أو‬ ،‫والكومبيوتر‬ ‫الموبايل‬ ‫مثل‬ ‫المختلفة‬ ‫والتطبيقات‬ ‫األجهزة‬ ‫بين‬ ‫البيانات‬ ‫تبادل‬ ‫عند‬ ‫الويب‬ ‫على‬ ‫وآخر‬ ‫الموبايل‬ ‫على‬ ‫تطبيق‬[7] . ‫الشكل‬(3-2)‫لغة‬ ‫استخدام‬ ‫مجاالت‬[25] XML 3-1-3‫لملف‬ ‫الهيكلية‬ ‫البنية‬XML: ‫ملف‬ ‫هيكلية‬ ‫إن‬XML‫بالشجرة‬ ‫الشبيهة‬ ‫الهيكلية‬ ‫تدعى‬Treelike Structure‫البيانات‬ ‫تنظيم‬ ‫أشكال‬ ‫أشهر‬ ‫إحدى‬ ‫وهي‬ ، ‫وحدات‬ ‫في‬ ‫البيانات‬ ‫تخزن‬ ‫حيث‬ ،‫الحاسوب‬ ‫في‬Nodes‫الجذر‬ ‫من‬ ‫تبدأ‬ ،‫البعض‬ ‫بعضها‬ ‫عن‬ ‫متفرعة‬Root‫جميع‬ ‫يحمل‬ ‫الذي‬ ‫باألوراق‬ ‫وتنتهي‬ ،‫األخرى‬ ‫الوحدات‬Leaves‫االسم‬ ‫جاء‬ ‫هنا‬ ‫ومن‬ ،‫وحدات‬ ‫أي‬ ‫عنها‬ ‫تتفرع‬ ‫ال‬ ‫التي‬treelike structure، ‫غ‬‫في‬ ‫أوراقها‬ ‫تكون‬ ‫بينما‬ ‫األسفل‬ ‫في‬ ‫يكون‬ ‫الحقيقية‬ ‫الشجرة‬ ‫جذر‬ ّ‫أن‬ ‫هو‬ ‫البيانات‬ ‫وشجرة‬ ‫ّة‬‫ي‬‫الحقيق‬ ‫الشجرة‬ ‫بين‬ ‫الفرق‬ ‫أن‬ ‫ير‬ .‫األسفل‬ ‫في‬ ‫األوراق‬ ‫وتكون‬ ‫األعلى‬ ‫في‬ ‫يكون‬ ‫البيانات‬ ‫شجرة‬ ‫جذر‬ ‫لكن‬ ،‫األعلى‬ ‫وحد‬ ‫من‬ ‫أكثر‬ ‫تحمل‬ ‫أن‬ ‫من‬ ‫حرج‬ ‫يوجد‬ ‫وال‬ ،‫به‬ ‫تعرف‬ ‫اسما‬ ‫الوحدات‬ ‫هذه‬ ‫من‬ ‫وحدة‬ ‫ولكل‬‫الوحدات‬ ‫إلى‬ ‫فالوصول‬ ،‫االسم‬ ‫نفس‬ ‫ة‬ .‫إليها‬ ‫لتصل‬ ‫تعبره‬ ‫الذي‬ ‫المسار‬ ‫على‬ ‫يعتمد‬ ‫بل‬ ،‫فقط‬ ‫اسمها‬ ‫على‬ ‫يعتمد‬ ‫ال‬ :‫هي‬ ‫القواعد‬ ‫هذه‬ ،‫القواعد‬ ‫من‬ ‫مجموعة‬ ‫وتحكمها‬ ، ‫وراثيا‬ ‫نهجا‬ ‫تنتهج‬ ‫البيانات‬ ‫وشجرة‬
  • 28.
    ‫الصفحة‬27 -‫والجذر‬ ،‫أقل‬ ‫وال‬‫جذر‬ ‫من‬ ‫أكثر‬ ‫لها‬ ‫يكون‬ ‫أن‬ ‫للشجرة‬ ‫يمكن‬ ‫ال‬ ،‫فقط‬ ‫واحد‬ ‫جذر‬ ‫شجرة‬ ّ‫ل‬‫لك‬‫التي‬ ‫الوحيدة‬ ‫الوحدة‬ ‫هو‬ .‫عنه‬ ‫تتفرع‬ ‫أب‬ ‫لها‬ ‫ليس‬ -‫أبناء‬ ‫تصبح‬ ‫ما‬ ‫وحدة‬ ‫عن‬ ‫تتفرع‬ ‫التي‬ ‫الوحدات‬ ‫كل‬Childrens‫أب‬ ‫بمثابة‬ ‫الوحدة‬ ‫هذه‬ ‫وتصبح‬ ،‫لها‬Parent‫لهذه‬ .‫الوحدات‬ -‫أحفادا‬ ‫يصبحون‬ ‫األبناء‬ ‫أبناء‬descendants.‫األب‬ ‫للوحدة‬ -‫األسالف‬ ‫أو‬ ‫باألجداد‬ ‫يعرفون‬ ‫اآلباء‬ ‫آباء‬ancestors.‫االبن‬ ‫للوحدة‬ -‫باإلخوة‬ ‫تسمى‬ ‫نفسه‬ ‫األب‬ ‫عن‬ ‫تتفرع‬ ‫تي‬َّ‫ل‬‫ا‬ ‫الوحدات‬Siblings. ‫كود‬ ‫كتابة‬ ‫وكيفية‬ ،‫الشجرة‬ ‫فكرة‬ ‫ولتوضيح‬XML‫الـ‬ ‫ملف‬ ‫أن‬ ‫نالحظ‬ ،‫األسفل‬ ‫في‬ ‫التالي‬ ‫المثال‬ ‫لنأخذ‬XML:‫بالسطر‬ ‫يبدأ‬ <?xml version="1.0" encoding="utf-8" ?> ‫بصيغة‬ ‫مكتوب‬ ‫الملف‬ ‫هذا‬ ‫أن‬ ‫يعني‬ ‫وهو‬XML،:‫الشجرة‬ ‫تشكيل‬ ‫عملية‬ ‫تبدأ‬ ‫ثم‬ ‫ومن‬ ‫الكود‬(3-1)‫كود‬ ‫عن‬ ‫مثال‬XML 3-2‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬XML: ‫لغة‬ ‫تعتبر‬XML‫التي‬ ‫الشجرية‬ ‫وبنيتها‬ ،‫التعامل‬ ‫في‬ ‫ومرونة‬ ‫قوة‬ ‫من‬ ‫تتميز‬ ‫لما‬ ‫وذلك‬ ،‫المعارف‬ ‫لتمثيل‬ ‫طريقة‬ ‫أشهر‬ .‫البحث‬ ‫قيد‬ ‫الخبير‬ ‫للنظام‬ ‫المعرفة‬ ‫تمثيل‬ ‫طريقة‬ ‫يحدد‬ ‫معيار‬ ‫وضع‬ ‫يتم‬ ‫ما‬ ‫وغالبا‬ ،‫سهل‬ ‫أمر‬ ‫المعارف‬ ‫تمثيل‬ ‫عملية‬ ‫من‬ ‫تجعل‬ 3-2-1‫لملفات‬ ‫المعايير‬ ‫وصف‬XML: [2] ‫الـ‬ ‫معيار‬ ‫توضيح‬ ‫يتم‬XML‫ملفات‬ ‫ضمن‬ ‫المراد‬Document Type Definitions (DTDs)‫الطريقة‬ ‫وهي‬ ‫لغة‬ ‫خالل‬ ‫من‬ ‫يتم‬ ‫المعيار‬ ‫وصف‬ ‫فإن‬ ‫اآلن‬ ‫بينما‬ ،‫األقدم‬ ‫ولكن‬ ‫األشهر‬XSD‫مرافقة‬ ‫ملفات‬ ‫لكتابة‬ ‫لغة‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫والتي‬ ‫لملفات‬XML‫الـ‬ ‫عناصر‬ ‫بواسطتها‬ ‫ف‬ ّ‫نعر‬ ،XML‫بتحديد‬‫و‬ ‫شروط‬ ‫ووضع‬ ‫بياناتها‬ ‫ونوع‬ ‫نوعها‬‫الملفات‬ ‫وهي‬ ،‫لها‬ ‫قواعد‬ ‫ملفات‬ ‫عن‬ ‫البديلة‬DTD.‫الهدف‬ ‫لهذا‬ ‫سابقا‬ ‫تستخدم‬ ‫كانت‬ ‫التي‬ XML example <?xml version="1.0" encoding="utf-8" ?> <A attribute_name="value"> <B1 parent="A" > </B1> <B2 parent="A"> <C1> <D1></D1> <D2>Tareq</D2> </C1> <C2>XML</C2> </B2> </A>
  • 29.
    ‫الصفحة‬28 ‫باستخدام‬ ‫المعايير‬ ‫تقييس‬‫عملية‬ ‫إن‬XML‫في‬ ‫خاصة‬ ،‫عديدة‬ ‫وفوائد‬ ‫مرونة‬ ‫من‬ ‫تؤمنه‬ ‫لما‬ ‫إليها‬ ‫الحاجة‬ ‫وظهرت‬ ‫للغاية‬ ‫مهمة‬ ‫حين‬ ،‫خاص‬ ‫بسكل‬ ‫المعارف‬ ‫لقواعد‬ ‫المعايير‬ ‫تقييس‬ ‫فائدة‬ ‫ظهرت‬ ‫الخبيرة‬ ‫النظم‬ ‫مجال‬ ‫وفي‬ ،‫المعارف‬ ‫وتمثيل‬ ‫الويب‬ ‫مجاالت‬ ‫التط‬ ‫وانتشرت‬ ،‫الصنعي‬ ‫الذكاء‬ ‫تطبيقات‬ ‫وفي‬ ‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫المعرفة‬ ‫مفهوم‬ ‫انتشر‬‫أمن‬ ‫حيث‬ ،‫بها‬ ‫الخاصة‬ ‫بيقات‬‫عملية‬ ‫ت‬ ‫أهم‬ ،‫ممكنا‬ ‫أمرا‬ ‫المعرفة‬ ‫هذه‬ ‫تبادل‬ ‫إمكانية‬ ‫تجعل‬ ‫موحدة‬ ‫بصيغة‬ ‫المعارف‬ ‫كتابة‬ ‫عملية‬ ‫توحيد‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬ ‫تقييس‬ :‫المعارف‬ ‫لتمثيل‬ ‫المعايير‬ ‫تقييس‬ ‫أمنتها‬ ‫التي‬ ‫الفوائد‬ ‫هذه‬ -.‫ثابتة‬ ‫قواعد‬ ‫على‬ ‫ومتعتمدة‬ ‫رسمية‬ ‫التخزين‬ ‫طريقة‬ ‫جعل‬ -‫إمكانية‬.‫الصنعي‬ ‫بالذكاء‬ ‫الخاصة‬ ‫اللغات‬ ‫وبين‬ ‫المتعددة‬ ‫الصنعي‬ ‫الذكاء‬ ‫تطبيقات‬ ‫بين‬ ‫المعرفة‬ ‫تبادل‬ -..‫وغيرها‬ ،‫التطبيقات‬ ‫ونظم‬ ،‫البيانات‬ ‫وقواعد‬ ،‫المعرفة‬ ‫قواعد‬ ‫بين‬ ‫والدمج‬ ‫التمازج‬ ‫إمكانية‬ ‫الشكل‬(3-3)‫المعايير‬ ‫تمثيل‬ ‫طريقة‬[2] ‫معيار‬ ‫وثيقة‬ ‫إن‬XML‫تكون‬ ‫أن‬ ‫وهي‬ ‫اثنين‬ ‫أمرين‬ ‫تحكمها‬‫التكوين‬ ‫جيدة‬Well-Formed‫وصالحة‬ ،valid‫يعتبر‬ ‫حيث‬ ، ‫ملف‬XML‫إذا‬ ‫صالحا‬‫الـ‬ ‫تعريف‬ ‫مع‬ ‫المطابقة‬ ‫عملية‬ ‫حقق‬XML‫ملف‬ ‫ضمن‬ ‫والموصوف‬ ‫له‬ ‫الموافق‬‫الخاص‬ ‫التعريف‬ ‫المستخدمة‬ ‫الوثائق‬ ‫بهيكلية‬‫الـ‬ ‫(ملف‬DTD‫وثائق‬ ‫تكون‬ ‫بينما‬ ،)XML‫شروط‬ ‫مجموعة‬ ‫تحقق‬ ‫أن‬ ‫يجب‬ ‫فإنها‬ ‫التكوين‬ ‫جيدة‬ :‫هي‬ 1-‫بإعالن‬ ‫الوثيقة‬ ‫تبدأ‬ ‫أن‬ ‫يجب‬XML‫أو‬XML Decleration:‫التالي‬ ‫بالشكل‬ <?xml version="1.0" encoding="utf-8" ?> 2-‫جذر‬ ‫عنصر‬ ‫يوجد‬root element‫العنصر‬ ‫يتواجد‬ ‫أن‬ ‫يجب‬ ‫آخر‬ ‫بمعنى‬ ‫أو‬ ،‫األخرى‬ ‫العناصر‬ ‫جميع‬ ‫يحتوي‬ .‫الوثيقة‬ ‫هيكلية‬ ‫بوصف‬ ‫يقوم‬ ‫الذي‬ ‫األساسي‬ 3-‫لغة‬XML‫متداخل‬ ‫بشكل‬ ‫أخرى‬ ‫عناصر‬ ‫داخل‬ )‫عناصر(وسوم‬ ‫بتضمين‬ ‫للمستخدم‬ ‫تسمح‬ ‫ال‬overlap‫يجب‬ ‫حيث‬ ، ‫في‬ ‫الذي‬ ‫الوسم‬ ‫إغالق‬ ‫يتوجب‬ ‫آخر‬ ‫وسم‬ ‫بداخل‬ ‫وسم‬ ‫فتح‬ ‫تم‬ ‫وإذا‬ ،‫آخر‬ ‫بعنصر‬ ‫البدء‬ ‫قبل‬ ‫عنصر‬ ‫كل‬ ‫عالمات‬ ‫إقفال‬ .‫الخارجي‬ ‫الوسم‬ ‫إغالق‬ ‫قبل‬ ‫الداخل‬ 4-‫هي‬ ‫وهذه‬ ،‫إغالق‬ ‫وسم‬ ‫فتح‬ ‫وسم‬ ‫لكل‬ ‫يكون‬ ‫أن‬ ‫يتوجب‬‫بين‬ ‫ة‬ّ‫م‬‫الها‬ ‫النحوية‬ ‫الفروقات‬ ‫إحدى‬XML‫و‬HTML، ‫ففي‬HTML‫وسوم‬ ‫مثل‬ ‫إغالقه‬ ‫بدون‬ ‫وسم‬ ‫فتح‬ ‫نستطيع‬<img>‫و‬<br/>. 5-‫الرموز‬ ‫تستخدم‬ ‫أن‬ ‫يجب‬<‫و‬&.‫مكونات‬ ‫أو‬ ‫جديدة‬ ‫بوسوم‬ ‫للبدأ‬ ‫فقط‬ 6-‫تعريف‬ ‫يمكن‬5‫ملف‬ ‫ضمن‬ ‫التعريف‬ ‫مسبقة‬ ‫لمراجع‬ ‫مكونات‬XML. 7-‫الرمز‬ ‫على‬ ‫إغالق‬ ‫وسم‬ ‫كل‬ ‫يحتوي‬ ‫أن‬ ‫يجب‬/>.
  • 30.
    ‫الصفحة‬29 3-2-2‫باستخدام‬ ‫المعيار‬ ‫توصيف‬DTDs: [2] ‫الـ‬‫ملف‬ ‫فإن‬ ‫قلنا‬ ‫كما‬DTD‫الـ‬ ‫ملف‬ ‫كتابة‬ ‫إن‬ ،‫وضعه‬ ‫المراد‬ ‫المعيار‬ ‫وصف‬ ‫يتضمن‬DTD،‫محددة‬ ‫طريقة‬ ‫وفق‬ ‫يتم‬ :‫العالقة‬ ‫توصيف‬ ‫نريد‬ ‫المثال‬ ‫سبيل‬ ‫على‬ ،‫الوسوم‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫ومعتمدة‬ address (name, street, town) ‫الكود‬(3-2)‫باستخدام‬ ‫عالقة‬ ‫توصيف‬DTD ،‫أكثر‬ ‫بشكل‬ ‫العالقة‬ ‫تفصيل‬ ‫يمكن‬:‫مرونة‬ ‫أكثر‬ ‫تصبح‬ ‫بحيث‬ ‫الكود‬(3-3)‫عالقة‬ ‫توصيف‬2‫باستخدام‬DTD ( ‫المعامل‬ ‫استخدام‬ ‫يمكن‬ ‫أيضا‬|‫تكون‬ ‫التي‬ ‫الوسوم‬ ‫من‬ ‫واحدة‬ ‫اختيار‬ ‫أي‬ ،‫الوسوم‬ ‫من‬ ‫مجموعة‬ ‫بين‬ ‫االختيار‬ ‫تعني‬ ‫والذي‬ ) :‫المعامل‬ ‫هذا‬ ‫بين‬ ‫موجودة‬ ‫الكود‬(3-4)‫استخدام‬( ‫المعامل‬|)‫الـ‬ ‫توصيف‬ ‫في‬DTD DTDs code <!ELEMENT address (name, street, town)> <!ELEMENT name (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT town (#PCDATA)> DTDs code <!ELEMENT address (name, place)> <!ELEMENT place (street, town)> <!ELEMENT name (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT town (#PCDATA)> DTDs code <!ELEMENT address (name, (street|box), town)> <!ELEMENT name (#PCDATA) > <!ELEMENT street (#PCDATA) > <!ELEMENT box (#PCDATA) > <!ELEMENT town (#PCDATA) > address PCDATA PCDATA PCDATA name street town place address PCDATA PCDATA PCDATA name street town PCDATA box address PCDATA PCDATA PCDATA name street town
  • 31.
    ‫الصفحة‬30 address PCDATA PCDATA PCDATA namestreet town PCDATA phone PCDATA fax ( ‫المعامل‬ ‫استخدام‬ ‫يمكن‬+( ‫والمعامل‬ )*‫يقوم‬ ‫حيث‬ ،‫الوسوم‬ ‫من‬ ‫وسم‬ ‫بها‬ ‫يتواجد‬ ‫أن‬ ‫يمكن‬ ‫التي‬ ‫المرات‬ ‫عدد‬ ‫تحدد‬ ‫والتي‬ ) ‫المعامل‬(+( ‫المعامل‬ ‫بينما‬ ،‫أكثر‬ ‫أو‬ ‫واحدة‬ ‫مرة‬ ‫يتواجد‬ ‫أن‬ ‫يمكن‬ ‫الوسم‬ ‫أن‬ ‫بتحديد‬ )*‫يتواجد‬ ‫ال‬ ‫أن‬ ‫يمكن‬ ‫الوسم‬ ‫أن‬ ‫يعني‬ ) ‫أكثر‬ ‫أو‬ ‫مرة‬ ‫يتواجد‬ ‫أن‬ ‫ويمكن‬: ‫الكود‬(3-5)‫المعامل‬ ‫استخدام‬(+)‫والمعامل‬(*)‫الـ‬ ‫توصيف‬ ‫في‬DTD ( ‫المعامل‬ ‫استخدام‬ ‫يمكن‬ ‫أيضا‬?.‫يتواجد‬ ‫ال‬ ‫أن‬ ‫الممكن‬ ‫ومن‬ ،‫واحدة‬ ‫مرة‬ ‫يوجد‬ ‫أن‬ ‫يمكن‬ ‫الوسم‬ ‫هذا‬ ‫أن‬ ‫يعني‬ ‫الذي‬ ) ‫الكود‬(3-6)‫المعامل‬ ‫استخدام‬(‫؟‬)‫الـ‬ ‫توصيف‬ ‫في‬DTD DTDs code <!ELEMENT address (name, street, town, phone+, fax*)> <!ELEMENT name (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT town (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT fax (#PCDATA)> DTDs code <!ELEMENT address (name, street, town, country?) > <!ELEMENT name (#PCDATA) > <!ELEMENT street (#PCDATA) > <!ELEMENT town (#PCDATA) > <!ELEMENT country (#PCDATA) > addres s PCDATA PCDATA PCDATA name street town PCDATA country
  • 32.
    ‫الصفحة‬31 3-3:‫الخبيرة‬ ‫للنظم‬ ‫المعارف‬‫تمثيل‬ ‫معايير‬ ‫أشهر‬ ‫وبين‬ ‫المعارف‬ ‫قاعدة‬ ‫بين‬ ‫وثيق‬ ‫ارتباط‬ ‫هناك‬ ‫لذلك‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫الشجرية‬ ‫البنية‬ ‫تستخدم‬ ‫الخبيرة‬ ‫النظم‬ ‫تطبيقات‬ ‫غالب‬ XML‫حيث‬ ،‫باستخدام‬ ‫تمثيلها‬ ‫يتم‬XML‫معايير‬ ‫اسم‬ ‫عليه‬ ‫يطلق‬ ‫ما‬ ‫عبر‬XML‫المعايير‬ ‫أشهر‬ ‫عن‬ ‫بالتحدث‬ ‫هنا‬ ‫سنقوم‬ ، ‫الويب‬ ‫في‬ ‫أو‬ ‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫سواء‬ ‫المعارف‬ ‫لتمثيل‬ ‫الموضوعة‬‫باستخدام‬XML،‫المعارف‬ ‫تمثيل‬ ‫طرق‬ ‫عن‬ ‫سنتحدث‬ ‫ثم‬ ‫باستخدام‬PROLOG[2] . ‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬ ‫معايير‬ ‫أشهر‬ ‫إن‬XML‫هي‬: -‫معيار‬HornML. -‫معيار‬RuleML. -‫معيار‬SHOE. ‫الشكل‬)3-4(‫عن‬ ‫المتفرعة‬ ‫المعايير‬ ‫أهم‬[2] XML 3-3-1‫معيار‬RuleML: [11] [2] ،‫الويب‬ ‫شبكة‬ ‫عبر‬ ‫والقواعد‬ ‫المعرفة‬ ‫ومشاركة‬ ‫ونشر‬ ‫تمثيل‬ ‫أجل‬ ‫من‬ ‫طورت‬ ‫ترميزية‬ ‫للغة‬ ‫عالمي‬ ‫معيار‬ ‫هي‬ ‫األمامي‬ ‫البحث‬ ‫قواعد‬ ‫من‬ ‫كال‬ ‫تمثيل‬ ‫فيها‬ ‫وتم‬forward (bottom-up)‫والخلفي‬backward (top-down)‫لغة‬ ‫باستخدام‬ XML‫تخصيم‬ ‫أجل‬ ‫من‬ ،deduction‫لغات‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫اعتمادا‬ ‫بنيت‬ ‫وقد‬ ،‫االستنتاجية‬ ‫التحويلية‬ ‫المهمات‬ ‫كتابة‬ ‫وإعادة‬ :‫وهي‬ ‫القواعد‬ ‫تمثيل‬XML, RDF, XSLT, and OWL. ‫األعضاء‬ ‫من‬ ‫مفتوحة‬ ‫مجموعة‬ ‫من‬ ‫مكونة‬ ‫مبادرة‬ ‫قبل‬ ‫من‬ ‫وضعها‬ ‫تم‬ ‫مهمة‬ ‫كانت‬ ‫وقد‬ ،‫واألكاديمية‬ ‫الصناعية‬ ‫القطاعات‬ ‫مختلف‬ ‫من‬ ‫والجماعات‬ ‫للغات‬ ‫معيارية‬ ‫وأنظمة‬ ‫تقييسات‬ ‫وضع‬ ‫أساسي‬ ‫بشكل‬ ‫المبادرة‬ ‫هذه‬ ‫باستخدام‬ ‫والويب‬ ‫للشبكات‬ ‫القواعد‬ ‫تمثيل‬ ‫في‬ ‫المستخدمة‬ ‫القانونية‬ ‫الترميزية‬ ‫الـ‬XML.
  • 33.
    ‫الصفحة‬32 3-3-1-1‫معيار‬ ‫تاريخ‬RuleML: ‫توصيف‬ ‫ظهر‬RuleML‫عام‬‫في‬2000:‫المطورين‬ ‫هؤالء‬ ‫أشهر‬ ‫كان‬ ‫وقد‬Harold Boley, Benjamin Grosof, and Michael Sintek‫الـ‬ ‫مدى‬ ‫على‬ ‫عليها‬ ‫وتطويرات‬ ‫تعديالت‬ ‫إجراء‬ ‫وتم‬ ،14‫في‬ ‫شارك‬ ،‫مضت‬ ‫التي‬ ‫سنة‬ ‫من‬ ‫أخرى‬ ‫ومجموعة‬ ‫نفسهم‬ ‫المؤسسين‬ ‫التعديالت‬ ‫هذه‬.‫المطورين‬ ‫معيار‬ ‫استخدام‬ ‫تم‬RuleML‫الخبيرة‬ ‫النظم‬ ‫محركات‬ ‫من‬ ‫كثير‬ ‫في‬،‫األن‬ ‫إلى‬ ‫تقييسه‬ ‫منذ‬‫المحركات‬ ‫هذه‬ ‫أشهر‬[9] : - OO jDREW: Naf Hornlog RuleML engine - Prova: Reaction RuleML engine - Drools: Reaction RuleML engine - DR-DEVICE: Defeasible logic RuleML engine - NxBRE: Naf Datalog RuleML engine - VampirePrime: FOL reasoner ‫معيار‬ ‫يتميز‬RuleML‫عن‬ ‫للمسؤولين‬ ‫دورية‬ ‫واجتماعات‬ ‫مؤتمرات‬ ‫إجراء‬ ‫يتم‬ ‫حيث‬ ،‫كامل‬ ‫بشكل‬ ‫التطورات‬ ‫آلخر‬ ‫بمواكبته‬ ‫م‬ ‫ابتداءا‬ ‫وذلك‬ ،‫المعيار‬‫عام‬ ‫ن‬2200،‫التطورات‬ ‫آخر‬ ‫مع‬ ‫يتناسب‬ ‫بما‬ ‫عليه‬ ‫والتعديل‬ ،‫وتنقيحه‬ ،‫المعيار‬ ‫مراجعة‬ ‫يتم‬ ‫حيث‬ ، ‫منذ‬ ‫عقدت‬ ‫التي‬ ‫المؤتمرات‬ ‫أهم‬2002‫اآلن‬ ‫إلى‬[9] : - RuleML-2013: Seventh International Web Rule Symposium. - RuleML-2012: Sixth International Web Rule Symposium. - RuleML-2011: Fifth International Web Rule Symposium. - RuleML-2010: Fourth International Web Rule Symposium. - RuleML-2009: Third International Web Rule Symposium. - RuleML-2008: Second International Web Rule Symposium. - RuleML-2007: First International Web Rule Symposium. - RuleML-2006: Second International Conference on Rules for the Web. - RuleML-2005: First International Conference on Rules for the Semantic Web. - RuleML-2004: Third International Workshop on Rules for the Semantic Web. - RuleML-2003: Second International Workshop on Rules for the Semantic Web - RuleML-2002: First International Workshop on Rule Markup Languages.
  • 34.
    ‫الصفحة‬33 3-3-1-2‫ملف‬DTDs‫لمعيار‬RuleML 0.8: ‫القواعد‬ ‫نسخة‬‫توصيف‬ ‫األسفل‬ ‫في‬ ‫يظهر‬RuleML 0.8.[11] ‫الكود‬(3-7)‫الـ‬ ‫ملف‬DTD‫لمعيار‬RuleML0.8. RuleML 0.8 DTD <!-- SCLP RuleML DTD, Monolith Uncommented version v13 of 2001-12 --> <!ENTITY % URI "CDATA"> <!ENTITY % bool "yes|no"> <!ELEMENT rulebase ( (_rbaselab, (imp | fact | mutex | sens | effe)*) | (imp | fact | mutex | sens | effe)+, _rbaselab?) )> <!ATTLIST rulebase direction (forward | backward | bidirectional) "bidirectional"> <!ELEMENT _rbaselab (ind | cterm)> <!ELEMENT imp ( (_head, ((_body,_rlab?) | (_rlab,_body?))? ) | (_body, ((_head,_rlab?) | (_rlab,_head))) | (_rlab,((_head,_body?) | (_body,_head))) )> <!ELEMENT _rlab (ind | cterm) > <!ELEMENT fact ( (_rlab,_head) | (_head,_rlab?) )> <!ELEMENT _head (clit | atom | andh)> <!ELEMENT _body (fclit | atom | clit | flit | andb | orb | and)> <!ELEMENT andb ((fclit | atom | clit | flit | andb | orb)*)> <!ELEMENT orb ((fclit | atom | clit | flit | andb | orb), (fclit | atom | clit | flit | andb | orb)+)> <!ELEMENT andh ((clit | atom | andh), (clit | atom | andh)+)> <!ELEMENT and ((atom | and)*)> <!ELEMENT clit ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+, _opr))> <!ATTLIST clit cneg (%bool;) #IMPLIED> <!ELEMENT fclit ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+, _opr))> <!ATTLIST fclit cneg (%bool;) #IMPLIED> <!ATTLIST fclit fneg (%bool;) #IMPLIED> <!ELEMENT flit ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+, _opr))> <!ATTLIST flit fneg (%bool;) #IMPLIED> <!ELEMENT atom ((_opr, (ind | var | cterm)*) | ((ind|var|cterm)+, _opr))> <!ELEMENT _opr (rel)> <!ELEMENT rel (#PCDATA)> <!ATTLIST rel href %URI; #IMPLIED> <!ELEMENT var (#PCDATA)> <!ELEMENT ind (#PCDATA)> <!ATTLIST ind href %URI; #IMPLIED> <!ELEMENT cterm ((_opc, (ind|var|cterm)*) | ((ind|var|cterm)+, _opc))> <!ELEMENT _opc (ctor)> <!ELEMENT ctor (#PCDATA)> <!ATTLIST ctor href %URI; #IMPLIED>
  • 35.
    ‫الصفحة‬34 3-3-1-3‫معيار‬ ‫عن‬ ‫أمثلة‬RuleML: [11][3] ‫معيار‬ ‫باستخدام‬ ‫تمثيلها‬ ‫وطريقة‬ ،‫القواعدية‬ ‫العبارات‬ ‫من‬ ‫لمجموعة‬ ‫األمثلة‬ ‫بعض‬ ‫عرض‬ ‫هنا‬ ‫سيتم‬RuleML‫مع‬ ، .‫المعيار‬ ‫مع‬ ‫تمثيلها‬ ‫لسهولة‬ ‫اإلنكليزية‬ ‫باللغة‬ ‫ستكون‬ ‫األمثلة‬ ،‫بها‬ ‫الخاصة‬ ‫الشجرة‬ ‫عرض‬ ‫مثال‬1: "Peter Miller's spending has been min 5000 euro in the previous year." ‫الكود‬(3-8)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML ‫مثال‬2: "A customer is premium if their spending has been min 5000 euro in the previous year." ‫الكود‬(3-9)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML RuleML example <Atom> <Rel>spending</Rel> <Ind>Peter Miller</Ind> <Ind>min 5000 euro</Ind> <Ind>previous year</Ind> </Atom> RuleML example <Implies> <head> <Atom> <Rel>premium</Rel> <Var>customer</Var> </Atom> </head> <body> <Atom> <Rel>spending</Rel> <Var>customer</Var> <Ind>min 5000 euro</Ind> <Ind>previous year</Ind> </Atom> </body> </Implies>
  • 36.
    ‫الصفحة‬35 ‫مثال‬3: "The discount fora customer buying a product is 7.5 percent if the customer is premium and the product is luxury" ‫الكود‬(3-10)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬RuleML RuleML example (Rules) <Implies> <head> <Atom> <Rel>discount</Rel> <Var>customer</Var> <Var>product</Var> <Ind>7.5 percent</Ind> </Atom> </head> <body> <And> <Atom> <Rel>premium</Rel> <Var>customer</Var> </Atom> <Atom> <Rel>luxury</Rel> <Var>product</Var> </Atom> </And> </body> </Implies> RuleML example (Rules) <Atom> <Rel>luxury</Rel> <Ind>Porsche</Ind> </Atom> <Atom> <Rel>discount</Rel> <Ind>Peter Miller</Ind> <Ind>Porsche</Ind> <Ind>7.5 percent</Ind> </Atom>
  • 37.
    ‫الصفحة‬36 3-3-1-4‫المعيار‬ ‫مكونات‬RuleML: ‫معيار‬ ‫يستخدم‬RuleML‫متعددة‬‫ألشياء‬‫الخبيرة‬ ‫النظم‬ ‫معارف‬ ‫لتمثيل‬ ‫فقط‬ ‫وليس‬‫المكونات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫يتألف‬ ‫حيث‬ ، ‫تطبيقات‬ ‫في‬ ‫المستخدمة‬‫متعددة‬،‫هي‬ ‫المكونات‬ ‫هذه‬: - Reaction Rules. - TransformationRules - Derivation Rules - Integrity Constraints ‫الشكل‬ ‫ويظهر‬3-7‫معيار‬ ‫ومكونات‬ ‫تفريعات‬RuleML. ‫الشكل‬(3-5)‫المعيار‬ ‫مكونات‬[2] RuleML 3-3-2‫معيار‬HornML: [2] ‫لـ‬ ‫اختصارا‬ ‫تعتبر‬Horn Logic Markup Languages‫لمعيار‬ ‫مشابه‬ ‫معيار‬ ‫وهو‬RuleML‫يستخدم‬ ‫أنه‬ ‫إال‬ ‫الـ‬Struct.‫ما‬ ‫قاعدة‬ ‫على‬ ‫للداللة‬ 3-3-2-1‫ملف‬DTDs‫لمعيار‬RuleML: ‫الـ‬ ‫نسخة‬ ‫توصيف‬ ‫األسفل‬ ‫في‬ ‫يظهر‬DTD‫الـ‬ ‫لمعيار‬RuleML: ‫الكود‬(3-11)‫الـ‬ ‫ملف‬DTD‫لعيار‬HornML. HornML DTD <!ELEMENT kb (hn*) > <!ELEMENT hn (relationship, relationship*) > <!ELEMENT relationship (relator, (ind | var | struc)*) > <!ELEMENT struc (constructor, (ind | var | struc)*) > <!ELEMENT relator (#PCDATA) > <!ELEMENT constructor (#PCDATA) > <!ELEMENT ind (#PCDATA) > <!ELEMENT var (#PCDATA) >
  • 38.
    ‫الصفحة‬37 3-3-2-2‫معيار‬ ‫عن‬ ‫أمثلة‬HornML: ‫المعيار‬‫باستخدام‬ ‫تمثيلها‬ ‫طريقة‬ ‫مع‬ ،‫والجمل‬ ‫األمثلة‬ ‫بعض‬ ‫ذكر‬ ‫سيتم‬HornML: ‫مثال‬1:‫ونريد‬ ‫التالية‬ ‫الجملة‬ ‫لدينا‬ ‫فرض‬ ‫على‬:‫توصيفها‬undersea-connection(britain,france) ‫الكود‬(3-12)‫باستخدام‬ ‫حقيقة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML ‫مثال‬2::‫توصيفها‬ ‫ونريد‬ ‫التالية‬ ‫الجملة‬ ‫لدينا‬ ‫فرض‬ ‫على‬travel(john,channel-tunnel) ‫الكود‬(3-13)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML ‫ثال‬3::‫توصيفها‬ ‫ونريد‬ ‫التالية‬ ‫القاعدة‬ ‫لدينا‬ ‫فرض‬ ‫على‬ travel(Someone,channel-tunnel) :- carry(eurostar,Someone). ‫الكود‬(3-14)‫باستخدام‬ ‫قاعدة‬ ‫توصيف‬ ‫عن‬ ‫مثال‬HornML HornML example <struc> <constructor>undersea-connection</constructor> <ind>britain</ind> <ind>france</ind> </struc> HornML example (Facts) <hn> <relationship> <relator>travel</relator> <ind>john</ind> <ind>channel-tunnel</ind> </relationship> </hn> HornML example (Rules) <hn> <relationship> <relator>travel</relator> <var>someone</var> <ind>channel-tunnel</ind> </relationship> <relationship> <relator>carry</relator> <ind>eurostar</ind> <var>someone</var> </relationship> </hn>
  • 39.
    ‫الصفحة‬38 ‫معيار‬ ‫يمكننا‬HornML‫إعطاء‬ ‫من‬،‫المنطقية‬‫القواعد‬ ‫توسيع‬ ‫على‬ ‫يساعد‬ ‫ما‬ ‫وهذا‬ ،‫محدد‬ ‫لوسم‬ ‫الخواص‬ ‫من‬ ‫مجموعة‬ :‫الحالة‬ ‫هذه‬ ‫على‬ ‫وكمثال‬ ‫الكود‬(3-15)‫في‬ ‫الوسوم‬ ‫خصائص‬ ‫استخدام‬HornML ‫معيار‬ ‫يمكننا‬ ‫أيضا‬HornML‫وإعطائها‬ ‫ما‬ ‫قاعدة‬ ‫تعريف‬ ‫من‬ID‫آخر‬ ‫مكان‬ ‫في‬ ‫القاعدة‬ ‫هذه‬ ‫استخدام‬ ‫يمكن‬ ‫بحيث‬ ‫محدد‬ ‫الكلمة‬ ‫باستخدام‬ ‫ولك‬IDREF،‫قوي‬ ‫بشكل‬ ‫المعرف‬ ‫قاعدة‬ ‫تعيكل‬ ‫حيث‬ ،‫القواعد‬ ‫تشعب‬ ‫حال‬ ‫في‬ ‫كثيرا‬ ‫القاعدة‬ ‫هذه‬ ‫تفيد‬ ، :‫الحالة‬ ‫هذه‬ ‫على‬ ‫وكمثال‬ ،‫البرمجة‬ ‫لغات‬ ‫في‬ ‫التوابع‬ ‫لهيكلة‬ ‫مشابهة‬ ‫بطريقة‬ ‫وفعال‬ ‫الكود‬(3-16)‫استخدام‬ID‫و‬IDREF‫في‬HornML 3-3-3‫معيار‬SHOE: [𝟏𝟐] [𝟐] ‫للجملة‬ ‫اختصارا‬ ‫يعتبر‬(Simple HTML Ontology Extensions)‫باستخدام‬ ‫بالبداية‬ ‫تمثيله‬ ‫تم‬ ‫وقد‬ HTML‫صيغة‬ ‫إلى‬ ‫نقله‬ ‫تم‬ ‫ثم‬XML‫القواعد‬ ‫تمثيل‬ ‫يتم‬ ‫حيث‬ ،‫المحكية‬ ‫لغة‬ ‫من‬ ‫جدا‬ ‫قريبة‬ ‫لغته‬ ‫وتعتبر‬ ،‫وقوته‬ ‫بمرونته‬ ‫يتميز‬ ، ‫بوسوم‬If-Then:‫عليه‬ ‫وكمثال‬ ، HornML example (Rules) <relator arity="2">travel</relator> HornML example (ID, IDREF) <hn id="john-channel"> <relationship> <relator>travel</relator> <ind>john</ind> <ind>channel-tunnel</ind> </relationship> </hn> <hn> <relationship> <relator>belief</relator> <ind>mary</ind> <prop idref="john-channel"/> </relationship> </hn>
  • 40.
    ‫الصفحة‬39 ‫الكود‬(3-17)‫معيار‬ ‫باستخدام‬ ‫معرفة‬‫قاعدة‬ ‫عن‬ ‫مثال‬SHOE. 3-3-4‫باستخدام‬ ‫المعارف‬ ‫تمثيل‬PROLOG: [2] ‫تطبيقات‬ ‫وفي‬ ،‫األبحاث‬ ‫في‬ ‫تستخدم‬ ،‫اسمها‬ ‫يفسر‬ ‫ما‬ ‫وهذا‬ ،‫المنطق‬ ‫مبادئ‬ ‫على‬ ‫تعتمد‬ ‫برمجة‬ ‫لغة‬ ‫هي‬ ‫برولوغ‬ ‫في‬ ‫نزايد‬ ‫وقد‬ ،‫الخبيرة‬ ‫النظم‬ ‫سيما‬ ‫وال‬ ‫الصنعي‬ ‫الذكاء‬.‫تجاريا‬ ‫استخدامها‬ ‫األخيرة‬ ‫الفترة‬ ‫وتحت‬ ،‫التعليمات‬ ‫الئحة‬ ‫من‬ ‫بدال‬ ‫عنها‬ ‫نصرح‬ ‫ستاتيكية‬ ‫معطيات‬ ‫قاعدة‬ ‫من‬ ‫برولوغ‬ ‫تتكون‬‫مفسر‬ ‫على‬ ‫وي‬Interpreter‫يقوم‬ .‫القواعد‬ ‫وتنفيذ‬ ،‫الحقائق‬ ‫بتحليل‬ ‫الشكل‬(3-6)‫لغة‬ ‫عمل‬ ‫بيئة‬[25] PROLOG ‫مثال‬1:‫بسيط‬ ‫برولوغ‬ ‫باستخدام‬ ‫القواعد‬ ‫تمثيل‬ ‫إن‬: SHOE example <DEF-INFERENCE DESCRIPTION="travel(?someone,http://www.eurotunnel.com/) if carry(http://www.eurostar.com/,?someone)"> <INF-IF> <RELATION NAME="carry"> <ARG POS="1" VALUE="http://www.eurostar.com/"> <ARG POS="2" VALUE="someone" USAGE="VAR"> </RELATION> </INF-IF> <INF-THEN> <RELATION NAME="travel"> <ARG POS="1" VALUE="someone" USAGE="VAR"> <ARG POS="2" VALUE="http://www.eurotunnel.com/"> </RELATION> </INF-THEN> </DEF-INFERENCE>
  • 41.
    ‫الصفحة‬40 ‫الكود‬(3-18)‫لغة‬ ‫في‬ ‫حقيقة‬‫عن‬ ‫مثال‬PROLOG ‫مثال‬2: ‫الكود‬(3-19)‫باستخدام‬ ‫معرفة‬ ‫قاعدة‬ ‫عن‬ ‫مثال‬PROLOG PROLOG example address( name("Xaver M. Linde"), box("2001"), town("10555 Berlin") ) PROLOG example % start fact base for addresses address( name("Me2XML"), place( street("96 Hyper Road"), town("Boston") ) ). address( name("RDF4All"), place( street("2001 Broadway"), town("New York") ) ). address( name("XML4You"), place( street("96 Hyper Road"), town("Boston") ) ). % end fact base for addresses address Xaver M. Linde 2001 10555 Berlin name box town
  • 42.
    ‫الصفحة‬41 ‫الفصل‬‫الرابع‬: ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ :‫الفصل‬‫هذا‬ ‫في‬ ›‫مكتبة‬NXBRE. ›‫لمكتبة‬ ‫االستدالل‬ ‫محركات‬ ‫أنواع‬NXBRE. ›‫قبل‬ ‫من‬ ‫المدعومة‬ ‫المعارف‬ ‫أنواع‬NXBRE. ›‫متخصصة‬ ‫أخرى‬ ‫مكتبات‬.‫الخبيرة‬ ‫بالنظم‬
  • 43.
    ‫الصفحة‬42 ‫الفصل‬‫الرابع‬-:‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫بلغة‬‫المكتوبة‬ ‫تلك‬ ‫وأشهرها‬ ،‫الخبيرة‬ ‫للنظم‬ ‫استداللية‬ ‫محركات‬ ‫تؤمن‬ ‫التي‬ ‫المكتبات‬ ‫من‬ ‫العديد‬ ‫توجد‬Java‫تم‬ ‫منها‬ ‫قسم‬ ‫أن‬ ‫إال‬ ‫بيئة‬ ‫على‬ ‫ليعمل‬ ‫منه‬ ‫نسخة‬ ‫إنشاء‬.NET‫لبيئة‬ ‫المخصصة‬ ‫المحركات‬ ‫لبعض‬ ‫باإلضافة‬.NE،‫هذه‬ ‫بعض‬‫مفتوحة‬ ‫تعتبر‬ ‫المحركات‬ ‫دون‬ ‫من‬ ‫ولكن‬ ‫استخدامها‬ ‫يمكن‬ ‫حيث‬ ،‫لالستخدام‬ ‫مفتوحة‬ ‫اآلخر‬ ‫وبعضها‬ ،‫للمكتبة‬ ‫المصدري‬ ‫الكود‬ ‫رؤية‬ ‫ويمكن‬ ‫بالكامل‬ ‫المصدر‬ .‫استخدامها‬ ‫أجل‬ ‫من‬ ‫شراؤها‬ ‫يجب‬ ‫تجارية‬ ‫مكتبات‬ ‫مجموعة‬ ‫أيضا‬ ‫ويوجد‬ ،‫المصدري‬ ‫الكود‬ ‫رؤية‬ ‫المكتبات‬ ‫غالب‬ ‫عن‬ ‫الحديث‬ ‫البحث‬ ‫هذا‬ ‫في‬ ‫سيتم‬‫بيئة‬ ‫في‬ ‫خبيرة‬ ‫نظم‬ ‫لبناء‬ ‫المستخدمة‬.NET 4-1‫مكتبة‬NxBRE: [𝟏𝟒] ‫مكتبة‬NxBRE،‫الخبيرة‬ ‫للنظم‬ ‫العملية‬ ‫والقواعد‬ ‫االستدالل‬ ‫محركات‬ ‫بناء‬ ‫في‬ ‫متخصصة‬ ‫المصدر‬ ‫مفتوحة‬ ‫مكتبة‬ ‫أول‬ ‫هي‬ ‫لمنصة‬ ‫مخصصة‬.NET‫عام‬ ‫في‬ ‫وظهرت‬2000‫مكتبة‬ ‫من‬ ‫نسخة‬ ‫عن‬ ‫عبارة‬ ‫وهي‬ ،JxBRE‫لغة‬ ‫باستخدام‬ ‫المبرمجة‬Java ‫المبرمج‬ ‫قبل‬ ‫من‬Sloan Seaman. ‫مكتبة‬ ‫برمجة‬ ‫تمت‬NxBRE‫إلى‬ ‫نقلها‬ ‫باألحرى‬ ‫أو‬.NET‫المبرمج‬ ‫قبل‬ ‫من‬ ‫دوسوت‬ ‫ديفيد‬David DossotK‫وبسهولة‬ ‫ببساطتها‬ ‫رئيسي‬ ‫بشكل‬ ‫تتميز‬ .‫توسيعها‬ :‫الرابط‬ ‫من‬ ‫المكتبة‬ ‫على‬ ‫الحصول‬ ‫يمكن‬http://sourceforge.net/projects/nxbre/ ‫بيئة‬ ‫على‬ ‫المكتبة‬ ‫عمل‬ ‫يتطلب‬Visual Studio‫الم‬ ‫بعض‬ ‫وجود‬‫تطلبات‬‫وهي‬ ،: ›‫الـ‬ ‫بيئة‬ ‫حزمة‬.Net‫اإلصدار‬Microsoft .NET Framework 1.1.‫األحدث‬ ‫اإلصدارات‬ ‫أو‬ ›‫حزمة‬2.2-NUnit‫من‬ ‫عليها‬ ‫الحصول‬ ‫يمكن‬ ،‫األحدث‬ ‫اإلصدارات‬ ‫أو‬http://www.nunit.org. ‫مكتبة‬ ‫تعتبر‬NxBRE‫مصدرة‬‫ب‬‫ترخيص‬LGPL‫في‬ ‫المكتبة‬ ‫استخدام‬ ‫قانوني‬ ‫بشكل‬ ‫للمستخدمين‬ ‫تسمح‬ ‫التي‬‫ال‬‫ت‬ ‫تطبيقات‬‫جارية‬، ‫و‬‫يمكن‬ ‫أنه‬ ‫المكتبة‬ ‫عن‬ ‫المسؤولون‬ ‫يقول‬‫مكتبة‬ ‫استخدام‬NxBRE‫الت‬ ‫التطبيقات‬ ‫في‬:‫الية‬ ›‫التعبير‬ ‫يتطلب‬ ‫بل‬ ،‫ومهيكل‬ ‫واحد‬ ‫بأسلوب‬ ‫تمثيلها‬ ‫يمكن‬ ‫ال‬ ‫والتي‬ ‫المعقدة‬ ‫القواعد‬ ‫من‬ ‫قاعدة‬ ‫على‬ ‫تحوي‬ ‫التي‬ ‫التطبيقات‬ ‫في‬ .‫حرة‬ ‫منطقية‬ ‫تعابير‬ ‫عنه‬ ›‫في‬ ‫القواعد‬ ‫إضافة‬ ‫إمكانية‬ ‫تتيح‬ ‫حيث‬ ،‫باستمرار‬ ‫القواعد‬ ‫بها‬ ‫تتغير‬ ‫التي‬ ‫التطبيقات‬ ‫في‬‫إل‬ ‫الحاجة‬ ‫دون‬ ‫وقت‬ ‫أي‬‫ترجمة‬ ‫عادة‬ .‫جديد‬ ‫من‬ ‫القواعد‬ 4-1-1:‫المكتبة‬ ‫مكونات‬ ‫مكتبة‬ ‫تقدم‬NxBRE‫يستخدم‬ ‫وكالهما‬ ،‫الخبيرة‬ ‫النظم‬ ‫محركات‬ ‫من‬ ‫نوعان‬،‫للقواعد‬ ‫تمثيالت‬ ‫عدة‬‫سهولة‬ ‫لها‬ ‫تؤمن‬ ‫والتي‬ :‫هي‬ ‫االستدالل‬ ‫محركات‬ ،‫والحذف‬ ‫واإلضافة‬ ‫التعديل‬ ‫في‬ ‫ومرونة‬ ›‫نوع‬ ‫من‬ ‫محرك‬Flow Engine‫نوع‬ ‫من‬ ‫معارف‬ ‫قاعدة‬ ‫مع‬ ‫يتعامل‬ :xBRE. ›‫نوع‬ ‫من‬ ‫محرك‬Inference Engine‫مع‬ ‫يتعامل‬ :‫قواعد‬‫نوع‬ ‫من‬ ‫معارف‬RuleML‫أو‬Visio‫أو‬HRF.
  • 44.
    ‫الصفحة‬43 ‫تمثيل‬ ‫يتم‬‫قواعد‬‫المعرفة‬‫لمكتبة‬NxBRE‫عام‬ ‫بشكل‬‫تمثل‬‫بعبارات‬‫في‬ ‫ستنفذ‬ ‫التي‬ ‫األفعال‬ ‫من‬ ‫مجموعة‬ ‫أو‬ ‫فعل‬ ‫يتبعه‬ ‫شرط‬ ‫هذا‬ ‫تحقق‬ ‫حال‬‫وكأمثلة‬ ،‫الشرط‬:‫القواعد‬ ‫هذه‬ ‫على‬ ‫يظهر‬‫األسفل‬ ‫في‬ ‫المخطط‬‫يسمى‬ ‫حيث‬ ،‫المكتبة‬ ‫عمل‬ ‫بنية‬‫التي‬ ‫القواعد‬ ‫وجود‬ ‫مكان‬‫ي‬‫تدعى‬ ‫الخارجي‬ ‫الملف‬ ‫من‬ ‫جلبها‬ ‫تم‬ Context‫محرك‬ ‫أجل‬ ‫من‬Flow Engine‫وتدعى‬Working Memory‫محرك‬ ‫أجل‬ ‫من‬Inference Engine. ‫الـ‬Context‫الـ‬ ‫و‬Working Memory‫ومراجع‬ ‫والحقائق‬ ‫القواعد‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫تحتوي‬References‫إلى‬ .‫المعارف‬ ‫قاعدة‬ ‫في‬ ‫الموجودة‬ ‫األغراض‬ ‫الشكل‬(4-1)‫لمكتبة‬ ‫الهيكلية‬ ‫البنية‬[14] NxBRE 4-1-2‫نوع‬ ‫من‬ ‫المحركات‬Flow Engine: ‫قواعد‬ ‫على‬ ‫يعتمد‬ ‫محرك‬ ‫عن‬ ‫عبارة‬(if/then/else, while, foreach)‫وتدعى‬ ،‫والقواعد‬ ‫المعارف‬ ‫تمثيل‬ ‫أجل‬ ‫من‬ ‫التحكم‬ ‫تدفق‬ ‫عمليات‬ ‫الطريقة‬ ‫هذه‬control process flow‫ملفات‬ ‫هيئة‬ ‫على‬ ‫فيه‬ ‫القواعد‬ ‫تمثيل‬ ‫ويتم‬ ،XML‫بالحقة‬.xbr ‫عن‬ ‫عبارة‬ ‫هي‬ ‫والتي‬‫تستخدمه‬ ‫التي‬ ‫التوصيف‬ ‫نفس‬‫األم‬ ‫المكتبة‬JxBRE v1.7.1. ‫مكتبة‬ ‫تؤمن‬ ‫ال‬NxBRE‫وسيلة‬ ‫أي‬‫مخصص‬ ‫برنامج‬ ‫أو‬‫إلنشاء‬‫أنها‬ ‫بما‬ ‫ولكن‬ ،‫المعرفة‬ ‫قواعد‬‫ملفات‬XML‫الم‬ ‫من‬ ‫فإنه‬‫مكن‬ ‫استخدام‬‫و‬ ‫القاعدة‬ ‫إلنشاء‬ ‫نصوص‬ ‫محرر‬ ‫أي‬‫ب‬ ‫حفظها‬ ‫يتم‬( ‫الحقة‬.xbre.) ‫محرك‬ ‫إنشاء‬ ‫يتم‬Flow Engine:‫يلي‬ ‫كما‬
  • 45.
    ‫الصفحة‬44 ‫الكود‬(4-1)‫من‬ ‫محرك‬ ‫عن‬‫مثال‬Flow engine ‫ملفات‬ ‫على‬ ‫كمثال‬xbre:‫المثال‬ ‫بهذا‬ ‫نوضح‬ ‫الكود‬(4-2)‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬xbre 4-1-3‫االستدالل‬ ‫محرك‬Inference Engine: ‫ع‬ ‫عبارة‬‫ن‬‫خوارزمية‬ ‫يتبع‬ ،‫استداللي‬ ‫محرك‬Forward chaining‫الحقائق‬ ‫من‬ ‫كال‬ ‫ويدعم‬ ،‫االستدالل‬ ‫عمليات‬ ‫أجل‬ ‫من‬ Facts‫والقواعد‬ ،Rules (Implications)‫واالستعالمات‬ ،Query‫يسمى‬ ‫ما‬ ‫في‬ ‫محددة‬ ‫توصيفات‬ ‫عن‬ ‫عبارة‬ ‫وهي‬ ، (RuleML Naf Datalog sub-language.) Flow Engine example //Step 1: include NxBRE namespace using NxBRE.FlowEngine; using NxBRE.FlowEngine.IO; using NxBRE.InferenceEngine.Rules; //Step 2: Create Flow Engine IFlowEngine bre = new BREImpl( ); //Step 3: Load Rules Base bre.Init(new XBusinessRulesFileDriver("ruleFilePath.xbre")); //Step 4: Assert object bre.RuleContext.SetObject("TestObject",new object()); //Step 5: proccess all Rules bre.Process( ); NxBRE Rule example <Logic> <If> <And> <Equals leftId="CLIENT_RATING" rightId="PREMIUM_RATING" /> <Equals leftId="PRODUCT_TYPE" rightId="REGULAR_TYPE" /> </And> <Do> <Integer id="DISCOUNT_PERCENT" value="5" /> </Do> </If> </Logic>
  • 46.
    ‫الصفحة‬45 ‫القواعد‬ ‫في‬ ‫األولوية‬‫يدعم‬ ‫فإنه‬ ‫لذلك‬ ‫إضافة‬Rule Priority‫والـ‬Mutual Exclusion‫االستنتاج‬ ‫وعمليات‬ ، Precondition. ‫سيصمم‬ ‫الذي‬ ‫الخبير‬ ‫الشخص‬ ‫وبين‬ ،‫الخبير‬ ‫النظام‬ ‫تطبيق‬ ‫ببرمجة‬ ‫يقوم‬ ‫الذي‬ ‫المبرمج‬ ‫بين‬ ‫التام‬ ‫الفصل‬ ‫يحقق‬ ‫بحيث‬ ‫تصميمه‬ ‫تم‬ ‫تطبيق‬ ‫عليها‬ ‫سيعتمد‬ ‫الذي‬ ‫العمل‬ ‫قاعدة‬.‫الخبير‬ ‫النظام‬ ‫استداللي‬ ‫محرك‬ ‫إنشاء‬ ‫يتم‬Inference Engine:‫يلي‬ ‫كما‬ ‫الكود‬(4-3)‫نوع‬ ‫من‬ ‫محرك‬ ‫ملف‬ ‫عن‬ ‫مثال‬Inference engine :‫وهي‬ ،‫صيغ‬ ‫بعدة‬ ‫المحرك‬ ‫هذا‬ ‫يستخدمها‬ ‫التي‬ ‫العمل‬ ‫قواعد‬ ‫ملفات‬ ‫تكون‬ ‫أن‬ ‫يمكن‬ -‫ملف‬XML‫معيار‬ ‫باستخدام‬ ‫مكتوب‬RuleML. -‫ملفات‬VDX‫برنامج‬ ‫باستخدام‬ ‫كتابتها‬ ‫يمكن‬ ‫والتي‬Visio‫حزمة‬ ‫مع‬ ‫يأتي‬ ‫الذي‬MicroSoft‫عملية‬ ‫تؤمن‬ ‫والتي‬ .‫رسومي‬ ‫بشكل‬ ‫والحقائق‬ ‫للقواعد‬ ‫إنشاء‬ -‫ملف‬HRF‫صيغة‬ ‫ويشبه‬ ‫بسهولة‬ ‫قراءته‬ ‫يمكن‬ ،‫البشر‬ ‫للغة‬ ‫شيبه‬ ‫بنحو‬ ‫ملف‬ ‫عن‬ ‫عبارة‬ ‫وهو‬Prolog‫اختصار‬ ‫وهو‬ ‫للعبارة‬human-readable format. ‫أن‬ ‫يمكن‬‫على‬ ‫االستدالل‬ ‫محرك‬ ‫يحتوي‬Binder‫الـ‬ ‫لكود‬ ‫مشابه‬ ‫بدور‬ ‫يقوم‬ ‫والذي‬ASP.NET‫قد‬ ،‫الخلفية‬ ‫في‬ ‫يعمل‬ ‫والذي‬ ‫الـ‬ ‫هذا‬ ‫يكون‬Binder‫صنف‬ ‫إما‬Class‫الـ‬ ‫هذا‬ ‫يستخدم‬ ،‫خارجي‬ ‫ملف‬ ‫أو‬Binder‫متغيرات‬ ‫من‬ ‫البيانات‬ ‫جلب‬ ‫أجل‬ ‫من‬ ‫البيان‬ ‫ومعالجة‬ ،‫المعقدة‬ ‫التعابير‬ ‫تحليل‬ ‫عملية‬ ‫ويؤمن‬ ،‫العمل‬‫الت‬ ‫التغييرات‬ ‫تثبيت‬ ‫أجل‬ ‫من‬ ‫وأيضا‬ ،‫العمل‬ ‫قيد‬ ‫وضعها‬ ‫قبل‬ ‫ات‬‫ي‬ .‫العمل‬ ‫قواعد‬ ‫على‬ ‫تطرأ‬ ‫موجودة‬ ‫قواعد‬ ‫على‬ ‫التعديل‬ ‫أو‬ ،‫للقواعد‬ ‫جديدة‬ ‫إضافة‬ ‫من‬ ،‫المحرك‬ ‫عمليات‬ ‫في‬ ‫تحصل‬ ‫التي‬ ‫أحداث‬ ‫مجموعة‬ ‫يؤمن‬ ‫أيضا‬ .‫ما‬ ‫نتيجة‬ ‫على‬ ‫الحصول‬ ‫عند‬ ‫أو‬ ،‫مسبقا‬ NxBRE Inference Engine example //Step 1: include NxBre namespace using NxBRE.InferenceEngine; using NxBRE.InferenceEngine.IO; using NxBRE.InferenceEngine.Rules; //Step 2: Create Inference Engine IInferenceEngine ie = new IEImpl(); //Step 3: Load Rules Base RuleML09NafDatalogAdapter Adapter = new RuleML09NafDatalogAdapter ("ruleFilePath.ruleml", FileAccess.Read); ie.LoadRuleBase(Adapter); //Step 4: Assert facts Fact fact = new Fact("your Fact"); ie.Assert(fact); //Step 5: proccess all Rules ie.Process();
  • 47.
    ‫الصفحة‬46 4-1-3-1‫هيئة‬ ‫على‬ ‫القواعد‬‫ملفات‬RuleML: ‫باستخدام‬ ‫كتابتها‬ ‫يمكن‬ ‫التالية‬ ‫القاعدة‬RuleML:‫يلي‬ ‫كما‬ Rule #1: The discount for a customer buying a product is 5.0 percent if the customer is premium and the product is regular. ‫الكود‬(4-4)‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬RuleML 4-1-3-2‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬VDX‫باستخدام‬Visio: ‫بعضها‬ ‫مع‬ ‫القواعد‬ ‫ربط‬ ‫سهولة‬ ‫إلى‬ ‫إضافة‬ ‫رسومية‬ ‫كونها‬ ‫بسيطة‬ ‫طريقة‬ ‫بأنها‬ ‫الطريقة‬ ‫بهذه‬ ‫القواعد‬ ‫كتابة‬ ‫تتميز‬ ‫عملية‬ ‫يسهل‬ ‫ما‬ ‫وهذا‬ ‫صفحات‬ ‫ضمن‬ ‫القواعد‬ ‫ترتيب‬ ‫الممكن‬ ‫من‬ ‫أيضا‬ ،‫البعض‬.‫وقراءتها‬ ‫تعديلها‬ RuleML Rules example <Implies> <And> <Atom> <Rel>premium</Rel> <Var>customer</Var> </Atom> <Atom> <Rel>regular</Rel> <Var>product</Var> </Atom> </And> <Atom> <Rel>discount</Rel> <Var>customer</Var> <Var>product</Var> <Ind>5.0 percent</Ind> </Atom> </Implies>
  • 48.
    ‫الصفحة‬47 ( ‫الشكل‬4-2‫برنامج‬ )Visio‫من‬[14] Microsoft .‫متكامال‬‫التصميم‬ ‫يجعل‬ ‫مما‬ ‫األخرى‬ ‫البرامج‬ ‫يؤمنها‬ ‫التي‬ ‫المخططات‬ ‫مع‬ ‫القواعد‬ ‫دمج‬ ‫أيضا‬ ‫يمكن‬ ( ‫الشكل‬4-3)‫في‬ ‫القواعد‬ ‫مع‬ ‫التصميم‬ ‫دمج‬‫برنامج‬[14] Visio 4-1-3-3‫ملف‬ ‫هيئة‬ ‫على‬ ‫القواعد‬HRF: ‫قواعد‬ ‫لكتابة‬ ‫مشابهة‬ ‫بطريقة‬ ‫الملفات‬ ‫هذه‬ ‫تكون‬ ‫حيث‬Prolog،‫لإلنسان‬ ‫بالنسبة‬ ‫بسهولة‬ ‫قرائتها‬ ‫بإمكانية‬ ‫وتتميز‬ .‫نصوص‬ ‫محرر‬ ‫أي‬ ‫باستخدام‬ ‫كتابتها‬ ‫ويمكن‬ ‫كمث‬‫ا‬:‫يلي‬ ‫كما‬ ‫التالية‬ ‫القاعة‬ ‫كتابة‬ ‫يمكن‬ ‫عليها‬ ‫ل‬ Rule: The discount for a customer buying a product is 5.0 percent if the customer is premium and the product is regular. ‫الكود‬(4-5)‫قواعد‬ ‫ملف‬ ‫عن‬ ‫مثال‬HRF 4-2‫مكتبة‬Drools.NET: [15] ‫مكتبة‬ ‫أنشأت‬Drools.NET‫عام‬ ‫في‬2007‫العملية‬ ‫للقواعد‬ ‫محرك‬ ‫وتعتبر‬Business Rules Engine (BRE) ‫خوارزمية‬ ‫على‬ ‫تعتمد‬Rete‫فروغي‬ ‫شارلز‬ ‫العالم‬ ‫قبل‬ ‫من‬ ‫الموضوعة‬Charles Forgy‫برمجة‬ ‫بواسطتها‬ ‫المطورين‬ ‫يستطيع‬ ، ‫بيئة‬ ‫مع‬ ‫كامل‬ ‫بشكل‬ ‫متوافقة‬ ‫قوية‬ ‫بحث‬ ‫محركات‬.NET ‫مكتبة‬ ‫تعتمد‬Drools.Net‫قواعد‬ ‫على‬JBoss،‫المعارف‬ ‫لتمثيل‬ ‫معيار‬ ‫وهي‬ .‫القواعد‬ ‫هذه‬ ‫ميزات‬ ‫كافة‬ ‫من‬ ‫تستفيد‬ ‫حيث‬ ‫هذه‬ ،‫التشغيل‬ ‫نظام‬ ‫على‬ ‫تتواجد‬ ‫أن‬ ‫يجب‬ ‫التي‬ ‫األدوات‬ ‫بعض‬ ‫المكتبة‬ ‫عمل‬ ‫يتطلب‬ :‫هي‬ ‫األدوات‬ -‫الـ‬ ‫بيئة‬ ‫حزمة‬.Net‫الثاني‬ ‫اإلصدار‬Microsoft .NET Framework 2.0.‫األحدث‬ ‫اإلصدارات‬ ‫أو‬ -‫حزمة‬IKVM 0.28.0.0‫الموقع‬ ‫من‬ ‫عليها‬ ‫الحصول‬ ‫يمكن‬ ‫والتي‬http://www.ikvm.net. HRF Rule ( premium{?customer} & regular{?product} ) -> discount{?customer, ?product, 5.0 percent};
  • 49.
    ‫الصفحة‬48 -‫حزمة‬2.2.6-NUnit‫من‬ ‫عليها‬ ‫الحصول‬‫يمكن‬ ،‫األحدث‬ ‫اإلصدارات‬ ‫أو‬http://www.nunit.org. ‫مكتبة‬ ‫تتميز‬Drools.NET‫أهم‬ ،‫الميزات‬ ‫من‬ ‫بمجموعة‬:‫ها‬ -‫خوارزمية‬ ‫تطبيق‬Rete.‫األداء‬ ‫عالي‬ ‫وبشكل‬ ‫كامل‬ ‫بشكل‬ -‫المتوقعة‬ ‫والقيود‬ ‫المعادة‬ ‫والقيم‬ ‫للمتحوالت‬ ‫تعريف‬ ‫تؤمن‬Predicate Constraints. -‫شرطية‬ ‫عناصر‬ ‫تحتوي‬Conditional Elements. -‫المنطقية‬ ‫المعامالت‬ ‫على‬ ‫تحتوي‬And, OR, Not‫المقارنة‬ ‫ومعامل‬Eval. -‫المرحلية‬ ‫القواعد‬ ‫وجود‬ ‫تؤمن‬Temporal Rules.‫القواعد‬ ‫من‬ ‫كنتيجة‬ ‫إنشاؤها‬ ‫يتم‬ ‫التي‬ ‫القواعد‬ ‫وهي‬ -.‫وحذف‬ ‫إضافة‬ ‫من‬ ‫العمل‬ ‫وضع‬ ‫في‬ ‫إنشاؤها‬ ‫يتم‬ ‫التي‬ ‫القواعد‬ ‫وهي‬ ‫الديناميكية‬ ‫القواعد‬ ‫وجود‬ ‫تؤمن‬ -.‫والبرنامج‬ ‫عليها‬ ‫العمل‬ ‫يتم‬ ‫التي‬ ‫الذاكرة‬ ‫لعمليات‬ ‫لألحداث‬ ‫وضع‬ ‫تحتوي‬ -‫ال‬ ‫على‬ ‫تحتوي‬.‫توابع‬ -‫عامة‬ ‫بيانات‬ ‫على‬ ‫تحتوي‬ ‫أن‬ ‫يمكن‬Global data. -‫القرار‬ ‫جداول‬ ‫تدعم‬Decision Tables. -‫الـ‬ ‫لغات‬ ‫من‬ ‫لغات‬ ‫عدة‬ ‫تدعم‬.NET -‫التنشيط‬ ‫ومجموعات‬ ‫البرنامج‬ ‫ومجموعات‬ ‫التصادم‬ ‫نتائج‬ :)‫األعمال‬ ‫(جدول‬ ‫البرنامج‬ ‫إدارة‬ ‫إمكانية‬ ‫تحتوي‬ .‫التنشيط‬ ‫ومرشحات‬ -.‫للحقول‬ ‫قيود‬ ‫تتضمن‬ -‫صيانة‬.‫المنطقية‬ ‫الحشر‬ ‫إمكانية‬ ‫مع‬ ‫حقيقية‬ ‫ب‬ ‫الخاصة‬ ‫المميزات‬ ‫لبعض‬ ‫باإلضافة‬‫/التطوير‬ ‫التنقيح‬:‫وهي‬ ، -‫مكتبة‬ ‫تؤمن‬Drools.NET‫التنقيح‬ ‫عملية‬debugging‫توقف‬ ‫نقاط‬ ‫وضع‬ ‫طريق‬ ‫عن‬ ‫وذلك‬ ‫للقواعد‬ breakpoints.‫القواعد‬ ‫ملف‬ ‫في‬ -‫العمل‬ ‫وضع‬ ‫في‬ ‫ديناميكي‬ ‫بمترجم‬ ‫تتميز‬Dynamic runtime compile. -‫الترجمة‬ ‫عملية‬ ‫قبل‬ ‫برمجية‬ ‫حزم‬ ‫ضافة‬ ‫عملية‬ ‫تؤمن‬Precompiled Packages. ‫مكتبة‬ ‫باستخدام‬ ‫خبير‬ ‫نظام‬ ‫محرك‬ ‫إنشاء‬ ‫يتم‬Drools.NET:‫يلي‬ ‫كما‬ Drools.NET example //Step 1: include Drools.NET namespace using org.drools.dotnet.compiler; using org.drools.dotnet.rule; using org.drools.dotnet; //Step 2: Use following steps to create a RuleBase PackageBuilder builder = new PackageBuilder(); Stream stream = new FileStream("SimpleRulesExt.drl", FileMode.Open); builder.AddPackageFromDrl("MinimalDroolsForm.SimpleRules.drl", stream); Package pkg = builder.GetPackage(); RuleBase ruleBase = RuleBaseFactory.NewRuleBase(); ruleBase.AddPackage(pkg); //Step 3: Get an instance of WorkingMemory for the loaded RuleBase workingMemory = ruleBase.NewWorkingMemory(); //Step 4: Assert facts workingMemory.assertObject("Hello"); //Step 5: Fire all Rules workingMemory.fireAllRules();
  • 50.
    ‫الصفحة‬49 ‫الكود‬(4-6)‫باستخدام‬ ‫محرك‬ ‫عن‬‫مثال‬Drools.Net ‫لمكتبة‬ ‫والحقائق‬ ‫القواعد‬ ‫ملف‬ ‫عن‬ ‫كمثال‬Drools.Net: ‫الكود‬(4-7)‫المكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬Drools.Net 4-3‫مكتبة‬NetBPM: [𝟏𝟔] ‫مكتبة‬ ‫من‬ ‫النسخة‬ ‫عن‬ ‫عبارة‬ ‫المكتبة‬ ‫هذه‬JBPM (Java Business Process Management )‫بلغة‬ ‫المكتوبة‬ ‫جافا‬JAVA‫وإدارة‬ ‫وتطوير‬ ‫وتتنفيذ‬ ‫لبناء‬ ‫المصدر‬ ‫ومفتوحة‬ ‫مجانية‬ ‫نسخة‬ ‫وهي‬ ، ‫تطبيقات‬ ‫مع‬ ‫وتوافقها‬ ‫ببسطاتها‬ ‫وتتميز‬ ،‫التدفقية‬ ‫األعمال‬.NET‫األخرى‬،‫ميزات‬ ‫أهم‬ :‫المكتبة‬ -‫بيئة‬ ‫تدعم‬.NET‫كامل‬ ‫بشكل‬100%. -‫كامل‬ ‫بشكل‬ ‫المصدر‬ ‫مفتوحة‬100%. -‫منصتي‬ ‫على‬ ‫تعمل‬Microsoft .Net‫ومنصة‬Mono. -‫في‬ ‫قوة‬.‫المرونة‬ ‫مع‬ ‫آلي‬ ‫وبشكل‬ ‫المعالجة‬ ‫عملية‬ -‫النشاطات‬ ‫مراقبة‬ ‫عمليات‬ ‫تدعم‬Business Activity Monitoring. ‫مكتبة‬ ‫إن‬NetPbm‫بـ‬ ‫المحرك‬ ‫هذا‬ ‫يدعى‬ ،‫للتوسعة‬ ‫وبقابليته‬ ‫بمرونته‬ ‫ويتميز‬ ‫نادر‬ ‫تدفقي‬ ‫نموذج‬ ‫تطبق‬workflow management system (WFMS). Drools.NET Rules Base example package MinimalDroolsForm rule "LargeOrder" when ustOrder : CustomerRecord( Value > 50 ) then MinimalDroolsForm.Form1.debugResult("Large Order"); end rule "OldCustomer" when cust: CustomerRecord(DaysSinceLastOrder>90, Status!="Re-Active") then MinimalDroolsForm.Form1.debugResult("Old Customer"); cust.Status = "Re-Active"; modify(cust); end rule "Discount" when Disc : CustomerRecord( Value > 50, Status == "Re-Active" ) then MinimalDroolsForm.Form1.debugResult("Offer WELCOME BACK Special" ); end
  • 51.
    ‫الصفحة‬50 ‫كبي‬ ‫بشكل‬ ‫مشابه‬‫المحرك‬ ‫هذا‬ ‫شكل‬ ‫إن‬‫اآللة‬ ‫وحاالت‬ ‫التدفقية‬ ‫المخططات‬ ‫إلى‬ ‫ر‬Machine state‫بداية‬ ‫حالة‬ ‫من‬ ‫يتكون‬ ‫حيث‬ ، .‫والحلقات‬ ‫المتنوعة‬ ‫الحاالت‬ ‫من‬ ‫مجموعة‬ ‫وبينهما‬ ‫نهاية‬ ‫وحالة‬ ‫العمليات‬ ‫سير‬ ‫لعملية‬ ‫مخططات‬ ‫إنشاء‬ ‫المكتبة‬ ‫مهمة‬ ‫تكون‬Process‫بصيغة‬ ‫مكتوب‬ ‫ملف‬ ‫خالل‬ ‫من‬XML‫هذه‬ ‫على‬ ‫وكمثال‬ ، :‫المخططات‬ ‫الشكل‬(4-4‫مكتبة‬ ‫قواعد‬ ‫عن‬ ‫مثال‬ )[16] NetBpm ‫المكونات‬ ‫هذه‬ ‫من‬ ‫مكون‬ ‫كل‬ ،‫المكتبة‬ ‫لتشكل‬ ‫بعضها‬ ‫مع‬ ‫تتكامل‬ ،‫المكونات‬ ‫من‬ ‫مجموعة‬ ‫من‬ ‫مزيج‬ ‫وكأنها‬ ‫المكتبة‬ ‫إلى‬ ‫النظر‬ ‫يمكن‬ .‫المعالم‬ ‫واضحة‬ ‫واجهة‬ ‫له‬ ‫(المعال‬ ‫التنفيذ‬ ‫بين‬ ‫التبديل‬ ‫طريق‬ ‫عن‬ ‫مستمر‬ ‫بشكل‬ ‫يتم‬ ‫القواعد‬ ‫ومعالجة‬ ‫تنفيذ‬ ‫عملية‬ ‫إن‬‫يت‬ ‫التي‬ ‫القواعد‬ ‫وانتظار‬ )‫جة‬‫من‬ ‫إدخالها‬ ‫م‬ .‫مباشرة‬ ‫إضافتها‬ ‫عند‬ ‫القواعد‬ ‫معالجة‬ ‫يتم‬ ‫حيث‬ ،‫الخارجيين‬ ‫المستخدمين‬ ‫قبل‬ ‫يسمى‬ ‫ما‬ ‫استخدام‬ ‫يتم‬ ‫حيث‬ ،‫التطبيق‬ ‫عبر‬ ‫المعالجة‬ ‫قواعد‬ ‫توصيف‬ ‫بإضافة‬ ‫للمستخدمين‬ ‫يسمح‬ ‫االول‬ ‫المكون‬NetBpm Process Definition Language (nPdl). ‫الستخدامه‬ ‫وقوي‬ ‫بسيط‬ ‫التوصيف‬ ‫هذا‬ ‫إن‬XML‫استخدام‬ ‫يتم‬ ‫التوصيف‬ ‫هذا‬ ‫في‬ ،‫اإلنسان‬ ‫قبل‬ ‫من‬ ‫للقراءة‬ ‫بقابليته‬ ‫يتميز‬ ‫أيضا‬ ، ‫يسمى‬ ‫ما‬ ‫بداخل‬ ‫محتواة‬ ‫تكون‬ ‫والتي‬ ‫واحدة‬ ‫عملية‬process archive‫للعمليات‬ ‫حاوي‬ ‫يعتبر‬ ‫مضغوط‬ ‫ملف‬ ‫عن‬ ‫عبارة‬ ‫وهو‬ .‫العملية‬ ‫معلومات‬ ‫كافة‬ ‫ويحتوي‬ ‫ملف‬Process archives‫ب‬ ‫الخاصة‬ ‫الواجهة‬ ‫تتفعل‬ ‫نشره‬ ‫وبعد‬ ،‫التطبيق‬ ‫داخل‬ ‫ونشره‬ ‫أوتوماتيكيا‬ ‫إنشاءه‬ ‫يتم‬‫الث‬ ‫المكون‬‫وهي‬ ،‫اني‬ .‫للعملية‬ ‫القراءة‬ ‫بمرحلة‬ ‫المرحلة‬ ‫هذه‬ ‫وتدعى‬ ‫الخارجيين‬ ‫المستخدمين‬ ‫قبل‬ ‫من‬ ‫القواعد‬ ‫بإدخال‬ ‫الخاصة‬ ‫الواجهة‬ ‫تبدأ‬ ‫المرحلة‬ ‫هذه‬ ‫إنجاز‬ ‫يتم‬ ‫عندما‬NetBpm‫المشغلين‬ ‫وإسناد‬ ‫العملية‬ ‫من‬ ‫التالية‬ ‫الحالة‬ ‫بحساب‬actors‫النشاطات‬ ‫إلى‬activities ‫إ‬ ‫يتم‬ ‫أن‬ ‫يجب‬ ‫والتي‬.‫نجازها‬ ‫تقوم‬ ‫حيث‬ ،‫الحسابات‬ ‫إجراء‬ ‫يتم‬ ‫حين‬ ‫المشاهد‬ ‫هذه‬ ‫خلف‬ ‫في‬ ‫تحدث‬ ‫مهمة‬ ‫أحداث‬NetBpm.‫األحداث‬ ‫هذه‬ ‫بقدح‬
  • 52.
    ‫الصفحة‬51 :‫التالي‬ ‫بالمخطط‬ ‫العمليات‬‫هذه‬ ‫تمثيل‬ ‫يمكن‬ ( ‫الشكل‬4-5)‫المكتبة‬ ‫عمليات‬[16] NetBpm ‫الت‬ ‫بالشكل‬ ‫المخطط‬ ‫هذا‬ ‫يظهر‬ ،‫تدفقي‬ ‫لمخطط‬ ‫توصيف‬ ‫عن‬ ‫مثاال‬ ‫لنأخذ‬‫وتظهر‬ ،‫الي‬‫الجانب‬ ‫في‬ ‫المخطط‬ ‫إن‬ ،‫يمثله‬ ‫الذي‬ ‫الكود‬ ‫معه‬ .‫سوداء‬ ‫نقطة‬ ‫تحتوي‬ ‫التي‬ ‫البيضاء‬ ‫الدائرة‬ ‫وهي‬ ،‫النهاية‬ ‫حالة‬ ‫ويظهر‬ ،‫األسود‬ ‫باللون‬ ‫المطموسة‬ ‫النقطة‬ ‫وهي‬ ‫البداية‬ ‫حالة‬ ‫يظهر‬ .‫ما‬ ‫شرط‬ ‫ينعدم‬ ‫أن‬ ‫إلى‬ ‫تستمر‬ ‫حلقة‬ ‫تنفيذ‬ ‫الكود‬ ‫في‬ ‫يتم‬
  • 53.
    ‫الصفحة‬52 ‫الكود‬(4-8)‫للمكتبة‬ ‫قاعدة‬ ‫عن‬‫مثال‬NetBpm 4-4‫مكتبة‬FlexRule: NetPBM workflow example <process-definition> <name>Test NetBpm</name> <description>This is the simples process.</description> <start-state name="start"> <transition to="first activity state" /> </start-state> <end-state name="end" /> <attribute name="evaluation result" serializer= "NetBpm.Workflow.Delegation.Impl.Serializer.EvaluationSerializer, NetBpm" /> <attribute name="the text attrib" type="text" initial-value=":-)" /> <activity-state name="first activity state"> <description>this is the first state</description> <assignment handler= "NetBpm.Workflow.Delegation.Impl.Assignment .AssignmentExpressionResolver, NetBpm"> <parameter name="expression">processInitiator</parameter> </assignment> <transition to="the looping decision"> <action event="transition" handler="NetBpm.Example.Delegate.HelloWorldAction, NetBpm.Example" /> </transition> </activity-state> <decision name="the looping decision" handler="NetBpm.Workflow.Delegation.Impl.Decision.EvaluationDecision, NetBpm"> <parameter name="attribute">evaluation result</parameter> <transition name="disapprove" to="first activity state" /> <transition name="approve" to="end" /> </decision> </process-definition
  • 54.
    ‫الصفحة‬53 [𝟏𝟕] ‫مكتبة‬ ‫تعتبر‬FlexRule‫إدارة‬ ‫وفي‬،‫الخبيرة‬ ‫والنظم‬ ‫العمل‬ ‫قواعد‬ ‫محركات‬ ‫ببناء‬ ‫والمتخصصة‬ ‫الحديثة‬ ‫المكتبات‬ ‫من‬ ‫يريدون‬ ‫اللذين‬ ‫والمطورين‬ ‫للمصممين‬ ‫موجهة‬ ‫المكتبة‬ ‫وتعتبر‬ ،‫التدفقي‬ ‫المحرك‬ ‫مكونات‬ ‫و‬ ‫العمل‬ ‫قواعد‬ ‫بها‬ ‫تزود‬ ‫التي‬ ‫العمليات‬ .‫وقوية‬ ‫مرنة‬ ‫تطبيقات‬ ‫إنشاء‬ ‫مكتبة‬ ‫تحتوي‬FlexRule‫وا‬ ‫مجموعة‬ ‫على‬‫محركات‬ ‫من‬ ‫سعة‬ ‫القواعد‬ ‫مع‬ ‫المحركات‬ ‫هذه‬ ‫تتعامل‬ ،‫القواعد‬ ‫ومعالجة‬ ‫االستدالل‬ ‫المطورين‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫نفسها‬ ‫بالطريقة‬ ‫وتعالجها‬ ‫المنطقية‬ .‫بهم‬ ‫الخاصة‬ ‫للقواعد‬ ‫معايير‬ ‫إنشاء‬ ‫في‬ ‫والمصممين‬ ‫مكتبة‬ ‫تزود‬FlexRule:‫التالية‬ ‫بالمحركات‬ ›‫إجراءي‬ ‫محرك‬Procedural Execution Engine. ›‫استداللي‬ ‫محرك‬Inference Engine. ›( ‫بنية‬ ‫على‬ ‫يعتمد‬ ‫تدفقي‬ ‫محرك‬if/Else‫وهو‬ )Flow Engine. ›‫التدفقية‬ ‫بالمخططات‬ ‫شبيه‬ ‫محرك‬Worflow Engine. ›‫تأكيدي‬ ‫محرك‬Validation Engine. ›‫القرارات‬ ‫باتخاذ‬ ‫خاص‬ ‫جدول‬ ‫على‬ ‫يعتمد‬ ‫محرك‬Decision Table. ‫بحيث‬ ‫بنائها‬ ‫تم‬ ‫المحركات‬ ‫هذه‬ ‫كل‬.‫الخاص‬ ‫تطبيقه‬ ‫ضمن‬ ‫ووضعها‬ ‫تطويها‬ ‫من‬ ‫للمكتبة‬ ‫المستخدم‬ ‫وبإمكان‬ ،‫للتوسع‬ ‫قابلة‬ ‫تكون‬ ( ‫الشكل‬4-6)‫مكتبة‬ ‫محركات‬FlexRule ‫القواعد‬ ‫بناء‬ ‫يتم‬‫مكتبة‬ ‫في‬FlexRule‫باستخدام‬3:‫هي‬ ‫طرق‬ -‫لغة‬ ‫باستخدام‬S-Expression. -‫بلغة‬ ‫مبني‬ ‫ملف‬ ‫باستخدام‬XML. -‫المطور‬ ‫لغة‬ ‫باستخدام‬ ‫أو‬.‫المكتبة‬ ‫إلى‬ ‫ويدخلها‬ ‫الخاصة‬ ‫لغته‬ ‫يكتب‬ ‫أن‬ ‫للمطور‬ ‫يمكن‬ ‫حيث‬ :‫الخاصة‬
  • 55.
    ‫الصفحة‬54 ( ‫الشكل‬4-7)‫في‬ ‫المعارف‬‫تمثيل‬ ‫طرق‬[17] FlexRule ‫مكتبة‬ ‫في‬ ‫القواعد‬ ‫تمثيل‬ ‫طريقة‬ ‫عن‬ ‫وكمثال‬FlexRule:‫التالي‬ ‫المثال‬ ‫نأخذ‬ ‫الكود‬(4-9)‫قاعدة‬ ‫عن‬ ‫مثال‬XML‫للمكتبة‬FlexRule ‫طريقة‬ ‫باستخدام‬ ‫ولكن‬ ‫نفسها‬ ‫السابقة‬ ‫القواعد‬ ‫لكتابة‬S-Expression: XML for FlexRule example <inference> <reference assembly="FlexRule.Samples.PersonAge.exe"/> <import type="FlexRule.Samples.Person" /> <import type="FlexRule.Samples.Gender" /> <import type="System.Console" /> <defrule name="older and younger"> <match type="Person" variable="older"> <e>e.Sex == Gender.Female</e> </match> <match type="Person" variable="younger"> <p>p.Age &lt; older.Age</p> <o>o.Sex == Gender.Male</o> </match> <then/> <action context="ctx" name="Print result"> <execute>Console.WriteLine("{0} ({1}) is older than {2} ({3})", older.Name, older.Age, younger.Name, younger.Age)</execute> </action> </defrule> </inference> S-Expression Rule example
  • 56.
    ‫الصفحة‬55 ‫الكود‬(4-9)‫قاعدة‬ ‫عن‬ ‫مثال‬XML‫للمكتبة‬FlexRule 4-5‫م‬‫كتبة‬cDevWorkflow: [𝟏𝟖] ‫نسخة‬‫على‬ ‫الحصول‬ ‫يمكن‬ ‫ولكن‬ ،‫تجارية‬ ‫أصبحت‬ ‫فقد‬ ‫حاليا‬ ‫أما‬ ،‫السابق‬ ‫في‬ ‫المصدر‬ ‫مفتوحة‬ ‫كانت‬ ‫المكتبة‬ ‫هذه‬ .‫واحد‬ ‫شهر‬ ‫لمدة‬ ‫واستخدامها‬ ‫المكتبة‬ ‫من‬ ‫تجريبية‬ ‫مكتبة‬ ‫تستخدم‬cDevWorkflow.‫جدا‬ ‫وبسيط‬ ‫رسومي‬ ‫وبشكل‬ ‫رسومية‬ ‫مخططات‬ ‫بناء‬ ‫أجل‬ ‫من‬ :‫أهمها‬ ،‫الخصائص‬ ‫ببعض‬ ‫المكتبة‬ ‫تتمتع‬ -.‫التنفيذ‬ ‫عملية‬ ‫في‬ ‫السهولة‬ -‫الجيد‬ ‫الدعم‬‫و‬ ،‫ال‬‫توافق‬‫ال‬.‫قوي‬ -‫لغات‬ ‫مع‬ ‫متوافقة‬.NET‫مثل‬ ‫األخرى‬ ‫العمل‬ ‫ومنصات‬ ((Oracle, SharePoint, JAVA, PHP. -‫المعمارية‬ ‫البنية‬ ‫تدعم‬multi-tenant. -.‫المكتبة‬ ‫لمستخدمي‬ ‫مخصص‬ ‫مجتمع‬ ‫تبنوا‬ ‫المكتبة‬ ‫عن‬ ‫المسؤولين‬ :‫للرابط‬ ‫الذهاب‬ ‫عبر‬ ‫المكتبة‬ ‫على‬ ‫الحصول‬ ‫يمكن‬http://www.cdevworkflow.com/ 4-6‫مكتبة‬NGinn.BPM: (inference (reference (@assembly "FlexRule.Samples.PersonAge.exe")) (import (@type FlexRule.Samples.Person)) (import (@type FlexRule.Samples.Gender)) (import (@type System.Console)) (defrule (@name "older and younger") (match (@type Person) (@variable older) (e "e.Sex == Gender.Female") ) (match (@type Person) (@variable younger) (p "p.Age < older.Age") (o "o.Sex == Gender.Male") ) -> (action (@context ctx) (@name "Print result") (execute 'Console.WriteLine("{0} ({1}) is older than {2} ({3})", older.Name, older.Age, younger.Name, younger.Age)') ) ) )
  • 57.
    ‫الصفحة‬56 [22] ،‫القواعد‬ ‫لتحليل‬ ‫تدفقية‬‫عمليات‬ ‫وبناء‬ ‫بالقواعد‬ ‫الخاصة‬ ‫العمليات‬ ‫وإدارة‬ ‫المحاكاة‬ ‫عمليات‬ ‫في‬ ‫متخصصة‬ ‫مكتبة‬ ‫عن‬ ‫عبارة‬ ‫بيتري‬ ‫شبكات‬ ‫على‬ ‫تعتمد‬ ‫خفيفة‬ ‫نسخة‬ ‫عن‬ ‫عبارة‬ ‫وهي‬Petri nets‫من‬ ‫أفكارها‬ ‫بعض‬ ‫وأخذت‬BPMN. ،‫االتصاالت‬ ‫عمليات‬ ‫مثل‬ ،‫الضخمة‬ ‫العمليات‬ ‫أتمتة‬ ‫على‬ ‫المكتبة‬ ‫تساعد‬‫بعمل‬ ‫شبيه‬ ‫تدفقي‬ ‫عمل‬ ‫مخطط‬ ‫لبناء‬ ‫سماحيتها‬ ‫عبر‬ ‫وذلك‬ ‫بالت‬ ‫ويقوم‬ ،‫اإلنسان‬‫التطبيقات‬ ‫بين‬ ‫البيانات‬ ‫بنقل‬ ‫حكم‬‫و‬ ،‫للتواف‬ ‫قابل‬ ‫وسهل‬ ،‫بسيط‬ ،‫مرن‬ ‫تصميم‬ ‫هو‬ ‫المكتبة‬ ‫من‬ ‫األساسي‬ ‫الهدف‬.‫قية‬ ‫لغة‬ ‫باستخدام‬ ‫وخصوصا‬ ،‫دائم‬ ‫بشكل‬ ‫المكتبة‬ ‫تطوير‬ ‫يتم‬C#‫البيانات‬ ‫قاعدة‬ ‫وباستخدام‬MS SQL‫التي‬.‫الخلفية‬ ‫في‬ ‫تعمل‬ ‫مكتبة‬ ‫تستخدم‬NGinn.BPM‫ملفات‬BPMN/XPDL.‫القواعد‬ ‫لتمثيل‬ :‫هي‬ ‫للمكتبة‬ ‫األساسية‬ ‫الخصائص‬ -‫خفيفة‬ ‫مكتبة‬Ligtweight.‫خارجية‬ ‫مكتبات‬ ‫على‬ ‫اعتمادية‬ ‫دون‬ ‫من‬ ‫تطبيق‬ ‫أي‬ ‫ضمن‬ ‫تضمينها‬ ‫في‬ ‫سهولة‬ ‫تؤمن‬ ‫حيث‬ : -‫الـ‬ ‫ميزات‬ ‫تؤمن‬ACID‫وهي‬‫البيانات‬ ‫(متانة‬ ‫طويلة‬ ‫فترات‬ ‫على‬ ‫للعمل‬ ‫قابلة‬ ‫تجعلها‬ ‫عمليات‬data durability، ‫اآلنية‬ ‫التحديثات‬atomic updates)....‫كبيرة‬ ‫ومتانة‬ ‫موثوقية‬ ،‫ما‬ ‫فشل‬ ‫أو‬ ‫عطل‬ ‫حدوث‬ ‫حال‬ ‫في‬ ‫المتانة‬ ، -‫تدعم‬BPMN.‫كامل‬ ‫بشكل‬ -.‫للتوسيع‬ ‫وقابلة‬ ‫قوية‬ -‫تس‬ ‫التي‬ ‫بالذاكرة‬ ‫التحكم‬ ‫حيث‬ ‫من‬ ‫جيد‬ ‫أداء‬ ‫ذات‬.‫تخدمها‬ 4-7‫مكتبة‬Workflow Engine.Net: [𝟐𝟏] ‫البرمجة‬ ‫لغة‬ ‫باستخدام‬ ‫المكتبة‬ ‫تصميم‬ ‫تم‬C#.NET‫ال‬ ‫هذه‬ ‫تستخدم‬ ‫حيث‬ ،،‫الحالة‬ ‫مخططات‬ ‫بناء‬ ‫أجل‬ ‫من‬ ‫مكتبة‬ ‫و‬‫لغة‬ ‫باستخدام‬ ‫وتمثيلها‬ ‫بالعمليات‬ ‫الخاصة‬ ‫المخططات‬ ‫تصميم‬ ‫يتم‬XML‫للمخططات‬ ‫المرئي‬ ‫التصميم‬ ‫رؤية‬ ‫الممكن‬ ‫من‬ ‫أيضا‬ ، ‫على‬ ‫اعتمادا‬ ‫وذلك‬HTML5‫و‬JavaScript. :‫أمور‬ ‫عدة‬ ‫المكتبة‬ ‫تبنيه‬ ‫الذي‬ ‫التدفقي‬ ‫العمليات‬ ‫مخطط‬ ‫يتضمن‬ ‫أن‬ ‫يمكن‬ -‫و‬ ،‫الحالية‬ ‫الحالة‬ ‫من‬ ‫التحقق‬.‫المستخدم‬ ‫ثبوتية‬ ‫تحديد‬ -‫مخطط‬ ‫تنفيذ‬‫شرطي‬condition script. -‫المؤقتات‬Timers. -‫ا‬ ‫تحديد‬‫لمشغلين‬Actors.‫العمليات‬ ‫ينفذون‬ ‫اللذين‬ ‫وهم‬ -‫و‬ ‫البارمترات‬ ‫تحديد‬.‫األوامر‬ ‫تحديد‬ -‫العمليات‬ ‫تحديد‬Actions.‫الخارج‬ ‫من‬ ‫تنفيذها‬ ‫يتم‬ ‫التي‬ ‫اإلجراءات‬ ‫وهي‬ -‫النشاطات‬ ‫تحديد‬Activities‫و‬ ،‫االنتقاالت‬ ‫تحديد‬Transitions. ‫بعض‬ ‫المكتبة‬ ‫تحتوي‬‫العامة‬ ‫السمات‬‫وهي‬: -‫المخطط‬ ‫تصميم‬ ‫إمكانية‬.‫رسومي‬ ‫بشكل‬ ‫ات‬ -.‫استبداله‬ ‫حتى‬ ‫أو‬ ‫وإضافة‬ ‫تعديل‬ ‫من‬ ‫التشغيل‬ ‫وقت‬ ‫في‬ ‫العمل‬ ‫مخطط‬ ‫تغيير‬ ‫الممكن‬ ‫من‬ -)‫الحالة‬ ‫على‬ ‫التغيير‬ ‫دون‬ ‫النهاية‬ ‫حالة‬ ‫إلى‬ ‫البداية‬ ‫حالة‬ ‫من‬ ‫العملية‬ ‫(تنفيذ‬ ‫للعمليات‬ ‫المسبق‬ ‫التنفيذ‬. -.‫العمل‬ ‫مخططات‬ ‫مستوى‬ ‫على‬ ‫للتطوير‬ ‫وقابلة‬ ‫بسيطة‬ ‫نسخة‬ ‫يعتبر‬ -‫وقابل‬ ‫تسلسلية‬.‫الحاجة‬ ‫عند‬ ‫البارمترات‬ ‫من‬ ‫للتخفيف‬ ‫ة‬ 4-8‫مكتبة‬SRE (Simple Rule Engine):
  • 58.
    ‫الصفحة‬57 [𝟐𝟑] ‫خوارزمية‬ ‫تستخدم‬ ‫خفيفة‬‫مكتبة‬ ‫عن‬ ‫عبارة‬forward chaining‫على‬ ‫للعمل‬ ‫ومخصصة‬ ،‫االستدالل‬ ‫عمليات‬ ‫أجل‬ ‫من‬ ‫بيئة‬.NET‫للغة‬ ‫استخدامها‬ ‫من‬ ‫تأتي‬ ‫والتي‬ ‫بسهولتها‬ ‫وتتميز‬XML<‫بإمكانها‬ ‫البساطة‬ ‫هذه‬ ‫ولكن‬ ،‫والحقائق‬ ‫القواعد‬ ‫تمثيل‬ ‫في‬ .‫المعقدة‬ ‫العمليات‬ ‫وحل‬ ‫إنجاز‬ 4-9‫مكتبة‬Stateless: [𝟐𝟎] ‫الـ‬ ‫إنشاء‬ ‫في‬ ‫متخصصة‬ ‫مكتبة‬state machines‫العمل‬ ‫طريقة‬ ‫تمثل‬ ‫تدفقية‬ ‫مخططات‬ ‫بناء‬ ‫على‬ ‫أساسي‬ ‫بشكل‬ ‫وتعتمد‬ ‫لغة‬ ‫باستخدام‬ ‫مباشرة‬ ‫كتابتها‬ ‫يمكن‬ ‫والتي‬C#. 4-10‫مكتبة‬Softix.Orchestration: [𝟏𝟗] ‫محرك‬ ‫على‬ ‫تعتمد‬ ‫بسيطة‬ ‫مكتبة‬workflow‫بلغات‬ ‫وكتبت‬.NET‫المخططات‬ ‫وتشغيل‬ ‫بإنشاء‬ ‫للمبرمجين‬ ‫لتسمح‬ .‫التدفقية‬
  • 59.
    ‫الصفحة‬58 ‫الفصل‬‫الخامس‬: ‫الحديثة‬ ‫الويب‬ ‫تقنيات‬ :‫الفصل‬‫هذا‬ ‫في‬ ›.‫الويب‬ ‫تطبيقات‬ ‫بناء‬ ›‫تقنية‬ASP. ›‫تقنية‬AJAX. ›‫مكتبة‬JQUERY. ›‫مكتبة‬BOOTSTRAP.
  • 60.
    ‫الصفحة‬59 ‫الفصل‬‫الخامس‬-:‫الحديثة‬ ‫الويب‬ ‫تقنيات‬ 5-1‫الويب‬‫تطبيقات‬ ‫بناء‬Web application: ‫تطبيقات‬ ‫جعلت‬ ‫التي‬ ‫واللغات‬ ‫التقنيات‬ ‫ظهور‬ ‫بعد‬ ‫خصوصا‬ ‫واضحا‬ ‫األنترنيت‬ ‫على‬ ‫تعمل‬ ‫تطبيقات‬ ‫بتصميم‬ ‫االهتمام‬ ‫أصبح‬ ‫على‬ ‫تعمل‬ ‫عادية‬ ‫مكتبية‬ ‫تطبيقات‬ ‫وكأنها‬ ‫تعمل‬ ‫األنترنيت‬‫تحل‬ ‫ال‬ ‫بميزات‬ ‫األنترنيت‬ ‫تطبيقات‬ ‫اتسمت‬ ‫حتى‬ ‫بل‬ ،‫الحواسيب‬ ‫أجهزة‬‫م‬ .‫العالم‬ ‫في‬ ‫منطقة‬ ‫أي‬ ‫إلى‬ ‫مفتوحة‬ ‫عالمية‬ ‫منصة‬ ‫على‬ ‫وجودها‬ ‫وخاصة‬ ‫المكتبية‬ ‫التطبيقات‬ ‫بها‬ ‫لغة‬ ‫هي‬ ‫الويب‬ ‫مواقع‬ ‫تصميم‬ ‫بواسطتها‬ ‫يتم‬ ‫التي‬ ‫اللغة‬ ‫إن‬HTML‫للجملة‬ ‫اختصار‬ ‫وهي‬(Hypertext Markup Language) ‫مثل‬ ‫مثلها‬ ‫رمزية‬ ‫لغة‬ ‫وتعتبر‬XML‫لغة‬ ‫وهو‬ ‫واحد‬ ‫منشأهما‬ ‫و‬LGPL. ( ‫نصوص‬ ‫من‬ ‫اللغة‬ ‫هذه‬ ‫تتكون‬texts( ‫ورموز‬ ،)tags( ‫الوثيقة‬ ‫بعناصر‬ ‫تحيط‬ )document elements.‫معين‬ ‫رابط‬ ‫على‬ ‫النقر‬ ‫عند‬ ‫عمله‬ ‫ينبغي‬ ‫ما‬ ‫ض‬ ِ‫المستعر‬ ‫للبرنامج‬ ‫اللغة‬ ‫هذه‬ ‫وتبين‬ ،‫وتحددها‬ ) ‫والواقع‬‫لغة‬ ‫أن‬HTML‫المعايير‬ ‫مع‬ ً‫ا‬‫تطابق‬ ‫وأكثرها‬ ،‫الويب‬ ‫مجال‬ ‫في‬ ‫شيوعا‬ ‫اللغات‬ ‫أكثر‬ ‫من‬ ‫هي‬ ،‫المجال‬ ‫هذا‬ ‫في‬ ‫دة‬َ‫م‬َ‫ت‬‫المع‬‫لهاهو‬ ‫إصدار‬ ‫وآخر‬HTML5. ‫ملفات‬ ‫تكتب‬HTML( ‫بسيطة‬ ‫نصوص‬ ‫ملفات‬ ‫صورة‬ ‫في‬Plain Text‫االمتداد‬ ‫تأخذ‬ ،)html‫أو‬ ‫عادة‬ ‫االمتداد‬htm.‫النصوص‬ ‫بكتابة‬ ‫متخصص‬ ‫برنامج‬ ‫أي‬ ‫في‬ ‫وتكتب‬ ، ‫ك‬‫بلغة‬ ‫مكتوب‬ ‫كود‬ ‫عن‬ ‫مثال‬HTML: ‫الكود‬(5-1)‫كود‬ ‫عن‬ ‫مثال‬HTML HTML code <html> <head><title>Pgae Title</title></head> <body> <br> <form name="form1"> <table border="0"> <tr> <td>Name</td> <td><input type="text" name="textname" size="10"></td> </tr> <tr> <td>Password</td> <td><input type="password" name="textpass" size="10"></td> </tr> </table> <br> <input name="button1" type="button" value="do anything();"> &nbsp;&nbsp;&nbsp; <input type="reset" value="Clear"> </form> </body> </html>
  • 61.
    ‫الصفحة‬60 ‫باستخدام‬ ‫كتابته‬ ‫يمكن‬‫شكل‬ ‫ولون‬ ‫حجم‬ ‫من‬ ‫الصفحة‬ ‫على‬ ‫المتوضعة‬ ‫األدوات‬ ‫تنسيق‬ ‫إن‬HTML‫وضع‬ ‫يتم‬ ‫ما‬ ‫غالبا‬ ‫ولكن‬ ‫تسمى‬ ‫بلغة‬ ‫مكتوب‬ ‫خاص‬ ‫ملف‬ ‫ضمن‬ ‫الويب‬ ‫صفحة‬ ‫بمحتوى‬ ‫الخاص‬ ‫التنسيق‬CSS‫لـ‬ ‫اختصار‬ ‫وهي‬(Cascade Style Sheet)‫االنسيابية‬ ‫األنماط‬ ‫صفحات‬ ‫أي‬.[5] ‫تعتبر‬‫لغة‬CSS‫هو‬ ‫لها‬ ‫إصدار‬ ‫وآخر‬ ،‫تحتويها‬ ‫التي‬ ‫واأللوان‬ ‫األدوات‬ ‫تنسيق‬ ‫توضيح‬ ‫في‬ ‫متخصصة‬ ‫وهي‬ ‫بسيطة‬CSS 3. ‫تنسيق‬ ‫على‬ ‫وكمثال‬CSS:‫التالي‬ ‫الكود‬ ‫الكود‬(5-2)‫كود‬ ‫عن‬ ‫مثال‬CSS ‫باستخدام‬ ‫المكتوبة‬ ‫الصفحة‬HTML‫األوامر‬ ‫بعض‬ ‫وتنفذ‬ ‫روح‬ ‫ذات‬ ‫نجعلها‬ ‫ولكي‬ ،‫فيها‬ ‫روح‬ ‫ال‬ ‫ثابتة‬ ‫صفحة‬ ‫تكون‬ ‫فقط‬ ‫الـ‬ ‫لغة‬ ‫وأشهرها‬ ‫العميل‬ ‫بجهة‬ ‫الخاصة‬ ‫لغات‬ ‫إحدى‬ ‫نستخدم‬ ‫المستخدم‬ ‫بها‬ ‫يقوم‬ ‫التي‬ ‫العمليات‬ ‫بحسب‬JavaScript‫وهي‬ ، ‫لغة‬‫برمجة‬‫نصية‬Script‫صممت‬ ،‫إلضافة‬‫التفاعلية‬‫لصفحات‬HTML‫وهي‬ ،‫عبارة‬‫عن‬‫أسطر‬‫قاب‬‫لة‬‫ويتم‬ ‫للتنفيذ‬‫تضمينها‬ ‫مباشرة‬‫في‬‫صفحات‬HTML‫من‬ ‫لترخيص‬ ‫حاجة‬ ‫هناك‬ ‫وليس‬ ،‫المشهورة‬ ‫الويب‬ ‫متصفحات‬ ‫كافة‬ ‫من‬ ‫مدعومة‬ ‫بأنها‬ ‫وتتميز‬ ، .‫استخدامها‬ ‫أجل‬ ‫لغة‬ ‫تلعب‬JavaScript‫دور‬‫حيوي‬‫وفعال‬‫في‬‫صفحات‬‫الويب‬‫من‬‫خالل‬‫بوظائف‬ ‫القيام‬‫قد‬‫تكون‬‫خارجية‬‫أو‬‫داخلية‬‫وتتميز‬ ‫بمرونتها‬‫إلى‬‫درجة‬‫التحكم‬ ‫على‬ ‫قادرا‬ ‫المبرمج‬ ‫تجعل‬‫بكل‬‫جزء‬‫من‬‫صفحة‬ ‫أجزاء‬‫الويب‬‫مثال‬‫في‬‫الـ‬forms‫النوافذ‬ ‫في‬ ‫أو‬ ‫التي‬‫تخرج‬‫للمستخدم‬‫لتخبره‬‫بأمر‬‫أو‬ ‫معين‬‫تنبهه‬‫وغيرها‬‫من‬‫االستخدامات‬‫تعد‬‫الروح‬‫التي‬‫يبثها‬‫مطور‬‫الويب‬‫في‬‫صفحاته‬ ‫برمجتها‬ ‫اثناء‬‫و‬ ،‫بلغة‬ ‫مكتوب‬ ‫كود‬ ‫عن‬ ‫كمثال‬Java Script:‫التالي‬ ‫المثال‬ ‫الكود‬(5-3)‫كود‬ ‫عن‬ ‫مثال‬JavaScript CSS code <style type = "text/css"> body { background-color: #ccffcc } div { text-align: center; margin-bottom: 1em; padding: .5em } .thick { border-width: thick } .medium { border-width: medium } .thin { border-width: thin } .groove { border-style: groove } .inset { border-style: inset } .outset { border-style: outset } </style> JScript code <script language="javascript"> function doCheck() { if(form1.textname.value!="" || form1.textpass.value!=""){ alert(form1.textname.value); document.write(form1.textpass.value); } else alert("enter data first !"); } </script>
  • 62.
    ‫الصفحة‬61 ‫كود‬ ‫بإضافة‬ ‫نقوم‬‫األخرى‬ ‫المتقدمة‬ ‫واألشياء‬ ‫البيانات‬ ‫قواعد‬ ‫مع‬ ‫التعامل‬ ‫بإمكانها‬ ‫وتصبح‬ ‫أكثر‬ ‫ديناميكية‬ ‫الصفحة‬ ‫نجعل‬ ‫لكي‬ ‫لغة‬ ‫عليها‬ ‫ومثال‬ ،‫المخدم‬ ‫برمجة‬ ‫لغات‬ ‫تدعى‬ ‫والتي‬ ‫المتقدمة‬ ‫البرمجة‬ ‫لغات‬ ‫بإحدى‬ ‫مكتوب‬PHP‫أو‬‫تقنية‬ASP.NET‫وهي‬ ‫صفحا‬ ‫لبرمجة‬ ‫مخصصة‬ ‫برمجية‬ ‫لغات‬ ‫عن‬ ‫عبارة‬.‫المخدم‬ ‫جهة‬ ‫من‬ ‫الويب‬ ‫ت‬ :‫وهي‬ ‫رئيسية‬ ‫أنواع‬ ‫ثالثة‬ ‫إلى‬ ‫الويب‬ ‫مواقع‬ ‫تقسيم‬ ‫يمكننا‬ ‫سابقا‬ ‫تبين‬ ‫وبما‬ 1.‫مواقع‬‫ثابتة‬Static page‫تكون‬ ‫التي‬ ‫المواقع‬ ‫وهي‬ :‫عبارة‬‫عن‬‫مجموعة‬‫من‬‫التوصيفات‬‫باستخدام‬HTML‫حيث‬ ‫صور‬ ‫فيها‬ ‫استخدام‬ ‫يمكن‬‫وفالشات‬‫وخالفه‬‫ولكن‬‫ال‬‫يوجد‬‫أي‬‫نوع‬‫من‬‫أنواع‬‫المعالجة‬‫في‬‫هذا‬‫الموقع‬. 2.‫مواقع‬‫ديناميكية‬‫عند‬‫العميل‬:Cleint‫هذا‬‫النوع‬‫من‬‫المواقع‬‫يتمتع‬‫ببعض‬‫أنواع‬‫المعالجة‬‫ولكنها‬‫تظل‬‫جانب‬ ‫في‬ ‫العميل‬،‫فقط‬‫يتم‬‫في‬‫هذه‬‫استخدام‬ ‫المواقع‬Scripts‫مثل‬VBScript‫و‬JavaScript. 3.‫مواقع‬‫هذا‬ :‫ديناميكية‬‫النوع‬‫يتم‬‫عمل‬‫معالجة‬‫لبياناته‬‫في‬‫السيرفر‬‫وتحصل‬‫انت‬‫فقط‬‫على‬‫الذي‬ ‫الناتج‬‫يمكن‬‫ان‬‫يكون‬ ‫من‬‫النوع‬‫األول‬،‫والثاني‬‫في‬‫هذه‬‫الحالة‬‫يسمى‬‫تطبيق‬‫انترنت‬‫وليس‬‫برمجة‬ ‫لغات‬ ‫استخدام‬ ‫ويتم‬ ،‫انترنت‬ ‫موقع‬ ‫مثل‬ ‫بالخادم‬ ‫خاصة‬PHP‫بيئة‬ ‫استخدام‬ ‫يمكن‬ ‫أو‬ASP.NET. 5-2‫بيئة‬ASP.NET: [𝟐𝟒] ‫تعتبر‬ASP.net‫مايكروسوفت‬ ‫شركة‬ ‫من‬ ‫برمجية‬ ‫بيئة‬ ‫بل‬ ،‫برمجية‬ ‫لغة‬ ‫ليست‬ ‫وهي‬ ،‫الويب‬ ‫صفحات‬ ‫لبناء‬ ‫عمل‬ ‫بيئة‬ ‫المواقع‬ ‫وتطوير‬ ‫إلنشاء‬ ‫موجهة‬. ‫هنالك‬ ‫كانت‬ ‫بدايتها‬ ‫في‬ASP‫بدون‬.NET‫عن‬ ‫عبارة‬ ‫وهي‬VBScript‫وبعد‬ ،‫كثيرة‬ ‫عيوب‬ ‫وبها‬ ‫وبطيئة‬ ‫بالمشاكل‬ ‫مليئة‬ ‫وكانت‬ ، ‫صدور‬.NET‫الـ‬ ‫بتطوير‬ ‫مايكروسوفت‬ ‫قامت‬ASP‫وموجهة‬ ‫إطارها‬ ‫ضمن‬ ‫وجعلها‬ ‫في‬ ‫كان‬ ‫األول‬ ‫فاإلصدار‬ ‫المواقع‬ ‫لتطوير‬2002‫بيئة‬ ‫تطور‬ ‫مع‬ ‫عليها‬ ‫التطويرات‬ ‫وتتابعت‬ ، ‫الـ‬.NET‫الـ‬ ‫إصدار‬ ‫تم‬ ‫حيث‬ASP.NET 1.1‫الـ‬ ‫في‬2003‫الـ‬ ‫ظهرت‬ ‫ثم‬ASP.NET 2.0‫عام‬ ‫في‬2005‫عام‬ ‫وفي‬ ،2008‫ظهرت‬ASP.NET 3.0‫الـ‬ ‫و‬ASP.NET 3.5 ‫عام‬ ‫وفي‬2010‫ظهر‬ASP.NET 4.0. ‫مميزات‬ASP.NET: -.‫تفسر‬ ‫وال‬ ‫تترجم‬ ‫ألنها‬ ‫سريعة‬ -.‫بها‬ ‫المبرمج‬ ‫المواقع‬ ‫اختراق‬ ‫من‬ ‫تخفف‬ ‫معينة‬ ‫آليات‬ ‫هنالك‬ ‫حيث‬ ‫آمنة‬ -.‫نت‬ ‫الدوت‬ ‫مكتبة‬ ‫شك‬ ‫بال‬ ‫وهي‬ ‫ضخمة‬ ‫أكواد‬ ‫مكتبة‬ ‫تحتوي‬ -.‫وعديدة‬ ‫كثيرة‬ ‫جاهزة‬ ‫أدوات‬ -‫وهي‬ ‫متكاملة‬ ‫تطوير‬ ‫بيئة‬.‫ستوديو‬ ‫الفيجوال‬ ‫شك‬ ‫أدنى‬ ‫بدون‬ -‫تستخدم‬ ‫أن‬ ‫يمكن‬ ‫حيث‬ ‫اللغات‬ ‫وتعدد‬ ‫تكامل‬ASP.NET( ‫أهمها‬ ‫ولكن‬ ‫اللغات‬ ‫من‬ ‫بالكثير‬Visual Basic .Net، C#.Net،J#.Net،Iron Python.)... ، ‫صفحة‬ ‫طلب‬ ‫عند‬ASP.NET‫إلى‬ ‫األمر‬ ‫نهاية‬ ‫في‬ ‫تتحول‬ ‫الصفحة‬ ‫فإن‬HTML‫الـ‬ ‫يفهمها‬ ‫خاصة‬ ‫ولغة‬ ‫المتصفح‬ ‫يفهمها‬ ‫التي‬ Server‫الكود‬ ‫شكل‬ ‫صياغة‬ ‫في‬ ‫السابقة‬ ‫اللغات‬ ‫من‬ ‫لغة‬ ‫أية‬ ‫استخدام‬ ‫من‬ ‫بأس‬ ‫فال‬(syntax)‫وخبرته‬ ‫ذوقه‬ ‫حسب‬ ‫يختار‬ ‫فكل‬. ‫تؤمن‬ASP.NET:‫األنواع‬ ‫هذه‬ ،‫باستخدامها‬ ‫برمجتها‬ ‫يمكن‬ ‫التي‬ ‫التطبيقات‬ ‫من‬ ‫أنواع‬ ‫ثالثة‬ 1.‫التطوير‬ ‫نموذج‬Web Forms: ‫العمل‬ ‫لبيئة‬ ‫التقليدي‬ ‫هو‬ ‫النموذج‬ ‫هذا‬ASP.NET‫طريقة‬ ‫علي‬ ‫يعتمد‬Event Driven‫والـ‬Post Backs‫بمعنى‬ ‫لكل‬ ‫األحداث‬ ‫إدارة‬Control‫الـ‬ ‫هو‬ ‫العملية‬ ‫هذه‬ ‫علي‬ ‫والمشرف‬ ‫له‬ ‫معين‬ ‫حدث‬ ‫بتخصيص‬ ‫الصفحة‬ ‫على‬ ‫عنصر‬ ‫أو‬
  • 63.
    ‫الصفحة‬62 post backs‫الـ‬ ‫ومطورين‬‫عديدة‬ ‫سنوات‬ ‫منذ‬ ،ASP.NET‫اال‬ ‫هذا‬ ‫يستخدمون‬‫الكبيرة‬ ‫المواقع‬ ‫وانشاء‬ ‫لتطوير‬ ‫سلوب‬ ‫العالم‬ ‫في‬. 2.‫التطوير‬ ‫نموذج‬MVC: ‫التصميم‬ ‫نمط‬ ‫باستخدام‬ ‫الويب‬ ‫تطبيقات‬ ‫لتطوير‬ ‫هو‬ ‫النموذج‬ ‫هذا‬Model-View-Controller‫يعرف‬ ‫كما‬ ‫اي‬ ‫بـ‬ ً‫ا‬‫اختصار‬MVC‫التصميم‬ ‫ونمط‬MVC‫التطبيق‬ ‫فصل‬ ‫بمعنى‬ ،‫منفصلة‬ ‫بطريقة‬ ‫التطبيقات‬ ‫لتطوير‬ ‫رائعة‬ ‫طريقة‬ ‫هو‬ ‫لـ‬3‫العرض‬ ‫لطبقة‬ ‫واحدة‬ ،‫طبقات‬UI‫وتسمي‬Views‫وتسمي‬ ‫البيانات‬ ‫قاعدة‬ ‫مع‬ ‫للتعامل‬ ‫واألخرى‬Models ‫وتسمى‬ ‫ببعض‬ ‫االثنين‬ ‫لربط‬ ‫واالخيرة‬Controllers. 3.‫التطوير‬ ‫نموذج‬Web Pages: ‫مع‬ ‫العهد‬ ‫حديث‬ ‫كنت‬ ‫إذا‬ASP.NET‫نماذج‬ ‫من‬ ‫نموذج‬ ‫اسهل‬ ‫هو‬ ‫هذا‬ . ‫كبداية‬ ‫النموذج‬ ‫هذا‬ ‫اختيار‬ ‫يمكنك‬ ASP.NET‫المواقع‬ ‫لتصميم‬. ( ‫الشكل‬5-1)‫باستخدام‬ ‫برمجتها‬ ‫يمكن‬ ‫التي‬ ‫التطبيقات‬ ‫أنواع‬[24] ASP.NET 5-3‫تقنية‬AJAX: ‫للمصطلح‬ ‫اختصار‬ ‫هي‬Asynchronous JavaScript and XML‫وهي‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫بل‬ ‫الويب‬ ‫برمجة‬ ‫مجال‬ ‫في‬ ‫جديد‬ ‫مفهوم‬ ‫أو‬ ‫ذاتها‬ ‫بحد‬ ‫بتقنية‬ ‫ليست‬ ‫مجتمعة‬ ‫تكون‬ ‫بحيث‬ ‫أصال‬ ‫الموجودة‬ ‫التقنيات‬ ‫من‬ ‫مجموعة‬ ‫الستخدام‬ ‫إعطاءه‬ ‫تم‬ ‫اسم‬ ‫يسمى‬ ‫ما‬ ‫تحت‬ ‫البعض‬ ‫بعضها‬ ‫مع‬AJAX. ‫بواسطة‬ ‫يمكن‬AJAX‫واكثر‬ ‫تفاعليه‬ ‫اكثر‬ ‫تكون‬ ‫بحيث‬ ‫الويب‬ ‫تطبيقات‬ ‫تطوير‬ ،‫السيرفر‬ ‫الى‬ ‫العودة‬ ‫حاالت‬ ‫من‬ ‫التقليل‬ ‫يتم‬ ‫بواسطتها‬ ‫انه‬ ‫حيث‬ ،‫للمستخدم‬ ‫استجابة‬ .‫الصفحة‬ ‫تحميل‬ ‫وإعادة‬ ‫جمعتها‬ ‫التي‬ ‫التقنيات‬ ‫إن‬AJAX:‫هي‬ ‫اسمها‬ ‫تحت‬ - HTML, CSS, DHTML. - JavaScript . - XML. - XMLHttpRequest .
  • 64.
    ‫الصفحة‬63 ‫الـ‬ ‫تستخدم‬AJAX‫طريقة‬ ‫إلى‬‫النظر‬ ‫يمكن‬ ‫حيث‬ ،‫تفرعي‬ ‫بشكل‬ ‫أوامر‬ ‫واستقبال‬ ‫إرسال‬ ‫على‬ ‫قادرا‬ ‫المستعرض‬ ‫جعل‬ ‫أجل‬ ‫من‬ ‫عمل‬AJAX:‫يلي‬ ‫كما‬ ‫الشكل‬(5-2)‫الـ‬ ‫عمل‬ ‫طريقة‬[25] AJAX ‫الـ‬ ‫تتيح‬AJAX‫صفحة‬ ‫على‬ ‫الطلب‬ ‫معالجة‬ ‫يتم‬ ‫حيث‬ ،‫المكتب‬ ‫سطح‬ ‫تطبيق‬ ‫على‬ ‫نعمل‬ ‫وكأننا‬ ‫الويب‬ ‫متصفحات‬ ‫على‬ ‫العمل‬ ‫إمكانية‬ ‫تتمثل‬ ‫التي‬ ‫الويب‬ ‫على‬ ‫للعمل‬ ‫التقليدية‬ ‫الطريقة‬ ‫وهي‬ ‫جديدة‬ ‫صفحة‬ ‫إلى‬ ‫االنتقال‬ ‫إلى‬ ‫الحاجة‬ ‫بدون‬ ‫عليها‬ ‫العمل‬ ‫يتم‬ ‫التي‬ ‫اإلنترنت‬ ‫المستخدم‬ ‫قبل‬ ‫من‬ ‫البيانات‬ ‫بإرسال‬Client Side‫الشبكة‬ ‫خادم‬ ‫بيانات‬ ‫قاعدة‬ ‫باتجاه‬Server Side‫في‬ ‫المعلومات‬ ‫تخزين‬ ‫ليتم‬ ‫طرأت‬ ‫التي‬ ‫التغيرات‬ ‫ليالحظ‬ ‫جديد‬ ‫من‬ ‫المستخدم‬ ‫إلى‬ ‫المعدلة‬ ‫الجديدة‬ ‫المعلومات‬ ‫وإرسال‬ ‫ومعالجتها‬ ‫الشبكة‬ ‫خادم‬ ‫بيانات‬ ‫قاعدة‬ ‫تقنية‬ ‫أما‬ ‫الصفحة‬ ‫على‬AJAX‫وذلك‬ ‫والطلبات‬ ‫التعديالت‬ ‫هذه‬ ‫اجراء‬ ‫من‬ ‫تمكنك‬‫يتم‬ ‫بل‬ ‫جديد‬ ‫من‬ ‫التحميل‬ ‫إعادة‬ ‫إلى‬ ‫الحاجة‬ ‫دون‬ ‫من‬ ‫ان‬ .‫جانبي‬ ‫اتصال‬ ‫طريق‬ ‫عن‬ ‫وذلك‬ ‫الشبكة‬ ‫بخادم‬ ‫اتصال‬ ‫حالة‬ ‫في‬ ‫وهي‬ ‫الصفحة‬ ‫نفس‬ ‫في‬ ‫عليه‬ ‫التعديل‬ ‫المراد‬ ‫الجزء‬ ‫تغيير‬ ‫الشب‬ ‫خادم‬ ‫على‬ ‫الحاصل‬ ‫الجهد‬ ‫من‬ ‫يقلل‬ ‫مما‬ ‫الزوار‬ ‫من‬ ‫كبير‬ ‫عدد‬ ‫يزورها‬ ‫التي‬ ‫المواقع‬ ‫هي‬ ‫التقنيات‬ ‫هذه‬ ‫من‬ ‫يستفيد‬‫والز‬ ‫كة‬‫من‬ ‫المتصفح‬ ‫لدى‬ ‫الموقع‬ ‫الستجابة‬ ‫الالزم‬. 5-3-1‫الـ‬ ‫عمل‬ ‫طريقة‬AJAX: ‫الـ‬ ‫عمل‬ ‫مفهوم‬ ‫لتوضيح‬AJAX‫على‬ ‫القائمة‬ ‫الويب‬ ‫وتطبيقات‬ ‫التقليدية‬ ‫الويب‬ ‫تطبيقات‬ ‫عمل‬ ‫بين‬ ‫مقارنة‬ ‫نعمل‬ ‫سوف‬ ، ‫الـ‬AJAX. ‫إرسال‬ ‫في‬ ‫متمثلة‬ ‫المستخدم‬ ‫نشاطات‬ ‫اغلب‬ ‫تكون‬ ،‫التقليدية‬ ‫الويب‬ ‫تطبيقات‬ ‫في‬‫السيرف‬ ‫يقوم‬ ،‫السيرفر‬ ‫الى‬ ‫طلبات‬‫بمعالجه‬ ‫ر‬ ‫صورة‬ ‫في‬ ‫إرسالها‬ ‫ثم‬ ‫البيانات‬ ‫على‬ ‫والحصول‬ ،‫الطلبات‬HTML‫الصفحة‬ ‫كامل‬ ‫تحديث‬ ‫وبالتالي‬ ‫المستخدم‬ ‫متصفح‬ ‫إلى‬ ‫الماوس‬ ‫بمؤشر‬ ‫التحديق‬ ‫و‬ ‫االنتظار‬ ،‫المستخدم‬ ‫مهمة‬ ‫تكون‬ ‫المخدم‬ ‫إلى‬ ‫الطلبات‬ ‫إرسال‬ ‫فترة‬ ‫وفي‬ ،‫المتصفح‬ ‫في‬ ‫الموجودة‬ ‫على‬ ‫الذي‬.‫للنتيجة‬ ‫انتظار‬ ‫حالة‬ ‫في‬ ‫دخل‬ ‫قد‬ ‫المستعرض‬ ‫يكون‬ ‫حيث‬ ،‫رملية‬ ‫ساعه‬ ‫شكل‬ ‫الـ‬ ‫على‬ ‫القائمة‬ ‫التطبيقات‬ ‫في‬ ‫بينما‬AJAX‫الطلبات‬ ‫هي‬ ‫السيرفر‬ ‫إلى‬ ‫إرسالها‬ ‫يتم‬ ‫التي‬ ‫الطلبات‬ ‫إن‬ ‫حيث‬ ،‫يختلف‬ ‫االمر‬ ‫فإن‬ ، ،‫فقط‬ ‫تحديث‬ ‫إلى‬ ‫تحتاج‬ ‫التي‬‫محرك‬ ‫بواسطة‬ ‫ذلك‬ ‫ويتم‬AJAX Engine‫كود‬ ‫عن‬ ‫عبارة‬ ‫وهو‬JavaScript‫مع‬ ‫تحميله‬ ‫يتم‬ ‫على‬ ‫العمل‬ ‫مواصلة‬ ‫للمستخدم‬ ‫يمكن‬ ‫حيث‬ ،‫الصفحة‬ ‫كل‬ ‫تحديث‬ ‫إعادة‬ ‫إلى‬ ‫حاجة‬ ‫توجد‬ ‫ال‬ ‫وبالتالي‬ ،‫المتصفح‬ ‫إلى‬ ‫الصفحة‬ .‫الصفحة‬ ‫من‬ ‫المحدد‬ ‫الجزء‬ ‫وتحديث‬ ‫الطلب‬ ‫إرسال‬ ‫يتم‬ ‫بينما‬ ،‫الصفحة‬ ‫الوي‬ ‫تطبيقات‬ ‫من‬ ‫كل‬ ‫في‬ ،‫المستخدم‬ ‫تفاعل‬ ‫عمليات‬ ‫توضح‬ ‫التالية‬ ‫األشكال‬‫على‬ ‫القائمة‬ ‫الويب‬ ‫وتطبيقات‬ ،‫التقليدية‬ ‫ب‬‫الـ‬ AJAX:
  • 65.
    ‫الصفحة‬64 ‫الشكل‬(5-3)‫عمل‬ ‫طريقة‬‫التقليدية‬ ‫الويب‬‫تطبيقات‬[25] ‫الشكل‬(5-4)‫عمل‬ ‫طريقة‬‫الويب‬ ‫تطبيقات‬‫على‬ ‫المعتمدة‬[25] AJAX AJAX Engine Example function connect() { var xmlhttp; try { xmlhttp = new XMLHttpRequest(); } catch (err) { try { xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”); } catch (err) { try { xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP.3.0”); } catch (err) { xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP.6.0”); }
  • 66.
    ‫الصفحة‬65 ‫محرك‬ ‫على‬ ‫مثال‬‫األسفل‬ ‫في‬ ‫الذي‬ ‫الكود‬ ‫في‬ ‫يظهر‬AJAX:‫التطبيق‬ ‫في‬ ‫استخدامه‬ ‫تم‬ ‫الكود‬(5-4)‫تقنية‬ ‫تنفيذ‬ ‫ملف‬AJAX 5-4‫مكتبة‬JQuery: [6] ‫الـ‬JQuery‫بلغة‬ ‫مكتوبة‬ ‫المصدر‬ ‫ومفتوحة‬ ‫مجانية‬ ،‫جاهزة‬ ‫مكتبة‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ‫بل‬ ‫برمجة‬ ‫لغة‬ ‫ليست‬JavaScript ‫المبرمج‬ ‫كتبها‬ ‫وقد‬ ،‫األكواد‬ ‫من‬ ‫قليلة‬ ‫بأسطر‬ ‫البرمجية‬ ‫واألكواد‬ ‫األمور‬ ‫من‬ ‫بالعديد‬ ‫القيام‬ ‫من‬ ‫الويب‬ ‫لمطوري‬ ‫تسمح‬John Resig ‫عام‬ ‫البداية‬ ‫في‬2006‫بالت‬ ‫المبرمجين‬ ‫من‬ ‫فريق‬ ‫طورها‬ ‫ثم‬‫من‬ ‫والهدف‬ ،‫معه‬ ‫عاون‬ ‫الـ‬ ‫شيفرات‬ ‫المبرمجين‬ ‫بها‬ ‫يكتب‬ ‫التي‬ ‫الطريقة‬ ‫تغيير‬ ‫كتابتها‬JavaScript‫على‬ ‫الـ‬ ‫كتابة‬ ‫طريقة‬ ‫أصبحت‬ ‫حيث‬ ،‫مؤسسها‬ ‫قول‬ ‫حد‬Java Script.‫وأبسط‬ ‫أسهل‬ :‫جملة‬ ‫على‬ ‫المكتبة‬ ‫تعتمد‬"write less, do more"‫من‬ ‫العديد‬ ‫تحوي‬ ‫حيث‬ .‫وحيد‬ ‫برمجي‬ ‫بسطر‬ ‫األسطر‬ ‫عشرات‬ ‫تختصر‬ ‫التي‬ ‫التعليمات‬ ‫ملفات‬ ‫على‬ ‫العمل‬ ‫واختصار‬ ‫والسرعة‬ ‫والسهولة‬ ‫بالبساطة‬ ‫المكتبة‬ ‫تتميز‬HTML‫أنها‬ ‫كما‬ ،‫عناصرها‬ ‫مع‬ ‫والتعامل‬ ‫وتحليلها‬ ‫برمج‬ ‫يتم‬ ‫التي‬ ‫الصفحات‬ ‫على‬ ‫والحركة‬ ‫الحيوية‬ ‫تضيف‬ ‫كما‬ ‫لألحداث‬ ‫معالجة‬ ‫عملية‬ ‫تضيف‬،‫تها‬‫تيسير‬ ‫وهي‬ ‫األهم‬ ‫للميزة‬ ‫باإلضافة‬ ‫الـ‬ ‫عمل‬ ‫وتسهيل‬AJAX‫الـ‬ ‫شجرة‬ ‫على‬ ‫معالجة‬ ‫عمليات‬ ‫إلجراء‬ ‫تعليمات‬ ‫على‬ ‫تحتوي‬ ‫بأنها‬ ‫أيضا‬ ‫المكتبة‬ ‫تتميز‬ ‫أيضا‬ ،DOM. ‫مكتبة‬ ‫مميزات‬ ‫تلخيص‬ ‫يمكن‬JQuery:‫التالية‬ ‫بالمميزات‬ -‫ومعالجة‬ ‫لدعم‬ ‫خاصة‬ ‫ووظائف‬ ‫طرق‬ ‫تقدم‬HTML/DOM. -‫معالجة‬CSS. -‫بأحداث‬ ‫التحكم‬HTML. } } return xmlhttp; } function statechange() { if (this.readyState == 4 && this.status == 200) { document.getElementById(“Jax”).innerHTML = this.responseText; alert(this.responseText) } } function AJAX_connection(page) { var xmlhttp; xmlhttp = connect(); xmlhttp.onreadystatechange = statechange; xmlhttp.open(“GET”, page, true); xmlhttp.send(); }
  • 67.
    ‫الصفحة‬66 -‫وحركات‬ ‫تأثيرات‬ ‫تنفيذ‬‫إمكانية‬animations. -‫الـ‬ ‫دعم‬AJAX. -‫الـ‬ ‫مكتبات‬ ‫أسرع‬ ‫إحدى‬ ‫تعتبر‬ ‫حيث‬ ‫التطبيق‬ ‫العام‬ ‫األداء‬ ‫زيادة‬ ‫في‬ ‫تساعد‬Java Script.‫انتشارا‬ ‫وأكثرها‬ -.‫المتصفحات‬ ‫أغلب‬ ‫من‬ ‫مدعومة‬ ‫وتطبيقات‬ ‫ومواقع‬ ‫صفحات‬ ‫تصميم‬ ‫في‬ ‫تساعد‬ -‫وتجميل‬ ‫تحسين‬ ‫في‬ ‫تساعد‬‫االكواد‬ ‫من‬ ‫االسطر‬ ‫مئات‬ ‫كتابة‬ ‫دون‬ ‫كبيرة‬ ‫وبسهولة‬ ‫كبير‬ ‫بشكل‬ ‫المستخدمين‬ ‫صفحات‬ .‫للمبرمج‬ ‫ويسر‬ ‫وبسهولة‬ ‫اسطر‬ ‫بعدة‬ ‫تتوفر‬ ‫هنا‬ ‫حيث‬ ‫البرمجة‬ -‫الخبير‬ ‫للمبرمج‬ ‫ويمكن‬ ‫وكثيرة‬ ‫جديدة‬ ‫ووظائف‬ ‫طرق‬ ‫لتوفير‬ ‫تحقيقها‬ ‫إعادة‬ ‫يمكن‬ ‫حيث‬ ‫جدا‬ ‫كبير‬ ‫وبشكل‬ ‫للتوسع‬ ‫قابلة‬ ‫الع‬ ‫هذا‬ ‫من‬ ‫بالكثير‬ ‫القيام‬.‫مل‬ -‫تأتي‬ ‫حيث‬ ‫والمساعدة‬ ‫الدعم‬‫الـ‬JQuery‫و‬ ‫بدعم‬documentaion‫ممتاز‬. ‫الـ‬ ‫مكتبة‬ ‫استخدام‬ ‫الممكن‬ ‫ومن‬JQuery:‫يلي‬ ‫كما‬ ‫الويب‬ ‫صفحة‬ ‫في‬ ‫الكود‬(5-5)‫مكتبة‬ ‫استخدام‬ ‫طريقة‬JQuery 5-5‫الـ‬ ‫مكتبة‬BootStrap: ‫هي‬‫قبل‬ ‫من‬ ‫تطويرها‬ ‫تم‬ ،‫المواقع‬ ‫واجهات‬ ‫لتصميم‬ ‫المصدر‬ ‫مفتوحة‬ ‫األدوات‬ ‫من‬ ‫مجموعة‬Mark Otto – Julian Thilo – Chris Rebert‫لمساعدة‬ ‫إنشائها‬ ‫وتم‬‫مكتبة‬ ‫وتوفير‬ ،‫وفعالية‬ ‫بسرعة‬ ‫مذهلة‬ ‫منتجات‬ ‫بناء‬ ‫على‬ ‫والمطورين‬ ‫المصممين‬ ‫باستخدام‬ ‫المبنية‬ ‫استخدامها‬ ‫يتكرر‬ ‫التي‬ ‫للتصاميم‬ ‫جيد‬ ‫بشكل‬ ‫وموثقة‬ ‫ومرنة‬ ‫واسعة‬HTML‫و‬CSS‫و‬JavaScript‫يقوم‬ ‫كي‬ ‫كبيرة‬ ‫بمرونة‬ ‫بنيت‬ ‫حيث‬ ‫باستخدامها‬ ‫واإلبداع‬ ‫باستعمالها‬ ‫المطورون‬ ‫الكثير‬ ‫تقدم‬ ‫والتي‬‫الـ‬ ‫من‬ ‫أكثر‬ ‫القوة‬ ‫من‬CSS‫العادية‬. ‫كانت‬ ‫سواء‬ ‫الجديدة‬ ‫المتصفحات‬ ‫كل‬ ‫على‬ ‫العمل‬ ‫لتالئم‬ ‫بنيت‬ ‫المكتبة‬ ‫هناك‬ ‫سيكون‬ ‫أنه‬ ‫بمعنى‬ ،‫الجوال‬ ‫متصفحات‬ ‫أو‬ ‫العادية‬ ‫المتصفحات‬ ‫القديمة‬ ‫المتصفحات‬ ‫في‬ ‫الموقع‬ ‫ستايل‬ ‫في‬ ‫فرق‬. ‫الـ‬ ‫مشروع‬ ‫توسع‬BootStrap‫حيث‬ ‫العناصر‬ ‫من‬ ‫العشرات‬ ‫ليتضمن‬ ‫اآلن‬‫موقع‬ ‫على‬ ‫شعبية‬ ‫األكثر‬ ‫المشروع‬ ‫أصبح‬GitHub ‫من‬ ‫أكثر‬ ‫على‬ ‫حصل‬ ‫أن‬ ‫بعد‬13,000‫و‬ ‫متابع‬2000‫فرعي‬ ‫تطوير‬. JQuery using example <!DOCTYPE html> <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type=”text/javascript”> <!-- ( ‫هنا‬‫تتم‬‫كتابة‬‫الكود‬ ) --> </script> </head> <body> <h1>Hello, world!</h1> </body> </html>
  • 68.
    ‫الصفحة‬67 ‫انشاء‬ ‫تم‬‫الـ‬ ‫مكتبة‬BootStrap‫تويتر‬‫في‬Twitter‫عام‬2010‫قبل‬ ‫من‬@mdo‫و‬@fat‫تويتر‬ ‫مخطط‬ ‫ذلك‬ ‫عند‬ ‫اسمها‬ ‫وكان‬ Twitter Blueprint. ‫وفي‬19-08-2011‫عنها‬ ‫اإلعالن‬ ‫تم‬ ‫أنه‬ ‫والجميل‬ ‫والمصممين‬ ‫للمطورين‬ ‫المكتبة‬ ‫لهذه‬ ‫األولى‬ ‫النسخة‬ ‫بإصدار‬ ‫تويتر‬ ‫قامت‬ ‫بتغريدة‬‫لمطور‬‫الـ‬BootStrap‫نفسه‬. ‫من‬ ‫أكثر‬ ‫يوجد‬ ‫اآلن‬‫اصدار‬ ‫عشرين‬‫اإلصدارين‬ ‫في‬ ‫البداية‬ ‫من‬ ‫كتابتها‬ ‫إعادة‬ ‫وتمت‬ ،‫المكتبة‬ ‫لهذه‬V2‫و‬V3. ‫الـ‬ ‫اضافة‬ ‫تمت‬ ‫للمكتبة‬ ‫الثاني‬ ‫اإلصدار‬ ‫في‬Responsive‫خيار‬ ‫وجعله‬‫اإلصدار‬ ‫في‬ ‫تم‬ ‫بينما‬ ،‫الحاجة‬ ‫عند‬ ‫بإضافته‬ ‫يقوم‬ ‫للمطورين‬ ‫لجعلها‬ ‫أخرى‬ ‫مرة‬ ‫المكتبة‬ ‫كتابة‬ ‫إعادة‬ ‫الثالث‬Responsive‫أساسي‬ ‫بشكل‬ ‫الجواالت‬ ‫متصفحات‬ ‫وعلى‬ ،‫افتراضي‬ ‫بشكل‬. ‫ميزات‬ ‫أهم‬‫الـ‬BootStrap: 1-‫مبا‬ ‫استخدامها‬ ‫يتم‬ ‫ثم‬ ‫بالمشروع‬ ‫الخاص‬ ‫الكود‬ ‫في‬ ‫وضعها‬ ‫يتم‬ ‫حيث‬ :‫التضمين‬ ‫في‬ ‫سهلة‬‫شرة‬ 2-: ‫واحدة‬ ‫لمرة‬ ‫التجميع‬‫الـ‬ ‫على‬ ‫إضافي‬ ‫شيء‬ ‫أي‬ ‫تحوي‬ ‫ال‬ ‫البوتستراب‬css‫سكربت‬ ‫جافا‬ ‫ملفات‬ ‫وال‬ ‫صور‬ ‫ال‬ ‫أي‬ ‫مثالي‬ ‫بشكل‬ ‫موقعك‬ ‫لعمل‬ ‫والقوية‬ ‫البسيطة‬ ‫األمور‬ ‫فقط‬ ‫تبقى‬ ‫ما‬ ‫كل‬ ‫ضرورية‬ ‫غير‬. 3-‫العناصر‬‫والتعديل‬ ‫االستخدام‬ ‫في‬ ً‫ا‬‫جد‬ ‫والسهلة‬ ‫الموقع‬ ‫في‬ ‫الموجود‬ ‫الجاهزة‬. 4-‫سكربت‬ ‫الجافا‬‫والتطوير‬ ‫االستخدام‬ ‫في‬ ‫سهلة‬ ‫وهي‬ ‫الخيارات‬ ‫من‬ ‫الكثير‬ ‫فيها‬ ‫يوجد‬ً‫ا‬‫أيض‬ ‫المكتبة‬ ‫هذه‬ ‫مع‬ ‫المطورة‬ ‫عليها‬. 5-.‫المستعملة‬ ‫الويب‬ ‫متصفحات‬ ‫لكل‬ ‫التصميم‬ ‫سهولة‬ 6-‫تستعمل‬ ‫التي‬ ‫الحديثة‬ ‫الويب‬ ‫متصفحات‬ ‫كل‬ ‫مع‬ ‫التناسب‬css3‫و‬html. 7-‫ت‬ ‫مشاريع‬ ‫في‬ ‫األبعاد‬ ‫عن‬ ‫عوضا‬ ‫باألعمدة‬ ‫هيكلة‬ ‫نموذج‬ ‫استعمال‬‫صاميم‬responsive. :‫المقدمة‬ ‫األدوات‬ ‫أهم‬ -‫باستعمال‬ ‫ومصمم‬ ‫منسق‬ ‫زر‬ ‫إلى‬ ‫هيكلة‬ ‫أي‬ ‫تغير‬ ‫إمكانية‬ :‫األزرار‬class btn. -.‫متنوعة‬ ‫بهيئات‬ ‫للجداول‬ ‫احترافي‬ ‫تنسيق‬ :‫الجداول‬ -Dropdown.‫ابن‬ ‫من‬ ‫أكثر‬ ‫ذات‬ ‫قائمة‬ ‫على‬ ‫نحصل‬ ‫بسهولة‬ : -jQuery:‫التنبيهات‬ ‫ومنها‬ ‫المهمات‬ ‫من‬ ‫العديد‬ ‫يتضمن‬ :tabs،accordion،carousel ….. ‫مكتبة‬ ‫تتضمن‬BootStrap:‫يلي‬ ‫كما‬ ‫هي‬ ‫المكونات‬ ‫هذه‬ ،‫البعض‬ ‫بعضها‬ ‫مع‬ ‫المرتبة‬ ‫المكتبات‬ ‫من‬ ‫مجموعة‬ ‫الشكل‬(5-5)‫المكتبة‬ ‫ملفات‬[25] Bootstrap
  • 69.
    ‫الصفحة‬68 ‫الكود‬(5-6)‫مكتبة‬ ‫استخدام‬ ‫طريقة‬Bootstrap BootStrap example <!DOCTYPE html> <html> <head> <title>Bootstrap 101 Template</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> <![endif]--> </head> <body> <h1>Hello, world!</h1> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://code.jquery.com/jquery.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </body> </html>
  • 70.
  • 71.
    ‫الصفحة‬70 ‫الفصل‬‫السادس‬: ‫والتطبيق‬ ‫الدراسة‬ ‫نتائج‬ ‫العملي‬ :‫الفصل‬‫هذا‬ ‫في‬ ›.‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫استخدام‬ ‫معايير‬ ›.‫المعارف‬ ‫تمثيل‬ ‫طريقة‬ ‫اختيار‬ ›.‫االستدالل‬ ‫محرك‬ ‫اختيار‬ ›.‫االستخدام‬ ‫واجهة‬ ‫اختيار‬ ›.‫للمشروع‬ ‫العملي‬ ‫التطبيق‬
  • 72.
    ‫الصفحة‬71 :‫السادس‬ ‫الفصل‬‫العملي‬ ‫والتطبيق‬‫الدراسة‬ ‫نتائج‬: ‫البحث‬ ‫في‬ ‫تم‬،‫خبير‬ ‫لنظام‬ ‫نواة‬ ‫بناء‬‫مكتبة‬ ‫من‬ ‫باالستفادة‬ ‫بنائها‬ ‫تم‬ ‫وقد‬NxBRE،‫النظرية‬ ‫الدراسة‬ ‫بعد‬ ‫اختيارها‬ ‫تم‬ ‫التي‬ ‫النواة‬ ‫هذه‬ ،‫الخبيرة‬ ‫النظم‬ ‫لمكتبات‬‫استخدامها‬ ‫يمكن‬‫في‬‫س‬ ‫التطبيقات‬ ‫من‬ ‫نوع‬ ‫أي‬.‫الويب‬ ‫أو‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫واء‬ ‫تم‬ ‫أيضا‬‫برمجة‬‫ويب‬ ‫تطبيق‬Web application‫الكورسات‬ ‫في‬ ‫االستشارة‬ ‫تقديم‬ ‫فكرة‬ ‫على‬ ‫يقوم‬Courses‫تناسب‬ ‫التي‬ .‫ما‬ ‫شخص‬ ‫هذا‬ ‫في‬‫الفصل‬‫عن‬ ‫الحديث‬ ‫سيتم‬3:‫وهي‬ ‫أساسية‬ ‫نقاط‬‫نتائج‬‫بنية‬ ،‫النظرية‬ ‫الدراسة‬‫الخبير‬ ‫النظام‬ ‫نواة‬‫الوي‬ ‫تطبيق‬ ‫وبنية‬ ،.‫ب‬ 6-1‫النظرية‬ ‫الدراسة‬: ‫مدة‬ ‫النظرية‬ ‫الدراسة‬ ‫استغرقت‬4‫ما‬ ‫فيها‬ ‫وتم‬ ،‫أشهر‬:‫يلي‬ -.‫مفاهيمه‬ ‫حول‬ ‫تدور‬ ‫التي‬ ‫المعلومات‬ ‫وتحصيل‬ ،‫الخبيرة‬ ‫النظم‬ ‫وهو‬ ‫البحث‬ ‫قيد‬ ‫الموضوع‬ ‫دراسة‬ -.‫بها‬ ‫الخاصة‬ ‫والمراجع‬ ‫التوثيقات‬ ‫وقراءة‬ ،‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫عن‬ ‫البحث‬ -.‫المعيار‬ ‫توصيف‬ ‫في‬ ‫المتبعة‬ ‫والطرق‬ ،‫المعارف‬ ‫تمثيل‬ ‫معايير‬ ‫في‬ ‫البحث‬ -‫معايير‬ ‫بوضع‬ ‫الدراسة‬ ‫اختتام‬ ‫تم‬.‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫متخصصة‬ ‫مكتبة‬ ‫اختيار‬ ‫عملية‬ ‫تحكم‬ ‫وقواعد‬ -‫المكتبة‬ ‫اختيار‬NxBRE‫المعيار‬ ‫ودراسة‬ ‫دراستها‬ ‫وتمت‬ ،‫الويب‬ ‫تطبيق‬ ‫في‬ ‫الستخدامها‬RuleML‫تمثيل‬ ‫في‬ ‫المستخدم‬ .‫المعارف‬ 6-1-1:‫الخبير‬ ‫النظام‬ ‫مكتبة‬ ‫اختيار‬ ‫معايير‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫بين‬ ‫التمايز‬ ‫إن‬‫المتوفرة‬‫فيما‬ ‫تختلف‬ ‫حيث‬ ،‫واضح‬‫و‬ ،‫مواضيع‬ ‫بعدة‬ ‫بينها‬‫علي‬ ‫بناء‬‫المواضيع‬ ‫هذه‬ ‫منها‬ ‫يستفيد‬ ‫أن‬ ‫للمطور‬ ‫يمكن‬ ‫اعتبارات‬ ‫وضع‬ ‫تم‬‫تطبيقات‬ ‫في‬‫االعتبارات‬ ‫هذه‬ ،‫الخبيرة‬ ‫النظم‬:‫هي‬ 1-:‫المكتبة‬ ‫مع‬ ‫التعامل‬ ‫سماحية‬ ‫رؤية‬ ‫ويمكن‬ ‫بل‬ ،‫بالكامل‬ ‫مجانية‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫بعض‬ ‫يوجد‬ ‫حيث‬ ،‫المكتبة‬ ‫أكواد‬ ‫مع‬ ‫التعامل‬ ‫طريقة‬ ‫بها‬ ‫والمقصود‬ ‫مفهوم‬ ‫تحت‬ ‫تندرج‬ ‫وهي‬ ‫بها‬ ‫الخاصة‬ ‫األكواد‬open source‫تجاريا‬ ‫منتجا‬ ‫تكون‬ ‫اآلخر‬ ‫وبعضها‬ ‫ال‬ ‫التي‬ ‫المكتبات‬ ‫بعض‬ ‫ويوجد‬ ،‫معها‬ ‫التعامل‬ ‫يمكن‬ ‫لكي‬ ‫شراء‬ ‫إلى‬ ‫تحتاج‬‫ويمكن‬ ‫تجارية‬ ‫تكون‬ ‫من‬ ‫العديد‬ ‫ذكر‬ ‫تم‬ ‫وقد‬ ،‫بها‬ ‫الخاصة‬ ‫األكواد‬ ‫رؤية‬ ‫يمكن‬ ‫ال‬ ‫أنه‬ ‫إلى‬ ‫مجاني‬ ‫بشكل‬ ‫المكتبة‬ ‫استخدام‬ .‫معها‬ ‫التعامل‬ ‫ماهية‬ ‫توضيح‬ ‫مع‬ ‫السابق‬ ‫البحث‬ ‫في‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫مكتبة‬ ‫تتميز‬NxBRE‫ما‬ ‫وهذا‬ ،‫بالكامل‬ ‫المصدر‬ ‫ومفتوحة‬ ‫مجانية‬ ‫بأنها‬ ‫التطبيق‬ ‫في‬ ‫المستخدمة‬ .‫لها‬ ‫المستخدم‬ ‫حاجة‬ ‫بحسب‬ ‫عليها‬ ‫التعديل‬ ‫يمكن‬ ‫حيث‬ ،‫ومرونة‬ ‫كبيرة‬ ‫قوة‬ ‫يعطيها‬ 2-:‫المكتبة‬ ‫تدعمها‬ ‫التي‬ ‫االستدالل‬ ‫محركات‬ ‫أنواع‬
  • 73.
    ‫الصفحة‬72 ‫تحتو‬ ‫أخرى‬ ‫مكتبات‬‫توجد‬ ‫بينما‬ ،‫فقط‬ ‫واحد‬ ‫محركا‬ ‫تدعم‬ ‫التي‬ ‫المحركات‬ ‫بعض‬ ‫يوجد‬‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬ ‫على‬ ‫ي‬ ‫محركات‬ ‫عدة‬ ‫تدعم‬ ‫التي‬ ‫المتبات‬ ‫تكون‬ ‫بينما‬ ،‫المصدر‬ ‫مفتوحة‬ ‫المكتبات‬ ‫على‬ ‫الغالب‬ ‫هو‬ ‫وهذا‬ .‫معها‬ ‫التعامل‬ ‫يتم‬ ‫لكي‬ ‫شراء‬ ‫إلى‬ ‫وبحاجة‬ ‫تجارية‬ ‫مكتبة‬ ‫تدعم‬NxBRE:‫وهما‬ ‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬Flow Engine, Inference Engine‫أنواع‬ ‫أشهر‬ ‫وهما‬.‫االستدالل‬ ‫محركات‬ 3-:‫المكتبة‬ ‫تدعمها‬ ‫التي‬ ‫المعارف‬ ‫قواعد‬ ‫أنواع‬ ‫مع‬ ‫التعامل‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫على‬ ‫والغالب‬ ،‫معها‬ ‫تعامل‬ ‫أن‬ ‫المكتبة‬ ‫وتستطيع‬ ‫المعارف‬ ‫تمثيل‬ ‫بها‬ ‫يتم‬ ‫التي‬ ‫الصيغ‬ ‫وهي‬ ‫باستخدام‬ ‫المكتوبة‬ ‫الصيغ‬XML‫تمثيل‬ ‫يتم‬ ‫التي‬ ‫بالمعيار‬ ‫بينها‬ ‫فيما‬ ‫االختالف‬ ‫يظهر‬ ‫ولكن‬ ،‫بلغة‬ ‫القواعد‬ ‫بها‬XML‫حيث‬ ، ‫كمعيار‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫عالمية‬ ‫لمعايير‬ ‫دعما‬ ‫المكتبات‬ ‫بعض‬ ‫تقدم‬RuleML‫مكتبة‬ ‫معه‬ ‫تتعامل‬ ‫الذي‬ ‫المعيار‬ ‫وهو‬ ، NxBRE. ‫مكتبة‬ ‫إن‬NxBRE‫معيار‬ ‫إلى‬ ‫إضافة‬ ‫تدعم‬RuleML‫ما‬ ‫وهذا‬ ،‫أيضا‬ ‫عالمية‬ ‫المعارف‬ ‫وهي‬ ‫المعارف‬ ‫لتمثيل‬ ‫أخرى‬ ‫طرق‬ ‫و‬ ‫كبيرة‬ ‫قوة‬ ‫يعطيها‬.‫المكتبات‬ ‫من‬ ‫الكثير‬ ‫بها‬ ‫تتميز‬ ‫ال‬ ‫مهمة‬ ‫مزيات‬ ‫صيغ‬ ‫تدعم‬ ‫أيضا‬XSD‫نوع‬ ‫من‬ ‫للمحرك‬Flow Engine‫هما‬ ‫بنوعين‬businessRules.xsdxBusinessRules.xsd. 4-:‫ومتانتها‬ ‫المكتبة‬ ‫بناء‬ ‫قوة‬ ،‫للتوسع‬ ‫قابلة‬ ‫هي‬ ‫وهل‬ ،‫تتضمنها‬ ‫التي‬ ‫التوابع‬ ‫ومرونة‬ ،‫المكتبة‬ ‫بها‬ ‫بناء‬ ‫تم‬ ‫التي‬ ‫الكيفية‬ ‫وتعني‬‫األخطاء‬ ‫ومقدار‬،‫تحتويها‬ ‫التي‬ ‫المهم‬ ‫من‬ ‫حيث‬ ‫االعتبار‬ ‫بعين‬ ‫تأخذ‬ ‫األمور‬ ‫هذه‬ ‫كل‬ ،‫يتم‬ ‫ال‬ ‫أو‬ ‫عليها‬ ‫تحديثات‬ ‫إجراء‬ ‫يتم‬ ‫وهل‬ ‫يجد‬ ‫أن‬ ‫دون‬ ‫يحتاجه‬ ‫ما‬ ‫المستخدم‬ ‫عليها‬ ‫يضيف‬ ‫لكي‬ ‫وذلك‬ ‫للتوسع‬ ‫قابلة‬ ‫مرنة‬ ‫المكتبة‬ ‫تكون‬ ‫أن‬ .‫صعوبة‬ ‫مكتبة‬ ‫إن‬NxBRE‫اعتم‬ ‫بنائها‬ ‫تم‬ ‫فقد‬ ‫قوي‬ ‫ببنيان‬ ‫تتمتع‬‫ال‬ ‫في‬ ‫عريقة‬ ‫سابقة‬ ‫مكتبة‬ ‫على‬ ‫ادا‬‫نظم‬ ‫مكتبة‬ ‫وهي‬ ‫الجافا‬ ‫بلغة‬ ‫ومكتوبة‬ ‫الخبيرة‬JxBRE‫جدا‬ ‫مهمة‬ ‫بخواص‬ ‫تتمتع‬ ‫فهي‬ ‫لذلك‬ ‫إضافة‬ ، ‫األخطاء‬ ‫لمعالجة‬ ‫مهمة‬ ‫التطويرات‬ ‫هذه‬ ،‫فترة‬ ‫كل‬ ‫عليها‬ ‫تطوير‬ ‫عملية‬ ‫إجراء‬ ‫ويتم‬ ،‫فيها‬ ‫التوسع‬ ‫وإمكانية‬ ‫لألخطاء‬ ‫معالجة‬ ‫من‬ ‫مع‬ ‫تتواكب‬ ‫وجعلها‬ ‫تظهر‬ ‫التي‬‫في‬ ‫منها‬ ‫نسخة‬ ‫آخر‬ ‫إصدار‬ ‫تم‬ ‫وقد‬ ،‫والتطويرات‬ ‫التحديثات‬ ‫آخر‬January 5 2009. 5-:‫المكتبة‬ ‫تستخدم‬ ‫التي‬ ‫والتطبيقات‬ ‫المراجع‬ ‫التعامل‬ ‫على‬ ‫يساعد‬ ‫والذي‬ ،‫بعضها‬ ‫في‬ ‫تنعدم‬ ‫وتكاد‬ ‫قليلة‬ ‫الخبيرة‬ ‫بالنظم‬ ‫المتخصصة‬ ‫المكتبات‬ ‫عن‬ ‫تتحدث‬ ‫التي‬ ‫المراجع‬ ‫إن‬ ‫لها‬ ‫خاص‬ ‫توثيق‬ ‫وجود‬ ‫المكتبة‬ ‫مع‬‫ووجود‬ ،‫بتصميمها‬ ‫قاموا‬ ‫الذين‬ ‫األشخاص‬ ‫قبل‬ ‫من‬ ‫على‬ ‫الحصول‬ ‫للجميع‬ ‫يتاح‬ ‫بحيث‬ ‫بواسطتها‬ ‫صمموها‬ ‫التي‬ ‫التطبيقات‬ ‫من‬ ‫مجموعة‬ .‫المكتبة‬ ‫من‬ ‫فائدة‬ ‫أكبر‬ ‫مكتبة‬ ‫تتميز‬NxBRE‫بها‬ ‫الخاص‬ ‫التوثيق‬ ‫أهمها‬ ،‫عنها‬ ‫متعددة‬ ‫مراجع‬ ‫بوجود‬ ‫وج‬ ‫أيضا‬ ،‫المكتبة‬ ‫على‬ ‫القائمين‬ ‫األشخاص‬ ‫قبل‬ ‫من‬ ‫والمكتوب‬‫والـ‬ ‫لألصناف‬ ‫خاص‬ ‫توثيق‬ ‫ود‬API،‫المكتبة‬ ‫ضمن‬ ‫الموجودة‬ ‫شاملة‬ ‫تعتبر‬ ‫والتي‬ ‫بالمكتبة‬ ‫الخاص‬ ‫التطبيق‬ ‫ضمن‬ ‫والموجودة‬ ‫الويب‬ ‫مواقع‬ ‫على‬ ‫المنشورة‬ ‫التطبيقات‬ ‫من‬ ‫مجموعة‬ ‫على‬ ‫فضال‬ .‫األخرى‬ ‫المكتبات‬ ‫في‬ ‫موجود‬ ‫غير‬ ‫األمر‬ ‫وهذا‬ ،‫المكتبة‬ ‫إمكانيات‬ ‫لجميع‬ ‫ومحققة‬
  • 74.
    ‫الصفحة‬73 6-1-2‫اختيار‬‫المكتبة‬NxBRE: ‫مكتبة‬ ‫هي‬ ‫الموقع‬‫ضمن‬ ‫الستخدامها‬ ‫اختيارها‬ ‫تم‬ ‫التي‬ ‫المكتبة‬ ‫إن‬NxBRE‫تتفوق‬ ‫جعلها‬ ‫متعددة‬ ‫بمزايا‬ ‫تتمتع‬ ‫وهي‬ :‫المزايا‬ ‫هذه‬ ،‫األخرى‬ ‫المكتبات‬ ‫غالب‬ ‫على‬ -.‫تطبيقنا‬ ‫مع‬ ‫تتناسب‬ ‫بحيث‬ ‫وتعديلها‬ ،‫بها‬ ‫الخاصة‬ ‫البرمجية‬ ‫األكواد‬ ‫قراءة‬ ‫يمكن‬ ‫المصدر‬ ‫مفتوحة‬ ‫مكتبة‬ -‫مكت‬ ‫أعرق‬ ‫من‬ ‫تعد‬‫بلغة‬ ‫المكتوبة‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫أولى‬ ‫تعتبر‬ ‫حيث‬ ‫الخبيرة‬ ‫النظم‬ ‫بات‬C#‫مفتوح‬ ‫وبشكل‬ .‫المصدر‬ -‫حجمها‬ ‫يتجاوز‬ ‫ال‬ ‫خفيفة‬ ‫مكتبة‬400 KB.‫الويب‬ ‫على‬ ‫استخدامها‬ ‫حين‬ ‫جدا‬ ‫مهمة‬ ‫مميزة‬ ‫هي‬ ‫و‬ -‫وهي‬ ‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬ ‫تدعم‬Inference engine‫و‬Flow engine. -‫من‬ ‫واسع‬ ‫طيف‬ ‫تدعم‬.‫المعارف‬ ‫تمثيل‬ ‫طرق‬ -‫بلغة‬ ‫مكتوبة‬C#‫على‬ ‫العمل‬ ‫حين‬ ‫معها‬ ‫التعامل‬ ‫يسهل‬ ‫ما‬ ‫وهو‬ASP.NET. -.‫المساعدة‬ ‫التطبيقات‬ ‫من‬ ‫وموجوعة‬ ‫للمكتبة‬ ‫كامل‬ ‫توثيق‬ ‫وجود‬ -‫وهي‬ ‫المعارف‬ ‫تمثيل‬ ‫في‬ ‫عالمية‬ ‫معيارية‬ ‫لطريقة‬ ‫دعمها‬RuleML. 6-1-3:‫المعارف‬ ‫تمثيل‬ ‫طريقة‬ ‫اختيار‬ ‫مكتبة‬ ‫تدعمها‬ ‫التي‬ ‫الطرق‬ ‫إن‬NxBRE‫تمثيل‬ ‫طرق‬ ‫من‬ ‫أنواع‬ ‫لخمس‬ ‫دعما‬ ‫تقدم‬ ‫فهي‬ ،‫متعددة‬ ‫المعارف‬ ‫لتمثيل‬ ،‫المعارف‬‫أن‬ ‫في‬ ‫هي‬ ‫األساسية‬ ‫والميزة‬‫بعض‬‫هذه‬‫تمثيل‬ ‫طرق‬ ‫من‬ ‫كطريقة‬ ‫عليها‬ ‫ومعترف‬ ،‫موثقة‬ ‫عالمية‬ ‫المعايير‬ :‫الطرق‬ ‫هذه‬ ،‫الخبرة‬ -‫ملف‬XML‫معيار‬ ‫باستخدام‬ ‫مكتوب‬RuleML‫في‬ ‫استخدامه‬ ‫تم‬ ‫الذي‬ ‫وهو‬ ‫الخبرة‬ ‫لتمثيل‬ ‫عالمي‬ ‫معيار‬ ‫وهو‬ .‫التطبيق‬ -‫ملفات‬VDX‫برنامج‬ ‫باستخدام‬ ‫كتابتها‬ ‫يمكن‬ ‫والتي‬Visio‫حزمة‬ ‫مع‬ ‫يأتي‬ ‫الذي‬MicroSoft‫تؤمن‬ ‫والتي‬ .‫رسومي‬ ‫بشكل‬ ‫والحقائق‬ ‫للقواعد‬ ‫إنشاء‬ ‫عملية‬ -‫ملف‬HRF‫بس‬ ‫قراءته‬ ‫يمكن‬ ،‫البشر‬ ‫للغة‬ ‫شيبه‬ ‫بنحو‬ ‫ملف‬ ‫عن‬ ‫عبارة‬ ‫وهو‬‫صيغة‬ ‫ويشبه‬ ‫هولة‬Prolog‫وهو‬ ‫للعبارة‬ ‫اختصار‬human-readable format. -‫بصيغ‬ ‫ملفات‬XSD‫النوع‬ ‫من‬businessRules.xsd. -‫بصيغ‬ ‫ملفات‬XSD‫النوع‬ ‫من‬xBusinessRules.xsd. ‫التوصيف‬ ‫استخدام‬ ‫تم‬RuleML‫به‬ ‫يتمتع‬ ‫لما‬ ‫التطبيق‬ ‫في‬ ‫المعرفة‬ ‫لتمثيل‬ ‫المعياري‬‫من‬‫االختيار‬ ‫تجعله‬ ‫مزايا‬ :‫هي‬ ‫الميزات‬ ‫هذه‬ ،‫األمثل‬ -‫معيار‬ ‫يعتبر‬RuleML‫وثيقة‬ ‫تحت‬ ‫موصف‬ ‫عالمي‬ ‫معيار‬RIF‫الـ‬ ‫بتوصيفات‬ ‫الخاصة‬W3C. -‫أشهرهم‬ ‫شركات‬ ‫عدة‬ ‫من‬ ‫جدا‬ ‫واسع‬ ‫بدعم‬ ‫يتميز‬W3C‫جامعة‬ ‫أشهرها‬ ‫الجامعات‬ ‫من‬ ‫عدد‬ ‫و‬Cambridge. -‫د‬ ‫بشكل‬ ‫تعقد‬ ‫مؤتمرات‬ ‫خال‬ ‫من‬ ‫عليه‬ ‫تطويرات‬ ‫إجراء‬ ‫يتم‬،‫التقنيات‬ ‫آخر‬ ‫مع‬ ‫دوما‬ ‫متوافقا‬ ‫جعله‬ ‫يتم‬ ‫بحيث‬ ‫ائم‬ ‫إجراء‬ ‫تم‬ ‫وقد‬8‫شهر‬ ‫في‬ ‫القادم‬ ‫المؤتمر‬ ‫وسيعقد‬ ‫اآلن‬ ‫إلى‬ ‫مؤتمرات‬August.‫العام‬ ‫هذا‬ ‫من‬ -،‫الويب‬ ‫مع‬ ‫تماما‬ ‫متوافق‬ ‫فهو‬ ‫ولذلك‬ ،‫واإلنترنيت‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫المعرفة‬ ‫لتمثيل‬ ‫مخصصا‬ ‫المعيار‬ ‫هذا‬ ‫يعتبر‬ .‫عبره‬ ‫نقله‬ ‫بسهولة‬ ‫ويتميز‬ -‫يتم‬.‫معا‬ ‫والقوة‬ ‫بالبساطة‬ ‫يز‬ -.‫بسيطا‬ ‫أمرا‬ ‫معه‬ ‫التعامل‬ ‫يجعل‬ ‫مما‬ ‫عديدة‬ ‫وتوثيقات‬ ‫متعددة‬ ‫مراجع‬ ‫له‬
  • 75.
    ‫الصفحة‬74 ( ‫الشكل‬6-1)‫مكتبة‬ ‫شعار‬NxBRE‫المعارف‬‫قاعدة‬ ‫ومعيار‬ 6-1-4:‫االستدالل‬ ‫محرك‬ ‫اختيار‬ ‫مكتبة‬ ‫تقدم‬NxBRE:‫وهي‬ ‫االستدالل‬ ‫محركات‬ ‫من‬ ‫نوعين‬ -‫النوع‬ ‫من‬ ‫محركات‬Flow Engine. -‫النوع‬ ‫من‬ ‫محركات‬Inference Engine. ‫النوع‬ ‫من‬ ‫استدالل‬ ‫محرك‬ ‫استخدام‬ ‫تم‬Inference engine‫لبناء‬ ‫عليها‬ ‫االعتماد‬ ‫يمكن‬ ‫مهمة‬ ‫مواصفات‬ ‫من‬ ‫به‬ ‫يتمتع‬ ‫لما‬ :‫الميزات‬ ‫هذه‬ ‫أهم‬ ،‫ومتين‬ ‫قوي‬ ‫خبير‬ ‫نظام‬ -‫مع‬ ‫يتعامل‬3.‫كبيرة‬ ‫مرونة‬ ‫يمنحه‬ ‫ما‬ ‫وهذا‬ ‫المعارف‬ ‫تمثيل‬ ‫طرق‬ ‫من‬ ‫أنواع‬ -‫القواعد‬ ‫في‬ ‫األولوية‬ ‫يدعم‬Rule Priority‫والـ‬Mutual Exclusion‫االستنتاج‬ ‫وعمليات‬ ،Precondition. -‫على‬ ‫معتمدة‬ ‫استنتاج‬ ‫عملية‬ ‫يقدم‬ ‫الذي‬ ،‫اآلخر‬ ‫المحرك‬ ‫خالف‬ ‫على‬ ‫استنتاجي‬ ‫بشكل‬ ‫القواعد‬ ‫تحليل‬ ‫بإمكانية‬ ‫يتمتع‬ if – else. -‫وجود‬ ‫يدعم‬Binder‫الحقائق‬ ‫على‬ ‫يحتوي‬ ‫الذي‬ ‫الملف‬ ‫بين‬‫وبين‬ ‫والقواعد‬ ‫توضح‬( ‫األشكال‬6-2( )7-2)‫تحلي‬ ‫في‬ ‫محرك‬ ‫كل‬ ‫بها‬ ‫يقوم‬ ‫التي‬ ‫الطريقة‬‫الحقائق‬ ‫ل‬:‫ومعالجتها‬ ،
  • 76.
  • 77.
    ‫الصفحة‬76 ( ‫الشكل‬6-3)‫المحرك‬ ‫عمل‬‫طريقة‬[14] Inference engine ‫مميزة‬ ‫االستداللي‬ ‫المحرك‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫الطريقة‬ ‫إن‬‫النتائج‬ ‫يضع‬ ‫بينما‬ ‫محددة‬ ‫ذاكرة‬ ‫في‬ ‫الحقائق‬ ‫بوضع‬ ‫يقوم‬ ‫حيث‬ ‫للغاية‬ ‫ويوجد‬ ،‫لبقائها‬ ‫داع‬ ‫هناك‬ ‫ليس‬ ‫يكون‬ ‫حين‬ ‫منها‬ ‫يتخلص‬ ‫حيث‬ ‫أخرى‬ ‫ذاكرة‬ ‫ضمن‬ ‫القواعد‬3‫ال‬ ‫من‬ ‫أنواع‬‫ذ‬:‫اكرة‬ -‫نوع‬ ‫من‬ ‫الذاكرة‬Global. -‫نوع‬ ‫من‬ ‫الذاكرة‬Isolated -‫نوع‬ ‫من‬ ‫الذاكرة‬Empty Isolated. ‫التالي‬ ‫المخطط‬ ‫يوضح‬:‫الذاكرة‬ ‫مع‬ ‫االستدالل‬ ‫محرك‬ ‫معها‬ ‫يتعامل‬ ‫التي‬ ‫اآللية‬
  • 78.
    ‫الصفحة‬77 ‫الشكل‬(6-4)‫الذاكرة‬ ‫ضمن‬ ‫الحقائق‬‫انتقال‬ ‫مخطط‬[14] 6-2‫الخبير‬ ‫النظام‬ ‫نواة‬Expert System Core: ‫بناء‬ ‫تم‬‫نواة‬‫مكتبة‬ ‫على‬ ‫اعتمادا‬ ‫الخبير‬ ‫النظام‬NxBRE،‫نواة‬ ‫كتابة‬ ‫عملية‬ ‫استغرقت‬Core،‫شهرين‬ ‫مدة‬ ‫الخبير‬ ‫النظام‬ ‫لغة‬ ‫باستخدام‬ ‫النواة‬ ‫برمجة‬ ‫عملية‬ ‫تمت‬ ‫حيث‬C#. ‫التوجه‬ ‫غرضية‬ ‫البرمجة‬ ‫مفاهيم‬ ‫استخدمت‬ ‫حيث‬ ،‫النواة‬ ‫بناء‬ ‫في‬ ‫عالمية‬ ‫برمجية‬ ‫أسس‬ ‫استخدام‬ ‫تم‬Object Oriented، ‫المعطيات‬ ‫بنى‬ ‫ومفاهيم‬Data Structure،‫طبقات‬ ‫إلى‬ ‫النواة‬ ‫تقسيم‬ ‫وتم‬tiers‫عمل‬ ‫تسهل‬ ‫بحيث‬.‫وصيانتها‬ ‫تطويرها‬ ‫ية‬ :‫مستويات‬ ‫ثالث‬ ‫من‬ ‫النواة‬ ‫تتألف‬ -‫طبقة‬‫مباشرة‬ ‫االستدالل‬ ‫محرك‬ ‫مع‬ ‫تتعامل‬(Expert System.) -‫ح‬ ‫من‬ ،‫المعارف‬ ‫قاعدة‬ ‫مع‬ ‫تتعامل‬ ‫طبقة‬‫البيانات‬ ‫قواعد‬ ‫ومع‬ ،‫وقواعد‬ ‫قائق‬(Rules, Facts.) -‫واحد‬ ‫إطار‬ ‫ضمن‬ ‫السابقتين‬ ‫الطبقتين‬ ‫تغلف‬ ‫طبقة‬‫ت‬‫النظام‬ ‫استخدام‬ ‫عملية‬ ‫سهل‬‫الخبير‬(Inference Engine.) ( ‫الشكل‬ ‫يوضح‬6-5،‫الخبير‬ ‫النظام‬ ‫منها‬ ‫يتكون‬ ‫التي‬ ‫الطبقات‬ )‫و‬( ‫الشكل‬ ‫يوضح‬6-6‫وطريقة‬ ‫تفصيلي‬ ‫بشكل‬ ‫الطبقات‬ ) .‫طبقة‬ ‫كل‬ ‫بين‬ ‫االرتباط‬
  • 79.
    ‫الصفحة‬78 ( ‫الشكل‬6-5)‫الخبير‬ ‫النظام‬‫نواة‬ ‫طبقات‬ ( ‫الشكل‬6-6)‫تفصيلي‬ ‫بشكل‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫طبقات‬ 6-2-1‫طبقة‬‫الـ‬Inefernce Engine: ‫الطبقا‬ ‫أهم‬ ‫من‬ ‫مباشرة‬ ‫المكتبة‬ ‫مع‬ ‫بالتعامل‬ ‫الخاصة‬ ‫الطبقة‬ ‫تعد‬‫و‬ ،‫ت‬‫فيها‬ ‫يتم‬‫من‬ ‫األساسية‬ ‫العمليات‬ ‫إجراء‬‫م‬‫عالجة‬ ‫ل‬‫عليه‬ ‫التعديل‬ ‫إمكانية‬ ‫ويجعل‬ ،‫للتطبيق‬ ‫المرونة‬ ‫يتيح‬ ‫ذلك‬ ‫كل‬ ،‫سابقة‬ ‫قواعد‬ ‫على‬ ‫والتعديل‬ ،‫جديدة‬ ‫قواعد‬ ‫وإضافة‬ ،‫لقواعد‬ ‫أمرا‬ ،‫وصيانته‬.‫ممكنا‬ ( ‫الكود‬ ‫يبين‬6-1‫الطبقة‬ ‫األسفل‬ ‫في‬ )Inference Engine.‫مباشرة‬ ‫المكتبة‬ ‫مع‬ ‫تتعامل‬ ‫والتي‬
  • 80.
    ‫الصفحة‬79 Expert System Layer publicclass InferenceEngine { private IInferenceEngine engine = new IEImpl(new CustomBinder()); public void Load_Rules(string Rules_path) { IRuleBaseAdapter Rules_Adapter = new RuleML09NafDatalogAdapter( Rules_path, System.IO.FileAccess.Read); engine.LoadRuleBase(Rules_Adapter); } public void Load_Facts(string Facts_path) { IFactBaseAdapter Facts_Adapter = new RuleML09NafDatalogAdapter( Facts_path, System.IO.FileAccess.Read); engine.LoadFacts(Facts_Adapter); } public void Save_Facts(string Facts_path) { IFactBaseAdapter Facts_Adapter = new RuleML09NafDatalogAdapter( Facts_path, System.IO.FileAccess.Write); engine.SaveFacts(Facts_Adapter); } public void Update_Facts(ListBox Facts_List) { IEnumerator<Fact> Engine_Facts = engine.Facts; Engine_Facts.Reset(); Facts_List.Items.Clear(); int i = 0; while (Engine_Facts.MoveNext()) { Fact f = Engine_Facts.Current; Facts_List.Items.Add("Fact " + i++ + ": " + f.ToString()); } } public void Update_Rules(ListBox Rules_List) { IEnumerator<Implication> Engine_Rules = engine.Implications; Engine_Rules.Reset(); Rules_List.Items.Clear(); int i = 0; while (Engine_Rules.MoveNext()) { Implication imp = Engine_Rules.Current; Rules_List.Items.Add("Rule " + i++ + ": " + imp.Label.ToString());
  • 81.
    ‫الصفحة‬80 ‫الكود‬(6-1)‫الطبقة‬Inference Engine Rules_List.Items.Add("AtomGroup :" + imp.AtomGroup.ToString()); } } public void Process() { engine.Process(); } public List<Fact> Run_Query(string Query) { IList<IList<Fact>> qrs = engine.RunQuery(Query); List<Fact> result = new List<Fact>(); foreach (IList<Fact> facts in qrs) foreach (Fact fact in facts) result.Add(fact); return result; } public void Remove_Facts() { IEnumerator<Fact> Engine_Facts = engine.Facts; Engine_Facts.Reset(); List<Fact> list = new List<Fact>(); while (Engine_Facts.MoveNext()) { Fact f = Engine_Facts.Current; list.Add(f); } foreach (Fact f in list) engine.Retract(f); } public void Add_Fact(Fact f, string id) { engine.Modify(id, f); if (engine.FactExists(id) == true) engine.Modify(id, f); else engine.Assert(f); } public bool Fact_Exist(string id) { return engine.FactExists(id); } }
  • 82.
    ‫الصفحة‬81 6-2-2:‫بالتطبيق‬ ‫الخاصة‬ ‫المعارف‬‫قاعدة‬ ‫باستخدام‬ ‫سابقا‬ ‫ذكر‬ ‫كما‬ ‫بنائها‬ ‫تم‬ ‫حيث‬ ،‫الخبير‬ ‫وللنظام‬ ‫للموقع‬ ‫األساسية‬ ‫القوة‬ ‫نقاط‬ ‫إحدى‬ ‫المعارف‬ ‫قاعدة‬ ‫تعتبر‬ ‫معيا‬‫ر‬‫الموقع‬ ‫يقوم‬ ،‫عالمي‬( ‫والحقائق‬ ‫الـقواعد‬ ‫طبقتي‬ ‫عبر‬ ‫المعارف‬ ‫بقاعدة‬ ‫بالتحكم‬Facts, Rules)‫معالجة‬ ‫تمت‬ ‫حيث‬ ، ‫هذه‬ ‫عبر‬ ‫الموقع‬ ‫به‬ ‫يقوم‬ ‫ذلك‬ ‫كل‬ ،‫االستعالمات‬ ‫وتشغيل‬ ،‫الحقائق‬ ‫إلى‬ ‫والوصول‬ ،‫وتعديلها‬ ،‫للقواعد‬ ‫اإلضافة‬ ‫حاالت‬ ‫كافة‬ .‫الطبقة‬ ‫الكود‬ ‫يوضح‬(6-2‫تطبيق‬ ‫يحتويها‬ ‫التي‬ ‫القواعد‬ ‫من‬ ‫جزء‬ )‫تصميمه‬ ‫تم‬ ‫الذي‬ ‫الويب‬: RuleML Knowledg Base <?xml version="1.0" encoding="utf-8" standalone="no"?> <RuleML xmlns="http://www.ruleml.org/0.9/xsd" xsi:schemaLocation="http://www.ruleml.org/0.9/xsd ruleml-0_9-nafdatalog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <oid> <Ind>Rules Knowledge Base</Ind> </oid> <!--Queries--> <Query> <oid> <Ind>Get Actual Rating</Ind> </oid> <Atom> <op> <Rel>ACTUAL RATING</Rel> </op> <Var>username</Var> <Var>coursename</Var> <Var>actualrating</Var> </Atom> </Query> <Query> <oid> <Ind>Get User Friend</Ind> </oid> <Atom> <op> <Rel>USER FRIEND</Rel> </op> <Var>username</Var> <Var>priority</Var> </Atom> </Query> <Query> <oid>
  • 83.
    ‫الصفحة‬82 <Ind>Get Courses Priority</Ind> </oid> <Atom> <op> <Rel>COURSEPRIORITY</Rel> </op> <Var>coursename</Var> <Var>priority</Var> </Atom> </Query> <!--Implications--> <Assert> <!--Actual Rating Rule--> <Implies> <oid> <Ind>Calculate acctual rate</Ind> </oid> <body> <And> <Atom> <op> <Rel>USER EXPERT</Rel> </op> <Var>user_name</Var> <Var>category_name</Var> <Var>user_expert</Var> </Atom> <Atom> <op> <Rel>RATE</Rel> </op> <Var>user_name</Var> <Var>course_name</Var> <Var>user_rate</Var> </Atom> <Atom> <op> <Rel>CATEGORY</Rel> </op> <Var>course_name</Var> <Var>category_name</Var> </Atom> <Atom> <op> <Rel>LEVEL</Rel> </op> <Var>course_name</Var> <Var>course_level</Var> </Atom>
  • 84.
    ‫الصفحة‬83 <Atom> <op> <Rel uri="nxbre://operator">GreaterThanEqualTo</Rel> </op> <Var>user_expert</Var> <Var>course_level</Var> </Atom> </And> </body> <head> <Atom> <op> <Rel>ACTUAL RATING</Rel> </op> <Var>user_name</Var> <Var>course_name</Var> <Var>user_rate</Var> </Atom> </head> </Implies> <!--CoursesPriority Rules--> <Implies> <oid> <Ind>Calculate Courses Priority L=E(5)</Ind> </oid> <body> <And> <Atom> <op> <Rel>FINAL RATE</Rel> </op> <Var>course_name</Var> <Ind>5</Ind> </Atom> <Atom> <op> <Rel>CATEGORY</Rel> </op> <Var>course_name</Var> <Var>category_name</Var> </Atom> <Atom> <op> <Rel>USER EXPERT</Rel> </op> <Var>user_name</Var> <Var>category_name</Var> <Var>user_expert</Var>
  • 85.
    ‫الصفحة‬84 ‫الكود‬(6-2)‫بالموقع‬ ‫الخاصة‬ ‫المعارف‬‫قاعدة‬ ‫من‬ ‫جزء‬ 6-3:‫العملي‬ ‫التطبيق‬ ‫المختصين‬ ‫غير‬ ‫قبل‬ ‫من‬ ‫استخدامه‬ ‫عملية‬ ‫تجعل‬ ‫الخبير‬ ‫للنظام‬ ‫استخدام‬ ‫واجهة‬ ‫إنتاج‬ ‫في‬ ‫يتجسد‬ ‫للمشروع‬ ‫العملي‬ ‫التطبيق‬ ‫إن‬ ،‫ممكنا‬‫اال‬ ‫يجب‬ ‫التي‬ ‫األمور‬ ‫أهم‬ ‫من‬ ‫الخبير‬ ‫النظام‬ ‫تغلف‬ ‫التي‬ ‫الواجهة‬ ‫إن‬‫الخبير‬ ‫النظام‬ ‫مع‬ ‫يتعامل‬ ‫ال‬ ‫المستخدم‬ ‫ألن‬ ‫وذلك‬ ‫بها‬ ‫عتناء‬ ‫معه‬ ‫يتعامل‬ ‫بل‬ ،‫مباشرة‬‫النظام‬ ‫كل‬ ‫فإن‬ ‫المستخدم‬ ‫يريدها‬ ‫التي‬ ‫والبساطة‬ ‫السهولة‬ ‫تحقق‬ ‫ال‬ ‫الواجهة‬ ‫هذه‬ ‫كانت‬ ‫فإذا‬ ،‫الواجهة‬ ‫هذه‬ ‫عبر‬ .‫الخبيرة‬ ‫النظم‬ ‫في‬ ‫وأساسي‬ ،‫مهم‬ ‫أمر‬ ‫الواجهة‬ ‫فبناء‬ ‫لذلك‬ ،‫ومتينا‬ ‫قويا‬ ‫كان‬ ‫مهما‬ ‫يهمه‬ ‫يعد‬ ‫ال‬ ‫الخبير‬ ‫تم‬‫وتصمي‬ ‫الختبارها‬ ‫عملية‬ ‫تطبيقات‬ ‫ضمن‬ ‫الخبير‬ ‫النظام‬ ‫نواة‬ ‫استخدام‬‫وتم‬ ،‫وفائدتها‬ ‫قوتها‬ ‫توضح‬ ‫عملية‬ ‫تطبيقات‬ ‫م‬‫ف‬‫البداية‬ ‫ي‬ ‫العمل‬‫على‬ ‫المبنية‬ ‫الواجهات‬ ‫على‬Windows application‫الـ‬ ‫لغة‬ ‫باستخدام‬C#‫إلى‬ ‫االنتقال‬ ‫تم‬ ‫ثم‬‫يعمل‬ ‫تطبيق‬ ‫برمجة‬‫على‬ ‫الويب‬Web Application.‫تناسبه‬ ‫التي‬ ‫بالكورسات‬ ‫للمستخدم‬ ‫االستشارة‬ ‫يقدم‬ ‫لكل‬ ‫مختلفة‬ ‫مزايا‬ ‫هناك‬ ‫إن‬‫على‬ ‫المبنية‬ ‫الواجهات‬ ‫تتميز‬ ‫حيث‬ ،‫الواجهات‬ ‫أنواع‬ ‫من‬ ‫نوع‬Windows application:‫يلي‬ ‫بما‬ -‫باإلنترنيت‬ ‫االتصال‬ ‫إلى‬ ‫الحاجة‬ ‫دون‬ ‫مباشرة‬ ‫الحاسب‬ ‫على‬ ‫تعمل‬Offline. -.‫برمجتها‬ ‫عملية‬ ‫في‬ ‫أكبر‬ ‫بسهولة‬ ‫تتميز‬ </Atom> <Atom> <op> <Rel>SIGNIN USER</Rel> </op> <Var>user_name</Var> </Atom> <Atom> <op> <Rel>LEVEL</Rel> </op> <Var>course_name</Var> <Var>user_expert</Var> </Atom> </And> </body> <head> <Atom> <op> <Rel>COURSE PRIORITY</Rel> </op> <Var>course_name</Var> <Ind>25</Ind> </Atom> </head> </Implies> </Assert> </RuleML>
  • 86.
    ‫الصفحة‬85 -.‫الويب‬ ‫على‬ ‫المبنية‬‫التطبيقات‬ ‫من‬ ‫أسرع‬ ‫تعتبر‬ ‫على‬ ‫المبنية‬ ‫الواجهة‬ ‫وتتمتع‬:‫يلي‬ ‫بما‬ ‫الويب‬ -.‫معها‬ ‫التعامل‬ ‫من‬ ‫األحد‬ ‫ألي‬ ‫الفرصة‬ ‫يتيح‬ ‫مما‬ ‫عالمية‬ ‫شبكة‬ ‫على‬ ‫موجودة‬ -.‫التقليدية‬ ‫المكتب‬ ‫سطح‬ ‫تطبيقات‬ ‫مع‬ ‫مقارنة‬ ‫أكثر‬ ‫مرن‬ ‫بالويب‬ ‫الخاص‬ ‫التصميم‬ ‫يعتبر‬ ( ‫الشكل‬6-7)‫واجهة‬ ‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬Windows application 6-3-1‫الويب‬ ‫تطبيق‬Web Application: ‫كورسات‬ ‫على‬ ‫بالحصول‬ ‫الراغبين‬ ‫لألشخاص‬ ‫االستشارة‬ ‫يقدم‬ ‫األنترنيت‬ ‫شبكة‬ ‫على‬ ‫يعمل‬ ‫تطبيق‬ ‫وبرمجة‬ ‫تصميم‬ ‫تم‬ ‫من‬ ‫قوية‬ ‫مكتبة‬ ‫على‬ ‫واعتمادا‬ ،‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫باستخدام‬ ‫التطبيق‬ ‫برمجة‬ ‫وتم‬ ،‫اختصاصهم‬ ‫ضمن‬ ‫ومن‬ ‫تهمهم‬ ‫محددة‬ ‫مكتبة‬ ‫وهي‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬NxBRE. ‫بنا‬ ‫تم‬‫لكل‬ ‫متعددة‬ ‫طبقات‬ ‫وضع‬ ‫تم‬ ‫حيث‬ ،‫عالمية‬ ‫برمجية‬ ‫أسس‬ ‫على‬ ‫واعتمادا‬ ،‫الويب‬ ‫تقنيات‬ ‫آخر‬ ‫باستخدام‬ ‫الموقع‬ ‫ء‬ )..... ،‫بالمدير‬ ‫خاصة‬ ‫طبقة‬ ،‫المبرمجة‬ ‫لألدوات‬ ‫طبقة‬ ،‫المعطيات‬ ‫لقواعد‬ ‫(طبقة‬ ‫الموقع‬ ‫في‬ ‫هيكلية‬ ‫في‬ ‫استخدم‬‫برنامج‬ ‫التطبيق‬ ‫برمجة‬Microsoft Visual studio 2013‫المتعددة‬ ‫الويب‬ ‫برمجة‬ ‫لغات‬ ‫على‬ ‫وبالعمل‬ ‫التالية‬ ‫اللغات‬ ‫استخدمت‬ ‫حيث‬ ،‫الويب‬ ‫برمجة‬ ‫لغات‬ ‫إصدارات‬ ‫وآخر‬ ‫التقنيات‬ ‫آخر‬ ‫على‬ ‫اإلمكان‬ ‫قدر‬ ‫االعتماد‬ ‫تم‬ ‫وقد‬ :‫وظيفتها‬ ‫بحسب‬ -:‫الموقع‬ ‫تصميم‬‫باستخدام‬ ‫الموقع‬ ‫تصميم‬ ‫تم‬HTML5‫و‬CSS3‫مكتبة‬ ‫على‬ ‫االعتماد‬ ‫إلى‬ ‫باإلضافة‬ JCarousel. -‫برمجة‬:‫العميل‬ ‫جهة‬ ‫من‬ ‫الموقع‬‫لغة‬ ‫على‬ ‫العمل‬ ‫تم‬JavaScript‫مكتبتي‬ ‫على‬ ‫االعتماد‬ ‫إلى‬ ‫باإلضافة‬JQuery ‫و‬JCarousel. -:‫المخدم‬ ‫جهة‬ ‫من‬ ‫الموقع‬ ‫برمجة‬‫لغة‬ ‫استخدام‬ ‫تم‬ASP.NET. -:‫الببيانات‬ ‫قاعدة‬‫استخدام‬ ‫تم‬SQL Server 2008.
  • 87.
    ‫الصفحة‬86 ‫يب‬( ‫الشكل‬ ‫ين‬6-7.‫للموقع‬‫الرئيسة‬ ‫الصفحة‬ ) ( ‫الشكل‬6-8)‫على‬ ‫الخبير‬ ‫النظام‬ ‫تطبيق‬‫الويب‬ 6-3-2‫هيكلية‬‫الموقع‬: ‫االهتمام‬ ‫تم‬‫من‬ ‫تجعل‬ ‫عالمية‬ ‫برمجية‬ ‫مبادئ‬ ‫على‬ ‫اعتمادا‬ ‫الكود‬ ‫بناء‬ ‫تم‬ ‫حيث‬ ،‫األولى‬ ‫بالدرجة‬ ‫الموقع‬ ‫ببرمجة‬ ‫م‬ ‫طبقة‬ ‫تصميم‬ ‫القواعد‬ ‫هذه‬ ‫أهم‬ ‫من‬ ،‫ممكنا‬ ‫أمرا‬ ‫المستقبل‬ ‫في‬ ‫الموقع‬ ‫تطوير‬ ‫عملية‬‫خصصة‬‫تدي‬ ‫حيث‬ ،‫البيانات‬ ‫لقواعد‬‫ر‬ ‫البرمجة‬ ‫أسس‬ ‫على‬ ‫وبنيت‬ ،‫وتعديل‬ ‫وحذف‬ ‫إضافة‬ ‫من‬ ‫بالتطبيق‬ ‫الخاصة‬ ‫البيانات‬ ‫بقاعدة‬ ‫الخاصة‬ ‫العمليات‬ ‫كل‬ ‫الطبقة‬ ‫هذه‬ .‫التوجه‬ ‫غرضية‬ ‫من‬ ‫الموقع‬ ‫بنية‬ ‫تتألف‬4:‫أساسية‬ ‫مكونات‬ -‫وتشكيل‬ ‫الويب‬ ‫موقع‬ ‫تصميم‬ ‫على‬ ‫يعتمد‬ ‫الذي‬ ‫الجزء‬ ‫وهو‬ :‫بالتصميم‬ ‫الخاص‬ ‫الجزء‬‫وطريق‬ ‫الموقع‬ ‫صفحات‬‫ة‬ ‫التصميم‬ ‫ومكتبات‬ ‫تقنيات‬ ‫آخر‬ ‫على‬ ‫االعتماد‬ ‫الجزء‬ ‫هذا‬ ‫في‬ ‫تم‬ ،‫البيانات‬ ‫عرض‬‫مثل‬BootStrap, JCarousel،‫العميل‬ ‫جهة‬ ‫من‬ ‫البرمجة‬ ‫واستخدام‬JavaScript‫للموقع‬ ‫الديناميكية‬ ‫إلضافة‬JQuery, AJAX. -‫المخد‬ ‫جهة‬ ‫من‬ ‫بالكود‬ ‫الخاص‬ ‫الجزء‬ ‫وهو‬ :‫البرمجية‬ ‫األكواد‬ ‫جزء‬‫تقنية‬ ‫استخدام‬ ‫فيه‬ ‫وتم‬ ،‫م‬ASP.NET‫وبلغة‬ C#:‫قسمين‬ ‫إلى‬ ،‫المعالجة‬ ‫عمليات‬ ‫تقسيم‬ ‫بعدها‬ ‫وتم‬ ،‫مرات‬ ‫عدة‬ ‫الستخدامها‬ ‫أدوات‬ ‫تصميم‬ ‫الجزء‬ ‫هذا‬ ‫في‬ ‫تم‬ ، .‫الموقع‬ ‫مستخدمين‬ ‫بعمليات‬ ‫خاص‬ ‫قسم‬ ‫الـ‬ ‫بعمليات‬ ‫خاص‬ ‫قسم‬Admin.
  • 88.
    ‫الصفحة‬87 -‫نوع‬ ‫من‬ ‫بيانات‬‫قاعدة‬ ‫مع‬ ‫الموقع‬ ‫في‬ ‫التعامل‬ ‫تم‬ :‫البيانات‬ ‫قاعدة‬ ‫مع‬ ‫بالتعامل‬ ‫الخاص‬ ‫الجزء‬SQL Server، ‫تقنية‬ ‫على‬ ‫االعتماد‬ ‫وتم‬LINQ‫التقنية‬ ‫هذه‬ ‫تقوم‬ ‫حيث‬ ،‫التوجه‬ ‫غرضي‬ ‫بشكل‬ ‫البيانات‬ ‫قاعدة‬ ‫جداول‬ ‫مع‬ ‫للتعامل‬ ‫إلى‬ ‫واألعمدة‬ ‫والسجالت‬ ‫الجداول‬ ‫تحويل‬ ‫على‬Classes. -‫النظام‬ ‫نواة‬.‫الموقع‬ ‫ضمن‬ ‫استخدامها‬ ‫تم‬ ‫حيث‬ ‫البحث‬ ‫في‬ ‫تصميمها‬ ‫تم‬ ‫التي‬ ‫النواة‬ ‫وهي‬ :‫الخبير‬ ( ‫الشكل‬ ‫يبين‬6-8.‫يحتويها‬ ‫التي‬ ‫والطبقات‬ ،‫الموقع‬ ‫هيكلية‬ ) ( ‫الشكل‬6-9)‫هيكلية‬‫موقع‬‫الويب‬ 6-3-3‫الويب‬ ‫موقع‬ ‫صفحات‬: ‫التي‬ ‫الصفحات‬ ‫غالب‬ ‫تصميم‬ ‫تم‬ ‫حيث‬ ،‫الويب‬ ‫موقع‬ ‫ضمن‬ ‫الصفحات‬ ‫من‬ ‫العديد‬ ‫يوجد‬‫وي‬ ‫موقع‬ ‫أي‬ ‫يتطلبها‬‫ب‬ ‫عن‬ ‫الـمسؤول‬ ‫وصفحات‬ ،‫معين‬ ‫شيء‬ ‫عن‬ ‫لالستفسار‬ ‫الموقع‬ ‫أصحاب‬ ‫مع‬ ‫والتواصل‬ ،‫الدخول‬ ‫تسجيل‬ ‫من‬ ‫يتم‬ ‫التي‬ ‫والحقائق‬ ‫يحتويها‬ ‫التي‬ ‫والقواعد‬ ،‫الخبير‬ ‫النظام‬ ‫عمليات‬ ‫فيها‬ ‫توضح‬ ‫إضافية‬ ‫صفحات‬ ‫إلى‬ ‫الموقع،باإلضافة‬ .‫استنتاجها‬ ‫ال‬ ‫الصفحة‬ ‫هي‬ ‫الموقع‬ ‫ضمن‬ ‫الصفحات‬ ‫أهم‬‫يتم‬ ‫والتي‬ ،‫الموقع‬ ‫يتصفح‬ ‫الذي‬ ‫المستخدم‬ ‫تناسب‬ ‫التي‬ ‫الكورسات‬ ‫تبين‬ ‫تي‬ ‫وبعض‬ ،‫المدرس‬ ‫واسم‬ ،‫يحتاجها‬ ‫التي‬ ‫الساعات‬ ‫عدد‬ ‫مع‬ ‫كورس‬ ‫كل‬ ‫توضيح‬ ‫فيها‬ ‫يتم‬ ،‫الخبير‬ ‫النظام‬ ‫طريق‬ ‫عن‬ ‫استنتاجها‬ ‫ق‬ ‫من‬ ‫أيضا‬ ‫استنتاجه‬ ‫يتم‬ ‫والذي‬ ‫الكورس‬ ‫تقييم‬ ‫هي‬ ‫الصفحة‬ ‫هذه‬ ‫في‬ ‫يعرض‬ ‫ما‬ ‫أهم‬ ،‫األخرى‬ ‫التفاصيل‬‫ا‬ ‫النظام‬ ‫بل‬.‫لخبير‬ ( ‫الشكل‬ ‫يوضح‬6-9.‫الكورسات‬ ‫صفحة‬ )
  • 89.
    ‫الصفحة‬88 ( ‫الشكل‬6-10)‫الكورسات‬ ‫صفحة‬ 6-3-4‫تجريب‬‫توافقية‬‫الموقع‬: ‫على‬‫العمل‬ ‫تم‬ ‫وقد‬ ‫إصداراتها‬ ‫بآخر‬ ‫الويب‬ ‫مستعرضات‬ ‫مع‬ ‫توافقية‬ ‫أكبر‬ ‫يحقق‬ ‫بحيث‬ ‫التطبيق‬ ‫تجريب‬ ‫تم‬4 ،‫التشغيل‬ ‫أنظمة‬ ‫غالب‬ ‫على‬ ‫تعمل‬ ‫ويب‬ ‫مستعرضات‬‫تحقق‬ ‫استخدامها‬ ‫تم‬ ‫التي‬ ‫المكتبات‬ ‫إن‬‫من‬ ‫كبيرة‬ ‫نسبة‬‫ال‬‫مع‬ ‫توافق‬ .‫االختبار‬ ‫عملية‬ ‫سهل‬ ‫ما‬ ‫وهذا‬ ،‫الويب‬ ‫مستعرضات‬ ‫غالب‬ :‫هي‬ ‫عليها‬ ‫العمل‬ ‫تم‬ ‫التي‬ ‫المستعرضات‬ Mozilla FireFox Version 28.0
  • 90.
    ‫الصفحة‬89 Google Chrome Version34. 0.1847.131 m Internet Explorer 11 Version 11.0.9600 Opera browser 9.6
  • 91.
    ‫الصفحة‬90 ‫الفصل‬‫السابع‬: ‫التطويرية‬ ‫والمقترحات‬ ‫الخاتمة‬ :‫الفصل‬‫هذا‬ ‫في‬ ›‫الخاتمة‬. ›.‫التطويرية‬ ‫المقترحات‬
  • 92.
    ‫الصفحة‬91 :‫التطويرية‬ ‫المقترحات‬ ،‫الخاتمة‬:‫السابع‬ ‫الفصل‬ 7-1:‫الخاتمة‬ ‫مباشرة‬ ‫العمل‬ ‫قيد‬ ‫وضعه‬ ‫يمكن‬ ‫عملي‬ ‫ويب‬ ‫موقع‬ ‫على‬ ‫المشروع‬ ‫في‬ ‫العمل‬ ‫تم‬‫من‬ ‫واسعة‬ ‫لشريحة‬ ‫الفائدة‬ ‫يحقق‬ ‫وبشكل‬ ‫يتم‬ ‫التي‬ ‫التطبيقات‬ ‫بين‬ ‫هوة‬ ‫هناك‬ ‫تكون‬ ‫ما‬ ‫غالبا‬ ‫حيث‬ ،‫المشروع‬ ‫تنفيذ‬ ‫في‬ ‫لي‬ ‫دافعا‬ ‫كانت‬ ‫بالذات‬ ‫النقطة‬ ‫هذه‬ ‫إن‬ ،‫المستخدمين‬ .‫العمل‬ ‫سوق‬ ‫يحتاجه‬ ‫ما‬ ‫وبين‬ ‫طالبيا‬ ‫تصميمها‬ ‫غ‬ ‫مهمة‬ ‫فكرة‬ ‫على‬ ‫يحتوي‬ ‫حيث‬ ،‫ابتكاريته‬ ‫هو‬ ‫الموقع‬ ‫به‬ ‫يتميز‬ ‫ما‬ ‫أهم‬ ‫من‬‫تقديم‬ ‫فكرة‬ ‫وهي‬ ‫اآلن‬ ‫إلى‬ ‫الويب‬ ‫على‬ ‫متواجدة‬ ‫ير‬ ‫المستخدمين‬ ‫هؤالء‬ ‫بها‬ ‫يتميز‬ ‫التي‬ ‫الخبرة‬ ‫هذه‬ ‫من‬ ‫االستفادة‬ ‫تم‬ ‫حيث‬ ،‫اآلخرين‬ ‫خبرة‬ ‫من‬ ‫االستفادة‬ ‫عبر‬ ‫لألشخاص‬ ‫االستشارة‬ ‫أيضا‬ ،‫أخرين‬ ‫أناس‬ ‫قبل‬ ‫من‬ ‫منها‬ ‫ويستفاد‬ ‫تعمم‬ ‫الفائدة‬ ‫هذه‬ ‫فإن‬ ‫وبالتالي‬ ‫آخرين‬ ‫مستخدمين‬ ‫فائدة‬ ‫ضمن‬ ‫ووضعها‬‫يتميز‬‫الموقع‬ ‫هذا‬ .‫ممكنا‬ ‫أمرا‬ ‫ويانته‬ ‫تطويره‬ ‫عملية‬ ‫تصبح‬ ‫بحيث‬ ‫عليه‬ ‫بنائه‬ ‫تم‬ ‫الذي‬ ‫القوي‬ ‫بالبناء‬ ‫أمرا‬ ‫تشكل‬ ‫كانت‬ ‫التي‬ ‫االمور‬ ‫من‬ ‫العديد‬ ‫تعلمت‬ ‫وبها‬ ‫مثمرة‬ ‫كانت‬ ‫المعارف‬ ‫تمثيل‬ ‫ومعايير‬ ‫الخبيرة‬ ‫النظم‬ ‫مكتبات‬ ‫عن‬ ‫البحث‬ ‫عملية‬ ‫ال‬ ‫ووضحت‬ ،‫اإلبهام‬ ‫هذا‬ ‫جالء‬ ‫تم‬ ،‫لي‬ ‫بالنسبة‬ ‫مبهما‬.‫خبير‬ ‫لنظام‬ ‫متكامل‬ ‫تطبيق‬ ‫على‬ ‫الحصول‬ ‫مع‬ ‫رؤية‬ ‫عند‬ ‫يظهر‬ ‫بحيث‬ ،‫عليه‬ ‫بالعمل‬ ‫أستمر‬ ‫لكي‬ ‫إضافيا‬ ‫وقتا‬ ‫هناك‬ ‫كان‬ ‫لو‬ ‫وأتمنى‬ ‫الكثير‬ ‫وقتي‬ ‫من‬ ‫فيه‬ ‫بذلت‬ ،‫لي‬ ‫فخرا‬ ‫البحث‬ ‫هذا‬ ‫كان‬ ‫ال‬ ‫في‬ ‫أكبر‬ ‫بشكل‬ ‫المشروع‬ ‫على‬ ‫العمل‬ ‫سيتم‬ ‫حيث‬ ،‫الكبيرة‬ ‫بالمشكلة‬ ‫ليست‬ ‫هذه‬ ‫أن‬ ‫إال‬ ،‫الكامل‬ ‫بشكله‬ ‫تسليمه‬‫ا‬ ‫عطلة‬.‫لصيفية‬ ‫مواضيع‬ ‫أيضا‬ ،‫أبدا‬ ‫الجامعة‬ ‫في‬ ‫إليه‬ ‫نتطرق‬ ‫ال‬ ‫واسع‬ ‫مجال‬ ‫فهو‬ ،‫الويب‬ ‫عالم‬ ‫لمواضيع‬ ‫قسمنا‬ ‫في‬ ‫أكبر‬ ‫دعم‬ ‫هناك‬ ‫يكون‬ ‫أن‬ ‫أتمنى‬ .‫الحديث‬ ‫التنكولوجي‬ ‫العالم‬ ‫في‬ ‫وأهميتها‬ ،‫الكبيرة‬ ‫قيمتها‬ ‫من‬ ‫الرغم‬ ‫على‬ ‫الجامعة‬ ‫في‬ ‫إغفالها‬ ‫يتم‬ ‫الخبيرة‬ ‫النظم‬ 7-2‫المستقبلية‬ ‫األعمال‬:‫التطويرية‬ ‫والمقترحات‬ ‫أكبر‬ ‫يحقق‬ ‫بحيث‬ ‫الويب‬ ‫شبكة‬ ‫على‬ ‫العمل‬ ‫قيد‬ ‫ووضعه‬ ‫تطويره‬ ‫على‬ ‫العمل‬ ‫سيتم‬ ‫بل‬ ،‫الجامعة‬ ‫حدود‬ ‫عند‬ ‫يقف‬ ‫لن‬ ‫الموقع‬ ‫إن‬ ‫لشركة‬ ‫خاص‬ ‫موقع‬ ‫عن‬ ‫عبارة‬ ‫سيكون‬ ‫حيث‬ ‫منه‬ ‫عملية‬ ‫استفادة‬ ‫هناك‬ ‫سيكون‬ ‫أيضا‬ ،‫للمستخدمين‬ ‫إفادة‬AtomLab‫المتخصصة‬ ‫تطوي‬ ‫لوحات‬ ‫وبناء‬ ‫تصميم‬ ‫في‬.‫المجاالت‬ ‫هذه‬ ‫ضمن‬ ‫تدريبية‬ ‫كورسات‬ ‫وتقديم‬ ،‫رية‬ ‫العلوم‬ ‫هذه‬ ‫بين‬ ‫التكامل‬ ‫يبقى‬ ‫ولك‬ ‫فيه‬ ‫المجاالت‬ ‫من‬ ‫العديد‬ ‫على‬ ‫الدخول‬ ‫يمكن‬ ‫واسع‬ ‫مجال‬ ‫الويب‬ ‫عالم‬ ‫في‬ ‫الصنعي‬ ‫الذكاء‬ ‫مجال‬ ‫إن‬ ‫إلى‬ ‫الصنعي‬ ‫الذكاء‬ ‫من‬ ‫إضافية‬ ‫تقنيات‬ ‫إدخال‬ ‫إلى‬ ‫العمل‬ ‫سيتم‬ ‫لذلك‬ ،‫تطبيق‬ ‫ألي‬ ‫األساسية‬ ‫القوة‬ ‫هي‬ ‫ككل‬‫بحيث‬ ‫الموقع‬‫قويا‬ ‫يصبح‬ ‫هذا‬ ‫من‬ ‫واألهم‬ ،‫المواقع‬ ‫بقية‬ ‫عن‬ ‫تختلف‬ ،‫ومميزا‬ ‫جميال‬ ‫أمرا‬ ‫معه‬ ‫والتفاعل‬ ‫تطويره‬ ‫عملية‬ ‫تجعل‬ ،‫الذكاء‬ ‫من‬ ‫واضحة‬ ‫بلمسة‬ ‫ويتسم‬ .‫عربية‬ ‫بأيدي‬ ‫بني‬ ‫قد‬ ‫سيكون‬ ‫بأنه‬
  • 93.
    ‫الصفحة‬92 ‫المراجع‬ :‫أجنبية‬ ‫مراجع‬ 1- WilliamSiler, James J. Buckley - Fuzzy expert systems and Fuzzy Reasoming Edition.1 – Published simultaneously in Canada – 2005. 2- Harold Boley, Bruce Spencer - Semantic Web Techniques - CS 6999 SWT 3 October 2002. 3- Said Tabet, Harold Boley and Benjamin Grosof - RuleML, Use Cases and Industrial Applications - W3C 2003. :‫عربية‬ ‫مراجع‬ 4-‫السيد‬ ‫خالد‬ .‫د.م‬-‫أصول‬‫اإلصطناعي‬ ‫الذكاء‬2003. 5-‫السبيت‬ ‫تهاني‬-‫االنسيابية‬ ‫األنماط‬ ‫صفحات‬css2005. 6-‫صالح‬ ‫سيد‬ ‫مختار‬-‫تعلم‬JQuery‫في‬120‫دقيقة‬2012. ‫مواقع‬‫الكترونية‬: 7- https://ar.wikipedia.org/ 12/2/2014 8- http://www.alyaseer.net/ 5/4/2014 9- https://www.wikipedia.com/ 16/2/2014 10- http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/ 20/3/2014 11- http://www.ruleml.org 11/12/2013 12- http://www.cs.umd.edu/projects/plus/SHOE 12/4/2014 13- http://www.jboss.com/products/rules 6/4/2014 14- http://www.nxbre.org 7/12/2013 15- http://www.droolsdotnet.codehaus.org 12/4/2014 16- http://www.netbpm.org 11/3/2014 17- http://www.flexrule.com 5/1/2014 18- http://www.cdevworkflow.com/ 12/4/2014 19- http://www.codeplex.com/SimpleFlow 12/4/2014 20- http://www.csharpopensource.com/stateless.aspx 12/4/2014 21- http://www.csharpopensource.com/workflowenginedotnet.aspx 16/4/2014 22- https:// www.github.com/lafar6502/NGinnBPM 16/4/2014 23- http:// www.sourceforge.net/projects/sdsre/ 16/4/2014 24- http://www.arabteam2000-forum.com/ 5/5/2014 25- http://www.google.com/ 11/5/2014 26- http://www.Quora.com/ 11/5/2014 27- http://www.facebook.com/ 11/5/2014 28- http://www.igcseict.info/theory/7_2/expert/ 3/3/2014
  • 94.
    ‫الصفحة‬93 Tishreen University Faculty ofMechanical and Electrical Engineering Department of Computer and Automatic Control Engineering Prepared by: Tareq Mulla Supervised by: Dr. Hasn Al-Ahmad 2013-2014 Studying of expert system Libraries and knowledge representation way A Project prepared for achive degree B.sc in Computer and Automatic Control Engineering