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...
https://github.com/droolsjbpm/drools/tree/master/drools-compiler/src/test...
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=D5584FFD73C67EBD...
http://spin.nicta.org.au/spindle/script/download.do?f=spindleUserGuide-2....
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