My fundamental objective in using this approach would be to employ Java
programmers writing the "conditions and actions" of rules in an
object-oriented manner. Hopefully, this approach would preclude the need for
people to be expert in the syntax of the rules language (of the engine being
used) - the modeling could be done in UML and "rules" written in Java.

There would still be a need for a person that is highly qualified in "rule
architecture" to weave together rule sets (as you mentioned), control flow,
or multiple engines for a system, but I feel that more Java programmers
would be empowered to participate in rules projects by using this technique.

My view on rules engineering is that (minimally) 3 main engineering
artifacts should be available in this environment: (1) a goal tree to
explain the control flow logic for rule set execution, (2) decision
(situation) tables to express the completeness of a rule, and (3) an
inferencing model to understand the chaining effects within rule sets. I
don't forsee any problems integrating these artifacts with this programming
technique.

I started down this path by investigating a Model Driven Rules Architecture
(MDrA)  view and I am still encouraged by what I see.

Thank you for the reply.

OBTW - Some years ago, I purchased your book on software engineering and I
enjoyed it.


----- Original Message -----
From: "griss" <[EMAIL PROTECTED]>
To: "Rich Halsey" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, February 20, 2004 10:03 AM
Subject: Re: JESS: A Different Rule Programming Technique


> 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