As noted (below) from an earlier post, a class -based approach to rules programming may have some advantages.
 
In addition, there may be other advantages:
 
(1) If we use Java Data Objects (JDO) then the rules can be encapsulated into the objects, persisted into a store (OODBMS, RDBMS, or flat file) and retrieved in an O-O fashion (even as a network of rules) on an as-needed basis. This would function as a rules repository where a network of rules could be selected as per some search criteria.
 
(2) Aspect-oriented programming can be used to augment the rule classes. The possibilities here are too many to mention,
 
(3) The rule engine environments which use compiled Java class files, may find a performance increase.
 
(4) Using something like JAXB, the rules could be transformed to/from XML and routed to other engines just like data.
 
(5) Development work could proceed in a Model-Driven-Architecture (MDA) manner.
 
 
----- Original Message -----
Sent: Friday, February 20, 2004 9:10 AM
Subject: JESS: A Different Rule Programming Technique

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"

Reply via email to