Yes, I like this simplified, structured paradigm. One still needs perhaps to organize groups of rules into distinct rule sets, perhaps using multiple instances of the RETE engine, rather than running all rules in one engine.

In our context-aware agent work, we have used a very similar approach to integrating rules and UML statemachines for complex protocols in Jade agent systems, and have also sketched a way to also include machine learning (ala WEKA).

In the statemachine case, incoming events (e.g., agent messages) trigger transitions to other states, if the event "matches" some template (match is the predicate, on the event class). Jade provides a simple template language, allowing AND and OR of basic templates, which we have extended by using Jess rules as predicates over the events. If the match predicate succeeds, than an action method is called on the body.

In the machine learning case (applied to an email management system), incoming emails are classified into different sets, and a match predicate is defined for that class of email. This predicate is then used in a Jess rule to determine if an action (a tree of actions) is run.

--On Friday, February 20, 2004 9:10 AM -0600 Rich Halsey <[EMAIL PROTECTED]> wrote:


Hi All,


I am looking at a new technique for rules programming where "mere
mortals" can build rule-based systems. Essentially, the technique uses
UML-defined base classes to define a core predicate (that can also call
other methods to define conditional tests) and a core action (that can
also call other methods to accomplish desired actions). This technique
relies on the Rete algorithm for matching of these rule objects and
user-defined "data objects" which are passed to the rule objects for
inspection. If the objects pass the conditional testing by the rule
object's predicate, then the RHS is invoked to call the rule object's
action method.
It would seem that this technique could be used by all the OPS-like rules
engines (JESS/JRules/OPSJ/JEOPS) out there and would enable ordinary Java
programmers to write rules in an object-oriented manner for a
Rete-enabled environment. This technique should not inhibit
forward/backward chaining in any way and also allow for control flow
logic to be incorporated into the system.
Anybody have any thoughts ?????





"Life, liberty, and the pursuit of those who threaten it"



Martin Griss, PhD


Director, Software Engineering Program, CMU West Coast
Adjunct Professor, UC Santa Cruz

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------



Reply via email to