Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:2009:miw09_drools_x [2009/03/12 00:42]
jsi08
pl:miw:2009:miw09_drools_x [2019/06/27 15:50] (aktualna)
Linia 18: Linia 18:
 [[http://​www.jessrules.com/​|Jess]]. [[http://​www.jessrules.com/​|Jess]].
  
-====== Spotkania ====== +===== Pokrewne projekty ​===== 
-===== 20090312 ​===== +[[pl:miw:​2009:​miw09_xtt_drools|XTT_Drools]] - Szymon Frenkel\\ 
-  * tutoriale, przyklady ​[[http://​clipsrules.sourceforge.net/​|clips]] +[[pl:miw:2009:miw2009_tematy#​drools_tools|Drools_Tools]] - niestety nikt się nim nie zajmuje
-http://​www.comp.rgu.ac.uk/​staff/​smc/​teaching/​clips/​tutorial/​node2.html http://​cobweb.ecn.purdue.edu/​~engelb/​abe565/​week9.htm http://​iweb.tntech.edu/​bhuguenard/​ds6530/​ClipsTutorial/​tableOfContents.htm +
-  * tutoriale rif/swrl +
-  * zainst drools+
  
-===== 20090225 ​==== +====== Prezentacja ======
-ACK+
  
-Praca poznawcza oparta na [[http://​www.jboss.org/​drools/​|Drools]] ​4.0.7. Dokumentacja dostępna na stronie Drools'​a ​([[http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_single/index.html|dokumentacja]]).+====== Sprawozdanie ====== 
 +Celem projektu było przeszukanie siecii za istniejącymi aplikacjami lub sposobami konwersji pomiędzy: Drools, CLIPS i RIF.\\ 
 +[[http://​www.jboss.org/​drools/​|Drools]] ​to silnik reguł [[http://​www.jboss.org/​|JBoss]]'a, stworzony przedewszystkim do modelowania systemów biznesowych,​ lecz również może być wykorzystywany w innych celach.\\ 
 +[[http://clipsrules.sourceforge.net/|CLIPS]] to narzędzie do modelowania systemów eksperckich.\\ 
 +[[http://www.w3.org/2005/rules/​wiki/​RIF_Working_Group|RIF]] to specyfikacja zapisu reguł z użyciem XML'a.
  
-Elementy ​Drools'​a+===== Import/​eksport,​ konwersja ===== 
-  - silnik ​reguł ​(rule engine): +Tutaj będę opisywał znalezione możliwości konwersji z jednej reprezentacji na inną. 
-    * algorytm Rete00 ​zoptymalizowana implementacja algorytmu ​[[http://en.wikipedia.org/wiki/Rete_algorithm|Rete]] +==== CLIPS --> Drools ==== 
-    * wnioskowanie w przód ([[http://en.wikipedia.org/wiki/Forward_chaining|forward chaining]]) +Znalazłem na [[http://​blog.athico.com/​|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 [[http://​blog.athico.com/​2008/​02/​drools-clips.html|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 [[http://anonsvn.labs.jboss.com/​labs/​jbossrules/​trunk/​drools-clips/​src/​test/​java/​org/drools/​clips/|źródło]][[https://hudson.jboss.org/hudson/job/​drools/​lastSuccessfulBuild/​artifact/​trunk/​target/​javadocs/​unstable/​drools-clips/​org/​drools/​clips/​package-summary.html|Tutaj]] natomiast można znaleźć dokumentację do CLIPS'​owej powłoki Drools'​a.\\ 
-    * logika pierwszego rzędu ([[http://en.wikipedia.org/wiki/First_order_logic|first order logic]]+Nie jest to konwerter lecz tylko Drools'​owe środowisko do korzystania z CLIPS'​a. Niestety nie posiada pełni możliwości CLIPS'​a. 
-    * pamięć robocza (working memory) - baza wiedzy dla silnika, która ​to pamięć Drools'​ie posiada dwa rozszerzenia+==== Drools --> CLIPS ==== 
-      ​* ​'stateful+Znalezienie jakiejkolwiek wzmianki o konwersji Drools'​owych reguł do CLIPS'​a zakończyło się niepowodzeniem. Nigdzie temat konwersji z Drools'​a do CLIPS'​a nie został poruszony. 
-      '​stateless'​ +==== Drools --> RIF, RIF --> Drools ==== 
-    kontrola wykonania i aktywacji ​reguł ​prowadzona w '​Agenda' ​wykorzystaniem rozwiązywania konfliktów ​(conflict resolution)+Prace nad specyfikacją ​[[http://www.w3.org/|World Wide Web Consortium]] do zapisu reguł: [[http://​www.w3.org/​2005/​rules/wiki/RIF_Working_Group|RIF - Rule Interchange Format]] rozpoczęły się pod koniec 2005 roku. W dalszym ciągu jest to nie zamknięty projekt, a kolejne wydania specyfikacji wprowadzają wiele zmian do wcześniejszych i dlatego na razie jest małopopularny. Brak na siecii jakichkolwiek wzmianek dotyczących możliwej konwersji pomiędzy Drools'​em i RIF'​em. 
 +==== XML Schema --> Drools, Drools --> XML Schema ==== 
 +Po za programem projektu jednak natrafiłem na możliwość zapisu reguł ​Drools'​owych za pomocą [[http://​www.w3.org/​XML/​Schema|XML Schema]]. 
 +W [[http://​downloads.jboss.com/​drools/​docs/​4.0.7.19894.GA/​html_single/​index.html#​d0e4611|dokumentacji w rozdziale ​'6.9. XML Rule Language']] została opisana możliwość reprezentacji reguł w formacie XML z użyciem standardu [[http://​www.w3.org/​XML/​Schema|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ł 
 +Przykład użycia (konwersja ​DRL na XMLSchema):​ 
 +<code java> 
 +Reader aDrlSource = new InputStreamReaderDroolsTest.class.getResourceAsStream( "/​Sample.drl" ​); 
 +DrlParser aDrlParser = new DrlParser();​ 
 +PackageDescr aXmlDescr = aDrlParser.parse(aDrlSource);​ 
 +XmlDumper aXmlDumper = new XmlDumper();​ 
 +String aXmlString = aXmlDumper.dump(aXmlDescr);​ 
 +Writer aXmlOutput = new BufferedWriter(new FileWriter("​Sample.xml"​));​ 
 +try { 
 + aXmlOutput.write(aXmlString);​ 
 +
 +finally 
 +
 + aXmlOutput.close();​ 
 +
 +aDrlSource.close();​ 
 +</​code>​ 
 +Przykład użycia (konwersja z XMLSchema na DRL): 
 +<code java> 
 +Reader aXmlSource = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/​Sample.xml"​ ) ); 
 +XmlPackageReader aXmlParser = new XmlPackageReader();​  
 +PackageDescr aDrlDescr = aXmlParser.read(aXmlSource);​ 
 +DrlDumper aDrlDumper = new DrlDumper();​ 
 +String aDrlString = aDrlDumper.dump(aDrlDescr);​ 
 +Writer aDrlOutput = new BufferedWriter(new FileWriter("​Sample.drl"​));​ 
 +try { 
 + aDrlOutput.write(aDrlString);​ 
 +
 +finally 
 +
 + aDrlOutput.close();​ 
 +
 +aXmlSource.close();​ 
 +</​code>​ 
 + 
 +====== Spotkania ====== 
 +[[pl:​miw:​2009:​miw09_drools_x:​spotkania|Notatki ze spotkań projektowych]]
  
 ====== Projekt ====== ====== Projekt ======
-====== Sprawozdanie ====== +[[pl:​miw:​2009:​miw09_drools_instalacja|Instalacja Drools'​a]]\\ 
-====== Prezentacja ======+[[pl:​miw:​2009:​miw09_drools_x:​projekt|Poszerzenie projektu o gramatyki Drools'​a]] 
 ====== Materiały ====== ====== Materiały ======
-  * [[http://​www.jboss.org/​drools/​|Drools]]+  * [[http://​www.jboss.org/​drools/​|Drools]] ​<​llysik@gmail.com>​
   * [[http://​downloads.jboss.com/​drools/​docs/​4.0.7.19894.GA/​html_single/​index.html|Drools 4.0.7 dokumentacja]]   * [[http://​downloads.jboss.com/​drools/​docs/​4.0.7.19894.GA/​html_single/​index.html|Drools 4.0.7 dokumentacja]]
   * [[http://​en.wikipedia.org/​wiki/​Rete_algorithm|Algorytm Rete]]   * [[http://​en.wikipedia.org/​wiki/​Rete_algorithm|Algorytm Rete]]
Linia 52: Linia 97:
   * [[http://​www.csie.ntu.edu.tw/​~sylee/​courses/​clips/​design.htm|Przykłady do CLIPS]]   * [[http://​www.csie.ntu.edu.tw/​~sylee/​courses/​clips/​design.htm|Przykłady do CLIPS]]
   * [[http://​sourceforge.net/​project/​showfiles.php?​group_id=215471&​package_id=260062|download CLIPS (również przykłady)]]   * [[http://​sourceforge.net/​project/​showfiles.php?​group_id=215471&​package_id=260062|download CLIPS (również przykłady)]]
 +  * [[http://​www.jboss.org/​drools/​downloads.html|Drools - download]]
 +  * [[http://​www.jboss.org/​tools/​download.html|JBoss-tools - download (plugin do eclipse)]]
 +  * [[http://​www.eclipse.org/​gef/​downloads/​|GEF - download (plugin do eclipse - potrzebny do JBoss-tools)]]
 +  * [[http://​blog.athico.com/​|Drools - blog]]
 +  * [[http://​blog.athico.com/​2008/​02/​drools-clips.html|Drools - blog - import kodu z Clips'​a]]
 +  * [[http://​anonsvn.labs.jboss.com/​labs/​jbossrules/​trunk/​drools-clips/​src/​test/​java/​org/​drools/​clips/​|Clips -> Drools - Drools shell supporting Clips]]
 +  * [[http://​download.jboss.org/​drools/​release/​4.0.7.19894.GA/​drools-4.0.7-eclipse3.2.zip|Drools 4.0.7 Eclipse 3.2 Workbench - plugin drools'​a do eclipse'​a]]
 +  * [[pl:​miw:​miw08_xtt_rif]] ​
 +  * [[https://​developer.opencloud.com/​devportal/​display/​FSMDv083/​Appendix+B.+VFSM+DSL+Grammar|Gramatyka DSL w formacie EBNF ANTLR]]
 +  * [[http://​www.w3.org/​2005/​rules/​wiki/​RIF_Working_Group|RIF Working Group]]
 +  * [[http://​www.w3.org/​2005/​rules/​wg/​draft/​ED-rif-bld-20081218/#​XML_Serialization_Syntax_for_RIF-BLD|RIF syntax example]]
 +
pl/miw/2009/miw09_drools_x.1236814928.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