Podejmowanie decyzji o trybie wykonywania

Użytkownik może wybrać inny tryb wykonania niż domyślny i podać kryteria wyboru.

Tryb wykonywania można wybrać dla każdego zadania reguły przepływu reguł. Domyślnie zadaniem reguły jest przypisywany tryb wykonywania Fastpath podczas jego tworzenia. Aby osiągnąć optymalną wydajność, może być konieczne wybranie innego trybu wykonywania, który jest lepiej dostosowany do reguł w danym zadaniu reguły.

Poniżej znajduje się krótka tabela, w której przedstawiono tryb wykonywania, który należy wybrać w jakich przypadkach.

Tabela 1. Szybki widok wyboru trybu wykonania
Wybierz ten tryb: W tym przypadku:
RetePlus
  • Wszystkie uwzględnione semantynie.
  • Aplikacja stanowa.
  • Łączenie reguł.
  • Przydatny w przypadku wielu obiektów i ograniczonych zmian.
Sekwencyjne
  • Obejmuje większość obserwacji.
  • Wiele reguł, kilka obiektów. Ma ograniczenia. Użyj dla reguł homogenicznych.
  • Wysoce wydajne w środowisku wielowątkowym.

Krótka ścieżka

  • Tryb domyślny dla zadań przepływu reguł.
  • Reguły implementujące strukturę decyzyjną, wiele obiektów.
  • Wysoce wydajne w środowisku wielowątkowym.

Aby określić, który tryb wykonywania ma być używany dla zadania reguły, należy przeanalizować strukturę reguł w zadaniu reguły oraz typ przetwarzania, który mają zostać wykonane.

Uwaga:

Nie można używać algorytmu krótkiej ścieżki lub algorytmu sekwencyjnego, gdy reguły mają działania, które tworzą, modyfikują lub usuwają obiekty, które są zgodne z warunkami reguł.

Aby dokonać najlepszego wyboru, należy odpowiedzieć na następujące pytania:

Jaki typ aplikacji jest implementowany przez reguły?

W zależności od przeznaczenia logiki biznesowej zdefiniowanej w zadaniu reguły wybierany jest inny tryb wykonywania.

Zgodność i walidacja

Luźno wzajemnie powiązane reguły, które sprawdzają zestaw warunków, aby uzyskać wynik bez względu na wynik lub podobny ograniczony wynik. Aplikacje reguł biznesowych zgodności są często używane w ramach podpisania, wykrywania oszustw, sprawdzania poprawności danych i sprawdzania poprawności formularzy. Reguły biznesowe w takich aplikacjach generalnie mają tak lub nie wynik i dostarczają pewne wyjaśnienia na temat decyzji.

W przypadku aplikacji zgodności zaleca się użycie trybów wykonywania sekwencyjnego lub krótkiej ścieżki .

Obliczenie

Silnie powiązane reguły, które obliczają wielkości mierzone dla złożonego modelu obiektu. Aplikacje reguł biznesowych obliczeniowych są często używane do oceniania i oceniania, umów i przydziału. Reguły biznesowe w takich aplikacjach przeprowadzają różne obliczenia na obiekcie, który jest odpowiedzialny za podanie wartości końcowej (lub oceny).

W przypadku takich aplikacji zaleca się użycie trybu wykonania RetePlus , jeśli jest to konieczne, lub użyj trybu wykonywania Fastpath .

Korelacja

Silnie powiązane reguły, które korelują informacje z zestawu obiektów w celu obliczenia niektórych złożonych pomiarów. Aplikacje reguł biznesowych korelacji są często używane do fakturowania. Reguły biznesowe w takich aplikacjach wstawiają informacje.

W przypadku aplikacji korelowania, najlepiej użyć trybu wykonania RetePlus , jeśli konieczne jest wnioskowanie, lub użyć trybu wykonywania Fastpath .

Sesja stanowa

Zdecydowanie wzajemnie powiązane reguły, które korelują zdarzenia w stanowej sesji mechanizmu. Aplikacje stanowe są często używane w filtrach i korelowaniu alarmów, dostosowywaniu interfejsu GUI i nawigacji na stronach WWW.

W przypadku takich aplikacji zaleca się użycie trybu wykonywania RetePlus bez przepływu reguł.

Jakie typy obiektów są używane przez reguły?

W zależności od typów obiektów, na których działają reguły, można wybrać inny tryb wykonania.

Jednorodne lub niejednorodne reguły?

Powiązania są heterogeniczne, jeśli reguły nie działają na tych samych klasach. Jeśli powiązania są heterogeniczne, reguły mogą mieć część warunków o różnych wysokościach. Na przykład:

Reguła Warunek
Rule1 ... when{A();B()} ...
Rule2 ... when{A()} ...
Rule3 ... when{B()} ...

Jeśli reguły definiują powiązania heterogeniczne, należy użyć trybu wykonywania RetePlus lub Fastpath .

Powiązania są homogeniczne, gdy wszystkie reguły działają na tej samej klasie (tego samego rodzaju i liczbie obiektów), ale wprowadzają różne testy, na przykład:

Reguła Warunek
Rule1 ... when{Person(age == 12);} ...
Rule2 ... when{Person(age > 20);} ...

Jeśli reguły definiują homogeniczne powiązania, należy użyć sekwencyjnego trybu wykonywania.

Jaki jest efekt działania reguł?

W zależności od typów efektów generowanych przez reguły w trakcie wykonywania, należy wybrać inny tryb wykonania.

Modyfikacje pamięci roboczej

Jeśli działania reguł manipulują obiektami pamięci roboczej i używają słów kluczowych języka IRL insert, retractlub update, należy użyć trybu wykonywania RetePlus . Ponieważ te słowa kluczowe wiążą się z modyfikacjami pamięci roboczej, mechanizm reguł ponownie ocenia kolejne reguły. Jeśli używany jest inny tryb wykonania, mechanizm reguł nie dokona ponownej oceny kolejnych reguł po wprowadzeniu modyfikacji.

Łączenie reguł

Gdy działania reguły powodują modyfikacje w pamięci roboczej lub w parametrach, a także w przypadku dopasowywania wzorca dla obiektów, które nie mają żadnego związku, takich jak osoby i hobby, istnieje możliwość łączenia się między regułami. Ten proces jest również znany jako wnioskowanie.

Na przykład:

SREBRNY POZIOM KLIENTA, WIĘKSZY NIŻ 5000 PLN zakupu
promowanie na poziomie GOLD
KLIENT ZŁOTEGO POZIOMU, WIĘKSZY NIŻ 5000 PLN
zastosowanie rabatu 25%

Istnieje możliwość łączenia między tymi dwoma regułami, ponieważ dopasowują one wzorzec do dwóch różnych obiektów, klienta i zakupu oraz że drugi modyfikuje atrybut poziomu obiektu klienta.

W zasadzie, jeśli wiadomo, że działania reguły powodują wykonywanie innych reguł, należy użyć trybu wykonywania RetePlus .

Jakie testy znajdują się w warunkach reguły?

W zależności od typu warunków używanych w regułach, użytkownik wybiera inny tryb wykonania.

Testy wymagające pamięci roboczej

Jeśli warunki reguły testują istnienie obiektu lub gromadzą elementy kolekcji bezpośrednio w pamięci roboczej, ze słowami kluczowymi IRL exists lub collect, bez konstrukcji in lub from , należy użyć trybów wykonywania RetePlus lub Fastpath .

Regularny wzorzec dla testów

Jeśli testy w warunkach reguły mają ten sam wzorzec i kolejność, na przykład testy, które są generowane z tabel decyzyjnych, należy użyć trybu wykonywania Fastpath .

Jeśli kolejność testów w warunkach reguły nie jest regularna, należy użyć trybów wykonywania RetePlus lub sequential .

Jakie priorytety zostały określone w przepisach?

W zależności od priorytetów ustawionych w regułach należy wybrać inny tryb wykonania.

  • Jeśli ustawiono priorytety statyczne, można użyć dowolnego algorytmu.

  • Jeśli ustawiono priorytety dynamiczne, czyli priorytety zdefiniowane jako wyrażenie, należy użyć trybu wykonania RetePlus .

Podsumowanie

Poniższej tabeli można użyć jako odniesienia do podejmowania decyzji po wybraniu trybu wykonywania dla zadania reguły. Liczba gwiazdek wskazuje stopień wydajności.

Tabela 2. Wybór trybu wykonywania
W zadaniu reguły: RetePlus Sekwencyjne Krótka ścieżka
Aplikacja zgodności i sprawdzania poprawności Tak TakTakTak TakTakTak
Aplikacja obliczeniowa z wnioskowaniem TakTakTak Nie Nie
Aplikacja Computation bez wnioskowania Tak Tak TakTakTak
Aplikacja korelacji z wnioskowaniem TakTakTak Nie Nie
Aplikacja korelacji bez wnioskowania Tak Tak TakTakTak
Obiekty pamięci roboczej TakTakTak TakTakTak TakTakTak
Łączenie reguł TakTakTak Nie Nie
Testy dotyczące istnienia lub kolekcji elementów bezpośrednio w pamięci roboczej TakTakTak Nie TakTakTak
Współużytkowane wzorce testów TakTak Tak TakTakTak
Powiązania heterogeniczne TakTakTak Nie TakTakTak
Priorytety dynamiczne TakTakTak Nie Nie
Wybór reguł środowiska wykonawczego, który wybiera kilka reguł spośród wielu TakTakTak TakTakTak

Mechanizm decyzyjny: TakTak

Liczne zasady Tak TakTakTak TakTakTak