Bagikan melalui


Agenda dan Prioritas

Untuk memahami bagaimana mesin Aturan Bisnis mengevaluasi aturan dan menjalankan tindakan, Anda perlu memahami konsep agenda dan prioritas.

Agenda

Agenda adalah jadwal yang digunakan oleh mesin untuk mengantrekan aturan untuk eksekusi. Agenda ini ada untuk instans mesin, dan bertindak berdasarkan satu kebijakan, bukan pada serangkaian kebijakan. Ketika fakta dinyatakan dalam memori kerja dan kondisi aturan tertentu terpenuhi, aturan ditempatkan pada agenda dan dijalankan sesuai dengan prioritas. Tindakan aturan dijalankan secara berurutan dari atas ke bawah, lalu tindakan aturan berikutnya pada agenda dijalankan.

Tindakan milik aturan diperlakukan sebagai blok, sehingga semua tindakan dijalankan sebelum melanjutkan ke aturan berikutnya. Semua tindakan dalam blok aturan akan dijalankan terlepas dari tindakan lain di blok tersebut. Untuk informasi selengkapnya tentang pernyataan, lihat Fungsi Kontrol Mesin.

Contoh berikut menunjukkan cara kerja agenda.

Aturan1

IF  
Fact1 == 1  
THEN  
Action1  
Action2  

Aturan2

IF  
Fact1 > 0  
THEN  
Action3  
Action4  

Kami menegaskan fakta1, yang memiliki nilai 1, ke dalam mesin. Karena kondisi Aturan 1 dan Aturan 2 terpenuhi, kedua aturan dipindahkan ke agenda untuk eksekusi tindakan mereka.

Memori kerja Agenda
Fact1 (nilai=1) Aturan1

- Tindakan1
- Tindakan2

Aturan2

- Action3
- Tindakan4

Prioritas

Prioritas untuk eksekusi ditetapkan pada setiap aturan individual, dengan prioritas default 0 untuk semua aturan. Prioritas dapat berkisar di salah satu sisi 0, dengan angka yang lebih besar memiliki prioritas yang lebih tinggi. Tindakan dijalankan secara berurutan dari prioritas tertinggi hingga prioritas terendah.

Contoh berikut menunjukkan bagaimana prioritas memengaruhi urutan eksekusi untuk aturan.

Rule1 (prioritas = 0)

IF  
Fact1 == 1  
THEN  
Discount = 10%  

Rule2 (prioritas = 10)

IF  
Fact1 > 0  
THEN  
Discount = 15%  

Kondisi untuk kedua aturan telah terpenuhi, tetapi Rule2 dijalankan terlebih dahulu karena memiliki prioritas yang lebih tinggi. Diskon akhir adalah 10 persen, karena merupakan hasil dari tindakan yang dijalankan untuk Rule1, seperti yang ditunjukkan pada tabel berikut.

Memori kerja Agenda
Fact1 (nilai=1) Aturan2

Diskon = 15%

Aturan1

Diskon = 10%

Lihat juga

Mesin Aturan