[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