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] --------------------------------------------------------------------
