Davide just got a first cut of Defeasible Logic in Drools. This is like a super 
charged TMS implementation, that allows users to handle conflicts in logical 
insertions. It introduces the following rule annotations
@Defeater
@Defeasible
@Defeats("rule1", "rule2", "rule3) // comma separated list of rules it defeats

The logical insertion now has a default value of "pos", but a second argument 
is provided to allow "neg" for negative to specific. Negative Logical 
insertions are inserted into the "neg" partition.

unit tests:
https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/java/org/drools/compiler/beliefsystem/defeasible/DefeasibilityTest.java
https://github.com/droolsjbpm/drools/tree/master/drools-compiler/src/test/resources/org/drools/compiler/beliefsystem/defeasible

What defeasible logic is and how it works is covered in a number of published 
papers, and it covers how ours works.
http://www.defeasible.net
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=D5584FFD73C67EBDEB5384CD14EF1256?doi=10.1.1.59.6130&rep=rep1&type=pdf
http://spin.nicta.org.au/spindle/script/download.do?f=spindleUserGuide-2.2.2.pdf&d=DOCS
http://cs.uns.edu.ar/~grs/Publications/DeLP-ICLP-Color.pdf

Full list of publications:
http://www.governatori.net/research/pubs/defeasible.html

If you want to play, you'll need to build from master, and it will remain an 
experimental feature for some time. We can be contacted on irc, if anyone needs 
help:
http://www.jboss.org/drools/irc

Mark
_______________________________________________
rules-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to