[
https://issues.jboss.org/browse/JBRULES-46?page=com.atlassian.jira.plugin...
]
Mark Proctor commented on JBRULES-46:
-------------------------------------
"Other vendors has a sequential mode in which facts updates in first rules are taken
in account for rules triggered after (BlazeAdvisor does this, not sure about JRules).
Anyway, it could be an interresting feature.
Drools sequential mode collects all t-uples, then apply rules. This prevents
'first' rules to do some updates that could change one t-uple value or even
trigger (or not trigger) other rules that comes after in the rule sequence."
Currently our sequential mode works as single pass, but it has no inference as rete join
memory is turned off. So it produces all the conflict set more efficiently, and then it
uses rule order for the execution order of the conflict set. However changes in the
current rule are not recognised by the later rules. That is planned though by
"partinioning" the sequential engine around the modify statements. The advantage
to this is we keep a single algorithm that is just configured slightly to provide
different behaviours. Rather than two competely different engines.
Prolog Style Query Based Backward Chaining
------------------------------------------
Key: JBRULES-46
URL:
https://issues.jboss.org/browse/JBRULES-46
Project: Drools
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Reporter: Mark Proctor
Assignee: Mark Proctor
Forward Chaining means that facts are asserted and propgated forward throughout the
network, during forward propagation matching takes place which results in rules being
fired - the rules are event based, in that they are fired in response to changed in the
working memory.
Backward chaining is query based. Rules attempt to fire first but do not have the
necessary matched facts, so facts are pulled in from an external source.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira