[rules-dev] Defeasible Logic

Mark Proctor mproctor at codehaus.org
Thu Aug 1 12:48:07 EDT 2013


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


More information about the rules-dev mailing list