Prelegent : Przemek Różycki
Przemek opowiedział "o tym skąd się wzięła koncepcja Droolsów, że jest to narzędzie do budowania systemów eksperckich, oparte o silnik reguł, zawierające mechanizmy wnioskowania, jednak nie tak złożone jak np. Prolog, ale bardziej takie dla ludzi"
Rekonstrukcja zdarzeń
Poniżej moja relacja ze spotkania, która zawdzięcza swoją specyfikę faktowi, iż w ogóle na tym spotkaniu mnie nie było:)
Przemek podjechał pod DMCS
Na początku standardowe pogawędki w gronie IT
Prezentacja
I zakończenie
I trochę prawdziwych zdjęć
Zapiski prezentera i widzów (celowo wymieszane)
- przedstawiłem problem medyczny (wykrycie średniego lub wysokiego ryzyka choroby wieńcowej) i jaki model do niego zaprojektowałem, po czym omówiłem reguły, które do tego służą
- Buduje się model (klasy Java) z if-ologią, case'ami, coś na zasadzie klasy abstrakcyjnej (np Choroba) i 5-6 klas podrzędnych z metodami typu opisChoroby, przyczyna, dolegliwości, gdzie one zawierają jakąś logikę
Następnie buduje się reguły drools (pliki z *.drl)
- I np przychodzisz do lekarza on Cię bada:
sprawdza tętno jeżeli > 60 to zadaj pytanie o coś tam, jeżeli tamto coś tam było true zbadaj czy nie ma obrzęku płuc i tak dalej i tak dalej aż do diagnozy.
- pokazałem kilka innych mechanizmów dostępnych w Droolsach już nie na przykładach, jak integracja z JPA, dodatkowe możliwości konfiguracji, plugin mavenowy do kompilacji reguł
- Przykład z Oragne:
Droolsy podczepili jako system decyzyjny do frontendu.
Jak klient sobie wybierał nazwę telefonu, to dalej drools szybciorem zaczytał mu model, potem taryfę i potem drools decydował i wysyłał do frontendu model co możesz dostać jeszcze z tą ofertą a czego nie, albo sugerował jakie usługi jeszcze dobrać by mieć lepsze pakiety, model telefonu.
- Inny przykład to definiowanie reguł drools za pomocą tekstowych komend, coś jakbyś miał XSL wyciągający z XML'a dane i łączył to w całość.
Wygląda to fajnie na zasadzie (nie pamiętam prefiksów ale na wzór)
- In 2000 year I was <drl:year> year old. I like <drl:hobby>
Wtedy bardzo szybko zmieniasz takie reguły, dosłownie w pliku properties. Kompilujesz uruchamiasz i bangla.
Żeby to zrobić to operator musi być trochę biznesowy ale sporo IT, bo coś spieprzy i zapętlisz reguły i będzie lipa.
Następne spotkanie