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.
| Wybierz ten tryb: | W tym przypadku: |
|---|---|
| RetePlus |
|
| Sekwencyjne |
|
Krótka ścieżka |
|
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.
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,retractlubupdate, 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
existslubcollect, bez konstrukcjiinlubfrom, 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.
| W zadaniu reguły: | RetePlus | Sekwencyjne | Krótka ścieżka |
|---|---|---|---|
| Aplikacja zgodności i sprawdzania poprawności | |||
| Aplikacja obliczeniowa z wnioskowaniem | |||
| Aplikacja Computation bez wnioskowania | |||
| Aplikacja korelacji z wnioskowaniem | |||
| Aplikacja korelacji bez wnioskowania | |||
| Obiekty pamięci roboczej | |||
| Łączenie reguł | |||
| Testy dotyczące istnienia lub kolekcji elementów bezpośrednio w pamięci roboczej | |||
| Współużytkowane wzorce testów | |||
| Powiązania heterogeniczne | |||
| Priorytety dynamiczne | |||
| Wybór reguł środowiska wykonawczego, który wybiera kilka reguł spośród wielu | Mechanizm decyzyjny: |
||
| Liczne zasady |