برنامج تعليمي حول Drools: محرك القواعد Archiالهيكل والمخطط
⚡ ملخص ذكي
Drools هو نظام مفتوح المصدر لإدارة قواعد الأعمال مكتوب بلغة Java يفصل هذا المورد منطق الأعمال عن كود التطبيق. ويشرح القواعد، وخوارزمية Rete، وبنية Drools ومكوناتها. Eclipse إعداد الملحق، ومثال على قاعدة "مرحباً بالعالم".

ما هو اللعاب؟
يرول هو برنامج مفتوح المصدر لإدارة قواعد الأعمال (BRMS) مكتوب باللغة Java يوفر للمستخدمين مجموعة متنوعة من الميزات مثل Business Rule Engine وتأليف الويب وتطبيق إدارة القواعد ودعم وقت التشغيل لنموذج القرار ونماذج التدوين. ويستخدم نظام تنفيذ متقدم لخوارزمية مطابقة نمط rete.
تم إصدار Drools بموجب ترخيص Apache 2.0 وهو متوافق مع أي JVM ومتوفر في Maven Central Repository أيضًا.
تساعدك أداة Drools على الفصل والتفكير المنطقي والبيانات الموجودة في العمليات التجارية. وهو يدعم محرك قواعد يسيل لعابه القائم على الاستدلال إلى الأمام والخلف.
تنقسم اللعاب إلى قسمين:
- التأليف - أنها تنطوي على تطوير ملفات القواعد.
- وقت التشغيل – يتضمن إنشاء الذاكرة العاملة والتعامل مع التنشيط.
ما هي القاعدة؟
القواعد هي أجزاء من المعرفة غالبًا ما يتم التعبير عنها على النحو التالي: "عند حدوث ظروف معينة، قم ببعض المهام".
الجزء الأكثر أهمية في القاعدة هو أنها متى جزء. مرة واحدة متى الجزء راضي then يتم تشغيل الجزء.
بناء الجملة:
When <Condition is true> Then <Take desired Action>
طريقة مطابقة الأنماط
تساعدك طريقة مطابقة الأنماط على مقارنة الحقائق الجديدة أو القديمة بقواعد الإنتاج. يتم إكماله بواسطة محرك الاستدلال.
Algorithms المستخدمة لمطابقة الأنماط هي:
- خوارزمية ريت
- خوارزمية القفزات
- الخوارزمية الخطية
- علاج الخوارزمية
ومع ذلك، فإن الخوارزمية التي يستخدمها Drools في الغالب هي خوارزمية Rete.
خوارزمية ريت
خوارزمية Rete هي خوارزمية مفيدة لمطابقة الأنماط والتي تسمح لك بتنفيذ أنظمة قواعد الإنتاج. يساعدك على التضحية بالذاكرة من أجل زيادة السرعة. كما أنه يقلل أو يزيل أنواعًا معينة من التكرار بمساعدة مشاركة العقدة. يقوم بتخزين التطابقات الجزئية أثناء إجراء الروابط بين أنواع الحقائق المختلفة.
محرك القاعدة يسيل لعابه
محرك القاعدة يسيل لعابه هو نهج قائم على القواعد لتنفيذ نظام خبير في برنامج Drools. يوفر محرك القاعدة أنظمة خبيرة وهي أنظمة قائمة على المعرفة تساعدك على اتخاذ قرارات مثل ما يجب فعله وكيفية القيام به. فهو يجمع المعرفة في قاعدة معرفية يمكن استخدامها للاستدلال.
مجموعة أدوات Drools
الآن في هذا البرنامج التعليمي Drools Rule Engine، سنتعرف على Drools Tool Suite. فيما يلي خمسة أنواع من الأدوات التي تأتي كجزء من مجموعة Drools:
- يسيل لعابه جوفنور: إنه مستودع مركزي لـ Drools KnowledgeBase.
- تدفق اللعاب: يوفر سير العمل والعمليات التجارية.
- يسيل لعابه فيوجن:أداة تستخدم لمعالجة الأحداث المعقدة
- يسيل لعابه خبيرًا أو محرك القواعد: أداة مفيدة لأداء المنطق.
- مخطط يسيل لعابه: لتقديم التخطيط الآلي، والذي يتضمن مشاكل التخطيط الصعب NP.
مكونات هامة في Drools
الآن في هذا البرنامج التعليمي Drools، دعنا نتعرف على المكونات المهمة لـ Drools.
فيما يلي المصطلحات الأساسية المستخدمة في Drools:
- حقائق - الحقيقة تمثل البيانات التي تكون بمثابة مدخلات للقواعد
- الذاكرة العاملة – التخزين مع الحقائق، حيث يتم استخدامها لمطابقة الأنماط. يمكن تعديله وإدراجه وإزالته.
- جلسة المعرفة - يحتوي هذا المكون على جميع الموارد اللازمة لإطلاق القاعدة. هنا، يتم إدراج كافة الحقائق في الجلسة الواحدة، ثم يتم تشغيل قواعد المطابقة.
- الموسوعة المعرفية - يمثل المعرفة في نظام Drools البيئي. فهو يخزن تكوين الموارد حيث توجد القواعد.
- وحدة - هذه وحدة تقوم بتخزين قواعد معارف متعددة يمكنها عقد جلسات مختلفة
Archiبنية يسيل لعابه

هذا هو نظام العمل الخاص بهندسة Drools:
الخطوة 1) يتم تحميل القواعد في قاعدة القواعد، والتي تكون متاحة في جميع الأوقات.
الخطوة 2) تُخزَّن الحقائق في الذاكرة العاملة حيث يمكن تعديلها أو إعادة صياغتها.tracتيد.
الخطوة 3) تسمى عملية مطابقة الحقائق الجديدة أو الموجودة مع قواعد الإنتاج بمطابقة الأنماط، والتي يتم إجراؤها بواسطة محرك القواعد.
الخطوة 4) تسمح لك الأجندة بإدارة ترتيب تنفيذ القواعد المتعارضة بمساعدة استراتيجية حل النزاع.
مميزات الدرول
فيما يلي ميزات مهمة لـ Drool:
- يساعدك على فصل التطبيق عن المنطق الديناميكي
- البرمجة التصريحية
- مركزية المعرفة
- السرعة وقابلية التوسع
- منطق منفصل عن التطبيق
- قواعد مفهومة
كيفية إضافة الإضافات Drools في Eclipse
الآن في هذا البرنامج التعليمي Drools، دعونا نتعلم كيفية إضافة البرنامج المساعد Drools Eclipse.
الخطوة 1) انقر فوق "Distribution ZIP" لتكامل jBPM
انتقل إلى البرنامج المساعد في التأليف https://www.drools.org/download/download.html ثم انقر على "ملف ZIP للتوزيع" لدمج jBPM. بعد التنزيل، مثالtracقم بتحميله على القرص الصلب الخاص بك.
الخطوة 2) تثبيت برنامج جديد
In Eclipse، حدد تثبيت برنامج جديد.
الخطوة 3) انقر على زر إضافة
انقر على زر إضافة لإضافة برنامج.
الخطوة 4) تصفح المجلد
في الشاشة التالية، انقر فوق Local وحدد المجلد “org.drools.updatesite/” ثم انقر فوق Ok.
الخطوة 5) انقر فوق زر التالي
في صفحة إصلاح التثبيت، انقر فوق الزر التالي.
الخطوة 6) اقبل اتفاقية الترخيص
اقبل اتفاقية الترخيص وانقر فوق "التالي".
الخطوة 7) إعادة تمهيد Eclipse
سيتم تنزيل البرنامج، وسيُطلب منك إعادة تشغيل Eclipse.
الخطوة 8) اكتملت عملية التثبيت
In Windows > قائمة التفضيلات، سترى خيار Droos يشير إلى تثبيته.
برنامج Drolls Hello World مثال
فيما يلي مثال Drools لبرنامج Hello World:
package com.sample import com.sample.DroolsTest.Message; rule "Hello World" when m : Message( status ** Message.Hello, myMessage : message ) then System.out.println( myMessage ); m.setMessage( "Goodbye cruel world" ); m.setStatus( Message.GOODBYE ); update( m ); end rule "GoodBye" when Message( status ** Message.GOODBYE, myMessage : message ) then System.out.println( myMessage ); end
ما هو التسلسل الخلفي مقابل التسلسل الأمامي؟
يقوم محرك السلسلة الأمامية بفحص الحقائق ويستخلص نتيجة محددة.
دعونا نفكر في سيناريو نظام التشخيص الطبي. إذا تم وضع أعراض المريض كحقائق في الذاكرة العاملة، فمن السهل تشخيص إصابته بمرض ما.
محرك السلسلة الأمامية
إن محرك السلسلة الخلفية لديه الهدف المحدد، ويحاول المحرك تحقيقه.
النظر في نفس السيناريو للتشخيص الطبي. افترض أن وباء مرض معين. يمكن أن يفترض هذا الذكاء الاصطناعي أن شخصًا ما مصاب بالمرض ويحاول تحديد ما إذا كان تشخيصه صحيحًا بناءً على المعلومات المتاحة.
محرك ذو سلسلة خلفية
لماذا استخدام محرك Drools Rule؟
فيما يلي الأسباب الرئيسية لاستخدام محرك قواعد Drools:
- القواعد سهلة الفهم للمطورين و محللو الأعمال.
- القواعد يمكن صيانتها بسهولة.
- يستخدم Rule Engine خوارزمية Rete التي تنص على أن أداء المحرك لا يعتمد أبدًا على عدد القواعد.
- يمكن تعديل القواعد ونشرها دون إيقاف التطبيق.
- إضفاء الطابع الخارجي على منطق الأعمال من قاعدة التعليمات البرمجية الثابتة نسبيًا.
- يتم تطوير القواعد بتنسيقات أقل تعقيدًا حتى يتمكن محلل الأعمال من قراءة مجموعة من القواعد والتحقق منها بسهولة.
- تسمح لك القواعد بإنشاء مستودع للمعرفة قابل للتنفيذ في النموذج.
- أدوات مثل Eclipse تساعدك على إدارة القواعد والحصول على استجابة فورية والمصادقة ودعم المحتوى.
عيوب محرك القواعد
فيما يلي عيوب/سلبيات استخدام محرك القواعد:
- يتطلب الكثير من جهد التعلم من قبل المطورين لمعرفة طريقة البرمجة هذه
- محرك القاعدة ليس طريقة آمنة لاستكشاف المشكلات وإصلاحها.
- يحتاج إلى فهم آلية عمل محرك القواعد لاستهلاك المزيد من الذاكرة
- هناك مجموعة واسعة من القواعد للتفرع المعقد.
قد تتغير القواعد بمرور الوقت وستصبح سارية مع تغييرات التعليمات البرمجية












