W3C home > Mailing lists > Public > public-rif-wg@w3.org > September 2008

RE: Congratulations on Christian's and co. courage

From: Hassan Ait-Kaci <hak@ilog.com>
Date: Wed, 3 Sep 2008 08:55:32 -0700
Message-ID: <9FC9C6B2EA71ED4B826F55AC7C8B9AAB01F3364B@mvmbx01.ilog.biz>
To: "Alex Kozlenkov" <alex.kozlenkov@betfair.com>, <public-rif-wg@w3.org>
Hi Alex,

Your comments regarding the PRD document started by Christian
are interesting. I agree with your general statement re: the
similarities with process calculi. PR systems are indeed
Deductive Systems in the sense of Scott, and thereby the
category-theoretic characterization that you are alluding to
follows. However, the PRD document is a (still) far cry from
being a formal account of productions systems in such terms as
you hint. Moreover, simpler formal characterizations may be
preferable to Category Theory in order to express the simple
intuitive behavior of such systems. I am afraid that CT might
scare more that seduce many... :-(

At any rate, your questions related to control management in PR
systems are relevant (as well as issues related to termination).
In http://wikix.ilog.fr/wiki/pub/Main/HassanAitKaci/ifip07.pdf,
I give a formal operational semantics of Business Rules (a.k.a.
Production Rules) in the form of a *scheme* (see slide #14). It
is a scheme, in that it is parameterized by two functions (abstract
methods if you will):

(1) Agenda - that returns a valid working memory;
(2) Pick - that returns which objects in the WM are selected.

Most PR systems are instantiations of this scheme depending on
how they define these two functions. Issues that affect the
specific control behavior of a given PR system's Agenda and
Pick functions are:

(1) refraction : any object that has been matched is not
    eligible to be in the next Agenda;
(2) recency : choosing the most recently activated rule or
    applying to the most recently updated object;
(3) priority : some rules may be sepcified to take precedence
    over others in case of conflicts.

(see http://smi.stanford.edu/smi-web/reports/SMI-75-0009.pdf,
page 30)

In several modern Pr systems (such as ILOG's JRules) other
criteria may affect control such as:
  
(4) naming : name of rule
(5) authorship : author of rule
(6) date : date of rule

etc,. ... Indeed, some systems (like JRules) may even  have several
modes of interpretations: they may execute rules sequentially, or
non-deterministically, or until some saturation criterion, etc., ... 

Most discussions that we have seen recently on the RIF mailing list
regarding the PRD document have been with respect to how the various
PR systems we know (Jrules, Jess, CLIPS, etc...) compute their Agenda
and Pick functions in the scheme that I give. Perhaps wopuld it be
interesting to classify all existing PR systems according to their
Agenda/Pick paramaters.

-hak
--
Hassan At-Kaci  *  ILOG, Inc. - Product Division R&D
http://koala.ilog.fr/wiki/bin/view/Main/HassanAitKaci



-----Original Message-----
From: public-rif-wg-request@w3.org on behalf of Alex Kozlenkov
Sent: Wed 9/3/2008 4:43 PM
To: public-rif-wg@w3.org
Subject: RE: Congratulations on Christian's and co. courage
 

And one more comment about the minimality I'm discussing in my previous
post. This is not an idle question. If there exist two identical facts,
will there be two actions executed or only one? In the language dialect
for event processing that the JBoss guys are developing, I was trying to
understand whether A<=B,C given B and C matching incoming events, if C
was detected twice, would the action A be executed twice? What I mean is
that there may be situation when we want to only detect one situation so
that the sequence of events CCB should execute A only once.


________________________________________________________________________
In order to protect our email recipients, Betfair Group use SkyScan from 
MessageLabs to scan all Incoming and Outgoing mail for viruses.

________________________________________________________________________
Received on Wednesday, 3 September 2008 15:56:22 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:54 GMT