RIF: Fitting PR and RR into logical rules --> rule priorities

Conflict resolution is no more than a pragmatic requirement for IT
systems (IMHO).

For example, there a plenty of business rules that can "conflict" or
give multiple solutions when only 1 is required. The rule developer can
choose to try and find additional rules / rule conditions to
differentiate the cases, or may choose to simply specify a rule priority
(as a kind of compiled knowledge, I suppose: eg "we always choose this
route over that in these cases"). 

So, if I have 2 declarative rules that can both be executed, I may
choose to prioritise them rather than expand further detail in
additional explicit conditions.

Another use of rule priorities (or misuse depending on your point of
view) is to specify initialization / finalization ruleset processing
(sort of ruleset precondition / postcondition processing). This is
really no more than programming. Similarly is the case of using rule
priorities as an "optimization" mechanism - these rules tend to fire
first, so lets prioritise them - although in declarative inferencing
engines this is less useful.

Generally I have to say that rule priorities are NOT all that common
(IMHO) and their presence is sometimes an indication of someone using a
rule language as a procedural programming language. 

Caveat: of course, some systems use "rule priorities" to represent other
behaviour. For example, Nexpert Object used certain numeric ranges of
priorities to switch inferencing mechanisms (eg turn off forward
chaining)!

PS: We ARE proposing to add rule priorities into PRR, as they ARE
supported by most PR rule engines today. 

Paul Vincent
for Fair Isaac Blaze Advisor  -- Business Rule Management System
@ OMG and W3C standards for rules
> -----Original Message-----
> From: public-rif-wg-request@w3.org
[mailto:public-rif-wg-request@w3.org]
> On Behalf Of Francois Bry
> Sent: Tuesday, June 06, 2006 11:08 AM
> To: public-rif-wg@w3.org
> Subject: Re: Fitting PR and RR into logical rules
> 
> 
> Sandro Hawke wrote:
> > What is conflict resolution good for?
> For choosing between competing actions. A central aspect of prduction
/
> eca rules is to perform such a vhjoice, whgicle a central aspect of
> deduction rule formalisms is not to perform such a choice.
> >  Why do users want it?
> >
> 
> This seems ro be liked by users of imperative formalisms. Remember,
> production and eca rules are imperative programming formalisms.
> 
> Francois

This email and any files transmitted with it are confidential, proprietary
and intended solely for the individual or entity to whom they are addressed.
If you have received this email in error please delete it immediately.

Received on Tuesday, 6 June 2006 12:54:45 UTC