Tutorial Drools: Mesin Aturan Drools Architekstur & Contoh

Apa itu Drool?

Drools adalah Perangkat Lunak Manajemen Aturan Bisnis (BRMS) sumber terbuka yang ditulis dalam Java yang memberi pengguna berbagai fitur seperti Business Rule Engine, pembuatan Web, Aplikasi Manajemen Aturan, dan dukungan runtime untuk Model Keputusan dan model Notasi. Ini menggunakan sistem implementasi lanjutan dari algoritma pencocokan pola rete.

Drools dirilis di bawah Lisensi Apache 2.0 dan kompatibel dengan JVM apa pun dan juga tersedia di Repositori Pusat Maven.

Alat Drools membantu Anda memisahkan dan mempertimbangkan logika dan data yang ditemukan dalam proses bisnis. Ini mendukung mesin aturan air liur berbasis inferensi rantai maju dan mundur.

Air liur dibagi menjadi dua bagian:

  • Penulisan – Ini melibatkan pengembangan file aturan.
  • Runtime – Ini melibatkan penciptaan memori kerja dan penanganan aktivasi.

Apa itu Aturan?

Aturan adalah bagian dari pengetahuan yang sering diungkapkan sebagai, “Ketika kondisi tertentu terjadi, maka lakukan beberapa tugas.”

Bagian paling penting dari sebuah aturan adalah itu ketika bagian. Sekali ketika sebagian puas, kemudian bagian itu dipicu.

sintaks:

When
<Condition is true>
Then
<Take desired Action>

Metode Pencocokan Pola

Metode pencocokan pola membantu Anda membandingkan fakta baru atau lama dengan aturan produksi. Itu diselesaikan oleh Mesin Inferensi.

Algorithms yang digunakan untuk Pencocokan Pola adalah:

  • Algoritma Rete
  • Algoritma Lompatan
  • Algoritma Linier
  • Perlakukan Algoritma

Namun algoritma yang paling banyak digunakan oleh Drools adalah Algoritma Rete.

Algoritma Rete

Algoritme Rete adalah algoritma pencocokan pola berguna yang memungkinkan Anda mengimplementasikan sistem aturan produksi. Ini membantu Anda mengorbankan memori untuk meningkatkan kecepatan. Ini juga mengurangi atau menghilangkan jenis redundansi tertentu dengan bantuan berbagi node. Ini menyimpan sebagian kecocokan saat melakukan penggabungan antara tipe fakta yang berbeda.

Mesin Aturan Ngiler

Mesin Aturan Ngiler adalah pendekatan berbasis aturan untuk mengimplementasikan sistem Pakar pada perangkat lunak Drools. Mesin Aturan menyediakan sistem Pakar yang merupakan sistem berbasis pengetahuan yang membantu Anda mengambil keputusan seperti apa yang harus dilakukan dan bagaimana melakukannya. Ini mengumpulkan pengetahuan menjadi basis pengetahuan yang dapat digunakan untuk penalaran.

Rangkaian Alat Drools

Sekarang dalam tutorial Drools Rule Engine ini, kita akan belajar tentang Drools Tool Suite. Berikut lima jenis alat yang menjadi bagian dari rangkaian Drools:

  • Mengiler Guvnor: Ini adalah repositori terpusat untuk Drools KnowledgeBase.
  • Aliran Air liur: Ini menawarkan alur kerja dan proses bisnis.
  • Penggabungan Ngiler:Alat yang digunakan untuk pemrosesan peristiwa kompleks
  • Pakar Mengiler atau Mesin Aturan: Alat yang berguna untuk melakukan penalaran.
  • Perencana Mengiler: Untuk menawarkan perencanaan otomatis, yang mencakup masalah perencanaan NP-hard.

Komponen penting dalam Drools

Sekarang dalam tutorial Drools ini, mari belajar tentang komponen penting dari Drools.

Berikut adalah istilah penting yang digunakan dalam Drools:

  • Fakta – Fakta mewakili data yang berfungsi sebagai masukan untuk aturan
  • Memori Kerja – Penyimpanan dengan Fakta, yang digunakan untuk pencocokan pola. Itu dapat dimodifikasi, dimasukkan, dan dihapus.
  • Sesi Pengetahuan – Komponen ini menampung semua sumber daya yang diperlukan untuk pengaktifan aturan. Di sini, semua fakta dimasukkan ke dalam satu sesi, dan kemudian aturan yang cocok diterapkan.
  • Basis Pengetahuan – Ini mewakili pengetahuan dalam ekosistem Drools. Ini menyimpan pembentukan sumber daya tempat aturan ditemukan.
  • Modul – Ini adalah modul yang menyimpan beberapa Basis Pengetahuan yang dapat mengadakan sesi berbeda

Architekstur Drools

Mesin Aturan Ngiler Architekstur
Mesin Aturan Ngiler Architekstur

Berikut adalah sistem kerja arsitektur Drools:

Langkah 1) Aturan dimuat ke dalam Basis Aturan, yang tersedia setiap saat.

Langkah 2) Fakta dimasukkan ke dalam Memori Kerja yang kemudian dapat diubah atau ditarik kembali.

Langkah 3) Proses mencocokkan fakta baru atau yang sudah ada dengan aturan produksi disebut pencocokan pola, yang dilakukan oleh mesin Aturan.

Langkah 4) Agenda memungkinkan Anda mengelola urutan pelaksanaan aturan yang bertentangan dengan bantuan strategi resolusi konflik.

Fitur Mengiler

Berikut adalah fitur penting dari Drool:

  • Membantu Anda memisahkan aplikasi dari logika dinamis
  • Pemrograman Deklaratif
  • Sentralisasi Pengetahuan
  • Kecepatan dan Skalabilitas
  • Pisahkan logika dari aplikasi
  • Aturan yang bisa dimengerti

Bagaimana cara menambahkan plugin Drools Eclipse

Sekarang dalam tutorial Drools ini, mari pelajari cara menambahkan plugin Drools Eclipse.

Langkah 1) Klik “Distribution ZIP” untuk Integrasi jBPM
Pergi ke https://www.drools.org/download/download.html dan klik “Distribution ZIP” untuk Integrasi jBPM. Setelah diunduh, ekstrak ke hard drive Anda.

Tambahkan Plugin Drools di Eclipse

Langkah 2) Instal Perangkat Lunak Baru
In Eclipse, pilih Instal Perangkat Lunak Baru.

Tambahkan Plugin Drools di Eclipse

Langkah 3) Klik tombol Tambah
Klik tombol Tambah untuk menambahkan perangkat lunak.

Tambahkan Plugin Drools di Eclipse

Langkah 4) Jelajahi Folder
Di layar berikutnya, Klik Lokal dan Pilih folder “org.drools.updatesite/” lalu Klik Ok.

Tambahkan Plugin Drools di Eclipse

Langkah 5) Klik pada tombol Berikutnya
Pada halaman instalasi remediasi, klik tombol Berikutnya.

Tambahkan Plugin Drools di Eclipse

Langkah 6) Terima perjanjian lisensi
Terima perjanjian lisensi dan klik berikutnya.

Tambahkan Plugin Drools di Eclipse

Langkah 7) Reboot Eclipse
Perangkat lunak akan diunduh dan Anda akan diminta untuk mem-boot ulang Eclipse.

Langkah 8) Proses instalasi selesai
In Windows > Menu Preferensi, Anda akan melihat opsi Drools yang menunjukkan sudah diinstal.

Tambahkan Plugin Drools di Eclipse

Contoh Program Drools Hello World

Di bawah ini adalah contoh Drools untuk program 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

Apa itu Rantai Mundur vs. Maju?

Mesin rantai maju memeriksa fakta dan menghasilkan kesimpulan spesifik.

Mari kita pertimbangkan skenario sistem diagnosis medis. Jika gejala pasien dimasukkan sebagai fakta ke dalam memori kerja, maka mudah untuk mendiagnosis suatu penyakit.

Rantai Mundur vs. Maju

Mesin rantai depan

Mesin rantai mundur memiliki tujuan yang telah ditetapkan, dan mesin tersebut mencoba untuk memuaskannya.

Pertimbangkan skenario diagnosis medis yang sama. Asumsikan bahwa epidemi penyakit tertentu. AI ini dapat berasumsi bahwa seseorang mengidap penyakit tersebut dan berupaya menentukan apakah diagnosisnya benar berdasarkan informasi yang tersedia.

Rantai Mundur vs. Maju

Mesin rantai mundur

Mengapa menggunakan Mesin Aturan Drools?

Berikut adalah alasan utama menggunakan mesin aturan Drools:

  • Aturannya mudah dipahami oleh pengembang dan analis bisnis.
  • Aturan mudah dipertahankan.
  • Rule Engine menggunakan algoritma Rete yang menyatakan bahwa kinerja mesin tidak pernah bergantung pada jumlah aturan.
  • Aturan dapat dimodifikasi dan diterapkan tanpa mematikan aplikasi.
  • Mengeksternalisasikan logika bisnis dari basis kode yang relatif statis.
  • Aturan dikembangkan dalam format yang tidak terlalu rumit sehingga analis bisnis dapat dengan mudah membaca dan memverifikasi sekelompok aturan.
  • Aturan memungkinkan Anda membuat gudang pengetahuan yang dapat dieksekusi dalam bentuk.
  • Alat-alat seperti Eclipse membantu Anda mengelola aturan, mendapatkan respons instan, autentikasi, dan dukungan konten.

Kekurangan Mesin Aturan

Berikut kekurangan/kekurangan penggunaan mesin aturan:

  • Banyak upaya pembelajaran yang diperlukan oleh pengembang untuk mengetahui metode pemrograman ini
  • Mesin aturan bukanlah metode yang aman untuk memecahkan masalah.
  • Perlu memahami cara kerja mesin aturan untuk menghabiskan lebih banyak memori
  • Ada serangkaian aturan yang luas untuk percabangan yang kompleks.

Aturan dapat berubah seiring waktu dan akan berlaku efektif seiring dengan perubahan kode

Ringkasan

  • JBoss Drools adalah Platform integrasi Logika Bisnis (BLiP)
  • Jenis alat Drool adalah : 1) Drools Guvnor 2) Drools Flow 3) Drools Fusion 4) Drools Expert 5) Drools, Planner.
  • Drool membantu Anda memisahkan aplikasi dari logika dinamis.
  • Fakta telah mewakili data yang menjadi masukan bagi aturan.
  • Memori kerja adalah penyimpanan dengan Fakta, yang digunakan untuk pencocokan pola. Itu dapat dimodifikasi, dimasukkan, dan dihapus.
  • Basis pengetahuan adalah komponen yang menampung semua sumber daya yang diperlukan untuk mengaktifkan aturan.
  • Sesi pengetahuan mewakili pengetahuan dalam ekosistem Drools.
  • Basis pengetahuan mewakili pengetahuan dalam ekosistem Drools.
  • Modul menyimpan banyak basis pengetahuan, yang dapat mengadakan sesi berbeda.
  • Aturan adalah bagian dari pengetahuan yang sering diungkapkan sebagai, “Ketika kondisi tertentu terjadi, maka lakukan beberapa tugas.”
  • Drools adalah mesin aturan yang menggunakan pendekatan berbasis aturan untuk mengimplementasikan sistem Pakar.
  • Mesin rantai maju memeriksa fakta dan menghasilkan kesimpulan spesifik.
  • Mesin rantai mundur memiliki tujuan yang telah ditetapkan, dan mesin tersebut mencoba untuk memuaskannya.
  • Algoritme Rete adalah algoritma pencocokan pola berguna yang memungkinkan Anda mengimplementasikan sistem aturan produksi.
  • Aturannya mudah dipahami oleh pengembang dan analis bisnis.
  • Kelemahan utama menggunakan mesin aturan seperti Drool adalah memerlukan banyak upaya pembelajaran yang diperlukan oleh pengembang untuk mengetahui metode pemrograman ini.