To jest stara wersja strony!


Opis

Grzegorz Stopa, gregor@student.agh.edu.pl
Opis projektu Drools_X ze strony miw2009_tematy:

:!: How we can use Drools to model rules for the SemWeb in RIF, SWRL (import/export).

How we can use Drools to import/export/model rules for/from CLIPS and Jess.

Pokrewne projekty

XTT_Drools - Szymon Frenkel
Drools_Tools - niestety nikt się nim nie zajmuje

Spotkania

20090402

  • drools…

20090326

  • zainst. drools
  • w razie czego RIF < CLIPS

20090312

20090225

ACK

Praca poznawcza oparta na Drools 4.0.7. Dokumentacja dostępna na stronie Drools'a (dokumentacja).

Elementy Drools'a:

  1. silnik reguł (rule engine):
    • algorytm Rete00 - zoptymalizowana implementacja algorytmu Rete
    • wnioskowanie w przód (forward chaining)
    • logika pierwszego rzędu (first order logic)
    • pamięć robocza (working memory) - baza wiedzy dla silnika, która to pamięć w Drools'ie posiada dwa rozszerzenia:
      • 'stateful'
      • 'stateless'
    • kontrola wykonania i aktywacji reguł prowadzona w 'Agenda' z wykorzystaniem rozwiązywania konfliktów (conflict resolution)

Projekt

Sprawozdanie

Prezentacja

Przebieg działań

Działania z Drools'em opisuję dla pracy z Ubuntu 8.10 amd64.
Na innym sprzęcie i innym systemie operacyjnym może to wyglądać inaczej.

Instalacja Drools'a

Silnik reguł

Próba instalacji silnika reguł niestety na razie się jeszcze nie powiodła.
Poniżej znajdują się dotychczasowe próby instalacji i ich opis krok po kroku:

Apache/Tomcat + Drools 4.0.7 BRMS

Czyli wykorzystanie serwera Apache 2.0 z Tomcat6, silnik reguł Drools 4.0.7:

  1. Instalacja serwera Apache 2.0
    • na ubuntu najprostszy sposób to skorzystanie z repozytorium, w linii komend wpisujemy
      sudo apt-get install apache2

      i apache sam się instaluje

    • apache'a nie musiałem instalować, ponieważ moje ubuntu już miało domyślnie zainstalowany serwer plików
  2. Instalacja Tomcat6
    • tak samo jak z apache instalujemy z repozytorium, idziemy do linii komend i wpisujemy
      sudo apt-get install tomcat6
    • teraz musimy jednak poustawiać kilka rzeczy
    • szukamy gdzie nam się zainstalował tomcat6, powinniśmy móc go znaleźć w '/var/lib/tomcat6/conf/'
    • teraz jako root edytujemy plik '/var/lib/tomcat6/conf/tomcat-users.xml' i zmieniamy wpis podobny do tego:
      <tomcat-users>
      <!--
        <role rolename="tomcat"/>
        <role rolename="role1"/>
        <user username="tomcat" password="tomcat" roles="tomcat"/>
        <user username="both" password="tomcat" roles="tomcat,role1"/>
        <user username="role1" password="tomcat" roles="role1"/>
      -->
      </tomcat-users>

      na

      <tomcat-users>
        <role rolename="manager"/>
        <role rolename="admin"/>
        <user username="jakis_uzytkownik" password="jakies_haslo" roles="manager,admin"/>
      </tomcat-users>
  3. Ustawienie silnika reguł
    • ściągamy Drools 4.0.7 BRMS ze strony Drools - download
    • wypakowujemy z 'drools-4.0.7-brms.zip' do jakiegoś katalogu 'drools-4.0.7-brms.war'
    • włączamy przeglądarkę internetową i wchodzimy na adres http://localhost:8080/ - wejdziemy na stronę powitalną tomcat'a
    • z menu tomcat'a wybieramy 'manager webapp' i logujemy się jako osoba z 'tomcat-users.xml'
    • zostaniemy przeniesieni na stronę menager'a tomcat'a
    • na dole strony znajduje się dział 'Deploy', nas interesuje 'WAR file to deploy' (dolny). Podajemy ścieżke do naszego pliku 'drools-4.0.7-brms.war' lub po prostu Browse…'ujemy nasz plik, po czym klikamy na przycisk 'Deploy'
    • w tym momencie na liście aplikacji powinna zostać dodana aplikacja '/drools-jbrms', która powinna zostać od razu uruchomiona
    • jeśli nie została automatycznie uruchomiona należy kliknąć w przycisk 'Start' w kolumnie 'Commands' na liście aplikacji 'Applications'

Niestety nie miałem tyle szczęścia i silnik reguł odmawiał współpracy. Próby ingerencji w ustawienia tomcat'a jak i plik archiwalny '.war' w niczym nie pomogły - powód nieznany.

Eclipse

Próba instalacji pluginu do eclipse'a na razie nie wykazała zadowalających rezultatów.
Powiodła się instalacja pluginu drools'a do eclipse (z wykorzystaniem menager'a pluginów). Tutaj bardzo chce podziękować za pomoc Szymonowi Frenkelowi, który mnie pokierował przez to z czym sam miał pewne problemy. Szymek zajmuje się projektem XTT_Drools. Również dziękuje za pomoc Panu Łukaszowi Łysikowi, który też mnie wspierał podczas walki z drools'em.
Zgodnie z dokumentacją potrzebujemy Eclipse, plugin GEF i plugin z Drools'em (udało mi się znaleźć tylko plugin JBoss-tools mamy 2 pluginy jeden mały z samym drools'em i drugi obejmujący cały duży komplet JBoss-tools).
Poniżej znajdują się dotychczasowe próby instalacji i ich opis krok po kroku:

Instalacja Eclipse

Instalacja Eclipse'a jest bardzo łatwa pod ubuntu. W linii komend wpisujemy:

sudo apt-get install eclipse

i powienien zainstalować się ostatni dostępny eclipse z dodanych przez ubuntu do repozytorium.
W moim przypadku jest to wersja 3.2.2.

Instalacja pluginów z wykorzystaniem menagera pluginów

Eclipse posiada wbudowany menager pluginów, który pozwala z poziomu eclipse instalować pluginy. W Eclipse 3.2.2 dotrzeć można do niego poprzez główne menu 'Help→Software Updates→Find and Install…'.
Niestety w moim przypadku Eclipse ma problemy z połączeniem się do witryn z pluginami i niestety nie mogłem skorzystać z tej możliwości. Powiodła się instalacja za pomocą menagera pluginów.
Zgodnie z dokumentacją wędrujemy krok po kroku:

  • GEF
    1. Włączamy eclipse.
    2. Otwieramy menager'a pluginów z menu „Help→Software Updates→Find and Install…”.
    3. Wybieramy opcję „Search for new features to install” i klikamy na przycisk „Next >” na dole okienka.
    4. Zaznaczamy na liście „Sites to include in search:” „Callisto Discovery Site”, poniżej zaznaczamy „Automatically select mirrors” i klikamy na przycisk „Finish”.
    5. Jeśli menager'owi powiedzie się połączenie ze stroną, to pojawi nam się okienko z listą zatytułowaną „Select the features to install:” szukamy „Callisto Discovery Site→Graphical Editors and Frameworks→Graphical Editing Framework <wersja>” i klikamy przycisk „Next >”.
    6. Następnie musimy zatwierdzić warunki umowy i klikamy w przycisk „Next >”.
    7. Dostajemy informacje zwrotną, możemy ustawić jeszcze miejsce gdzie zainstalować nasz plugin. Aby zainstalować plugin wystarczy kliknąć na przycisk „Finish”.
    8. Eclipse ściągnie potrzebne pliki i doda je tam gdzie potrzebuje, po czym poprosi o restart eclipse'a, aby zobaczyć zmiany.
  • Drools
    1. Teraz, aby zainstalować plugin drools'a, najpierw ściągamy ze strony drools'a Drools 4.0.7 Eclipse 3.2 Workbench i rozpakowujemy ściągniętego zip'a.
    2. Z zip'a powinien wyskoczyć foldery 'features' i 'plugins' oraz 3 pliki tekstowe.
    3. Włączamy eclipse.
    4. Musimy otworzyć menager'a pluginów eclipse'a i znowu wybrać opcję „Search for new features to install”.
    5. Tym razem jednak nie klikamy jak w dokumentacji w „New Remote Site…” lecz w „New Local Site…”.
    6. Szukamy w browserze folderu, do którego wypakowaliśmy zawartość zip'a, zaznaczamy go i klikamy w przycisk „OK”. Możemy jeszcze zmienić nazwe widziana na liscie stron z pluginami, powiedzmy że nazwiemy ją „drools-eclipse-plugin”.
    7. Wybieramy z listy „drools-eclipse-plugin” i klikamy w „Finish”.
    8. Tak jak w przypadku GEF'a czekamy aż się skontaktuje ze stroną, po czym ujrzymy okienko z listą „Select the features to install:”. Wybieramy „drools-eclipse-plugin→Other→JBossRules Feature 4.0.7” i klikamy „Next >”.
    9. Zatwierdzamy warunki umowy i „Next >”.
    10. Ustawiamy miejsce docelowe dla naszego pluginu i klikamy w „Finish”.
    11. Czekamy aż eclipse upora się z instalacją i restartujemy eclipse'a.

Ręczna instalacja pluginów z binariów

  1. Na początek musimy zainstalować plugin GEF ze strony GEF - download
    • ściągamy go i rozpakowujemy (powinien wypakować się do folderu 'eclipse/')
    • odnajdujemy miejsce instalacji eclipse'a, bardzo możliwe że będzie to '/usr/lib/eclipse/'
    • teraz musimy przekopiować zawartość ściągniętego pluginu do naszej instalacji eclipse'a i tutaj\\z 'eclipse/features/' do '/usr/lib/eclipse/features/'\\oraz\\z 'eclipse/plugins/' do '/usr/lib/eclipse/plugins/'
    • wystarczy uruchomić ponownie eclipse'a, aby móc korzystać z GEF'a
  2. Drugi krok to instalacja plugin jboss-tools ze strony jboss-tools - download
    • ściągamy go i rozpakowujemy (powinien wypakować się do folderu 'eclipse/')
    • teraz musimy przekopiować zawartość ściągniętego pluginu do naszej instalacji eclipse'a i tutaj\\z 'eclipse/features/' do '/usr/lib/eclipse/features/'\\oraz\\z 'eclipse/plugins/' do '/usr/lib/eclipse/plugins/'
    • wystarczy uruchomić ponownie eclipse'a, aby móc korzystać z Drools'a i JBoss-tools'a

Z tego co zauważyłem w ustawieniach eclipse'a wygląda, że oba pluginy się zainstalowały, lecz gdy otwarłem plik z regułami drools'a to eclipse nie kolorował składni. Gdy próbowałem dodać projekt z przykładami drools'a nastąpił błąd podczas przebudowy projektu. Eclipse'owi brakuje jeszcze kilku binariów, lecz nie dotarłem na razie, w którym miejscu mam je umieścić.

Import/eksport, konwersja

Tutaj będę opisywał znalezione możliwości konwersji z jednej reprezentacji na inną.

Clips --> Drools

Znalazłem na blogu Drools'a wpis sprzed roku o prowadzonych pracach nad Drools'ową powłoką interpretującą reguły zapisane w Clips'ie. Można znaleźć wpis tutaj. Odnalazłem nowsze repozytorium źródeł dotyczących tego projektu praktycznie w tym samym katalogu, który jest podany we wpisie. Oto odnalezione przeze mnie źródło.

XML Schema --> Drools, Drools --> XML Schema

W dokumentacji w rozdziale '6.9. XML Rule Language' została opisana możliwość reprezentacji reguł w formacie XML z użyciem standardu XML Schema. Drools sam posiada 2 klasy do obsługi swojego formatu DRL oraz 2 klasy do obsługi formatu XML:

  • XmlDumper - tworzy pliki XML reguł
  • XmlPackageReader - czyta pliki XML reguł
  • DrlDumper - tworzy pliki DRL reguł
  • DrlParser - czyta pliki DRL reguł

Materiały

pl/miw/2009/miw09_drools_x.1239715876.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0