View page as slide show

MIW 2009 XTT_DROOLS

Cel projektu

Zamodelowanie systemu regułowego Drools przy pomocy XTT2:

  • Wyszukanie istniejących systemów Drools
  • Implementacja i testy
  • Zamodelowanie diagramów

Wyszukiwanie przykładowych systemów

  • liczba dostępnych systemów Drools nie okazała się bardzo duża
  • przykładowe systemy w dokumentacji Drools nie były systemami wspomagającymi podejmowanie decyzji
  • znaleziono kilka odpowiadających wymaganiom systemów Drools

Przykład reguł

rule "Platinum Priority"
  when
    c : Customer( subscription == "Platinum" )	
    t : Ticket( customer == c, status == "New" )	
  then
    t.setStatus( "Escalate" );
    modify ( t ) {setStatus( "Escalate" )}
end

Przykład reguł w XML-u

<?xml version="1.0"?>
<rule-set>      
  <rule name="Stock Price Low Enough">
    <parameter identifier="stockOffer">
      <class>StockOffer</class>
    </parameter>
    <java:condition>
      stockOffer.getRecommendPurchase() == null
    </java:condition>
    <java:condition>
      stockOffer.getStockPrice() < 100
    </java:condition>
    <java:consequence>
        stockOffer.setRecommendPurchase(YES);
    </java:consequence>
  </rule>
</rule-set>

Testowanie

  • instalacja pluginu Drools do Eclipse'a
  • uruchomiono i przetestowano przykładowe systemy w celu sprawdzania poprawności działania
  • po ewentualnych drobnych modyfikacjach wszystkie testowane systemy działały poprawnie

Przykładowe błędy

  • wcześniejsza wersja Drools - inne nazwy funkcji:
<  WorkingMemory wm = ruleBase.newWorkingMemory();
<  wm.assertObject(la);
<  wm.assertObject(la.getBorrower());
<  wm.assertObject(la.getProperty());
---
>  WorkingMemory wm = ruleBase.newStatefulSession();
>  wm.insert(la);
>  wm.insert(la.getBorrower());
>  wm.insert(la.getProperty());

Przykładowe błędy - ścieżka do pliku


<  logger.setFileName( "log/trouble_ticket" );
---
>  logger.setFileName( "/tmp/log_trouble_ticket" );

Modelowanie diagramów

  • wybrano średnio złożony system (9 reguł: 1 jedno-atrybutowa, 6 dwu-atrybutowych, 2 trój-atrybutowe)
  • użyto program HJed

Diagram ARD

Diagram TPH

pl/miw/2009/miw09_xtt_drools/prezentacja.txt · ostatnio zmienione: 2019/06/27 15:50 (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