برنامج تعليمي حول Drools: محرك القواعد Archiالهيكل والمخطط

⚡ ملخص ذكي

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

  • ⚙️ التعريف الأساسي: اللعاب هو Javaنظام إدارة قواعد الأعمال القائم على Rete والذي يقوم بتشغيل قواعد الأعمال باستخدام خوارزمية مطابقة الأنماط.
  • 📜 هيكل القواعد: تتبع القاعدة صيغة "عندما-ثم"، حيث يتم تنفيذ الإجراءات فقط عندما تتطابق شروطها مع الحقائق الموجودة في الذاكرة العاملة.
  • ؟؟؟؟ ️ الهندسة المعمارية: يتم تحميل القواعد في قاعدة بيانات القواعد، وتدخل الحقائق إلى الذاكرة العاملة، ويقوم المحرك بمطابقتها وتشغيلها من خلال جدول أعمال.
  • ؟؟؟؟ Eclipse الإعداد: يتم تثبيت إضافة Drools في Eclipse من خلال ملف توزيع jBPM المضغوط ونافذة تثبيت البرامج الجديدة.
  • 🔄 أوضاع الربط المتسلسل: يدعم Drools التسلسل الأمامي من الحقائق إلى الاستنتاجات والتسلسل العكسي من الهدف إلى الحقائق.

شرح كيفية إفراز اللعاب

ما هو اللعاب؟

يرول هو برنامج مفتوح المصدر لإدارة قواعد الأعمال (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 هي خوارزمية مفيدة لمطابقة الأنماط والتي تسمح لك بتنفيذ أنظمة قواعد الإنتاج. يساعدك على التضحية بالذاكرة من أجل زيادة السرعة. كما أنه يقلل أو يزيل أنواعًا معينة من التكرار بمساعدة مشاركة العقدة. يقوم بتخزين التطابقات الجزئية أثناء إجراء الروابط بين أنواع الحقائق المختلفة.

#1 الأفضل بشكل عامZoho Projects
9.8/ 10
★ ★ ★ ★ ★
ابدأ الإصدار التجريبي المجاني
تحليلات Zoho
9.5/ 10
★ ★ ★ ★ ★
قم بزيارة Zoho Analytics
زوهو WorkDrive
9.3/ 10
★ ★ ★ ★ ★
قم بزيارة Zoho WorkDrive
أفضل من أجلإدارة المشاريعذكاء الأعمال وإعداد التقاريرمشاركة الملفات والتعاون
ميزة رئيسية✓أتمتة المهام المتكررة اليومية والأسبوعية✓تقارير ورؤى مدعومة بالذكاء الاصطناعي✓تحكم المسؤول في الملفات المشتركة
تحتوي ايضا✓عرض كلاسيكي، عرض قائمة، وعرض كانبان✓مزج البيانات من مصادر متعددة✓التعاون في الملفات في الوقت الفعلي
تجربة مجانيّةشنومكس يوم التجربة المجانيةشنومكس يوم التجربة المجانيةشنومكس يوم التجربة المجانية
ابدأ الإصدار التجريبي المجانيقم بزيارة Zoho Analyticsقم بزيارة Zoho WorkDrive

محرك القاعدة يسيل لعابه

محرك القاعدة يسيل لعابه هو نهج قائم على القواعد لتنفيذ نظام خبير في برنامج Drools. يوفر محرك القاعدة أنظمة خبيرة وهي أنظمة قائمة على المعرفة تساعدك على اتخاذ قرارات مثل ما يجب فعله وكيفية القيام به. فهو يجمع المعرفة في قاعدة معرفية يمكن استخدامها للاستدلال.

مجموعة أدوات Drools

الآن في هذا البرنامج التعليمي Drools Rule Engine، سنتعرف على Drools Tool Suite. فيما يلي خمسة أنواع من الأدوات التي تأتي كجزء من مجموعة Drools:

  • يسيل لعابه جوفنور: إنه مستودع مركزي لـ Drools KnowledgeBase.
  • تدفق اللعاب: يوفر سير العمل والعمليات التجارية.
  • يسيل لعابه فيوجن:أداة تستخدم لمعالجة الأحداث المعقدة
  • يسيل لعابه خبيرًا أو محرك القواعد: أداة مفيدة لأداء المنطق.
  • مخطط يسيل لعابه: لتقديم التخطيط الآلي، والذي يتضمن مشاكل التخطيط الصعب NP.

مكونات هامة في Drools

الآن في هذا البرنامج التعليمي Drools، دعنا نتعرف على المكونات المهمة لـ Drools.

فيما يلي المصطلحات الأساسية المستخدمة في Drools:

  • حقائق - الحقيقة تمثل البيانات التي تكون بمثابة مدخلات للقواعد
  • الذاكرة العاملة – التخزين مع الحقائق، حيث يتم استخدامها لمطابقة الأنماط. يمكن تعديله وإدراجه وإزالته.
  • جلسة المعرفة - يحتوي هذا المكون على جميع الموارد اللازمة لإطلاق القاعدة. هنا، يتم إدراج كافة الحقائق في الجلسة الواحدة، ثم يتم تشغيل قواعد المطابقة.
  • الموسوعة المعرفية - يمثل المعرفة في نظام Drools البيئي. فهو يخزن تكوين الموارد حيث توجد القواعد.
  • وحدة - هذه وحدة تقوم بتخزين قواعد معارف متعددة يمكنها عقد جلسات مختلفة

Archiبنية يسيل لعابه

محرك القاعدة يسيل لعابه Architecture
محرك القاعدة يسيل لعابه Architecture

هذا هو نظام العمل الخاص بهندسة 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قم بتحميله على القرص الصلب الخاص بك.

أضف مكونات Drools الإضافية Eclipse

الخطوة 2) تثبيت برنامج جديد
In Eclipse، حدد تثبيت برنامج جديد.

أضف مكونات Drools الإضافية Eclipse

الخطوة 3) انقر على زر إضافة
انقر على زر إضافة لإضافة برنامج.

أضف مكونات Drools الإضافية Eclipse

الخطوة 4) تصفح المجلد
في الشاشة التالية، انقر فوق Local وحدد المجلد “org.drools.updatesite/” ثم انقر فوق Ok.

أضف مكونات Drools الإضافية Eclipse

الخطوة 5) انقر فوق زر التالي
في صفحة إصلاح التثبيت، انقر فوق الزر التالي.

أضف مكونات Drools الإضافية Eclipse

الخطوة 6) اقبل اتفاقية الترخيص
اقبل اتفاقية الترخيص وانقر فوق "التالي".

أضف مكونات Drools الإضافية Eclipse

الخطوة 7) إعادة تمهيد Eclipse
سيتم تنزيل البرنامج، وسيُطلب منك إعادة تشغيل Eclipse.

الخطوة 8) اكتملت عملية التثبيت
In Windows > قائمة التفضيلات، سترى خيار Droos يشير إلى تثبيته.

أضف مكونات Drools الإضافية Eclipse

برنامج 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 تساعدك على إدارة القواعد والحصول على استجابة فورية والمصادقة ودعم المحتوى.

عيوب محرك القواعد

فيما يلي عيوب/سلبيات استخدام محرك القواعد:

  • يتطلب الكثير من جهد التعلم من قبل المطورين لمعرفة طريقة البرمجة هذه
  • محرك القاعدة ليس طريقة آمنة لاستكشاف المشكلات وإصلاحها.
  • يحتاج إلى فهم آلية عمل محرك القواعد لاستهلاك المزيد من الذاكرة
  • هناك مجموعة واسعة من القواعد للتفرع المعقد.

قد تتغير القواعد بمرور الوقت وستصبح سارية مع تغييرات التعليمات البرمجية

الأسئلة الشائعة

نعم. يتم إصدار Drools بموجب رخصة Apache 2.0 وهو مجاني تمامًا ومفتوح المصدر. يعمل على أي JVM وهو متاح من خلال مستودع Maven المركزي لتسهيل دمجه في المشاريع.

تُكتب قواعد Drools بلغة DRL (لغة قواعد Drools)، وهي لغة وصفية تعتمد على بنية "عندما-ثم". كما يمكن كتابة القواعد باستخدام جداول القرار، أو نماذج DMN، أو لغات خاصة بالمجال لمستخدمي الأعمال.

يُحوّل محرك القواعد المنطق إلى قواعد قابلة للصيانة والتغيير دون الحاجة إلى إعادة نشر التطبيق. أما منطق "إذا-وإلا" المُبرمج مسبقًا فيكون مُشتتًا في قاعدة التعليمات البرمجية، ويصعب تحديثه، ولا يتناسب جيدًا مع ازدياد عدد الشروط.

تُطبّق Drools أنظمة الخبراء، وهي فرع كلاسيكي من فروع الذكاء الاصطناعي، من خلال ترميز المعرفة البشرية كقواعد. يعتمد المحرك على الاستدلال بالحقائق للوصول إلى استنتاجات، ويدعم الاستدلال الأمامي والخلفي على غرار أنظمة اتخاذ القرار في الذكاء الاصطناعي الرمزي.

نعم. يمكن لمساعدي الذكاء الاصطناعي صياغة قواعد التعلم العميق المعزز من متطلبات مكتوبة بلغة بسيطة، واكتشاف القواعد المتضاربة أو المتكررة، واقتراح تحسينات. مع ذلك، لا تزال الفرق تتحقق من صحة القواعد المُنشأة لضمان صحة منطق العمل والتنفيذ الموثوق.

تلخيص هذه التدوينة بـ: