Fitting PR and RR into logical rules

> > ... I don't see how an interchange language
> > that doesn't interchange between logical and production rules is going
> > help push either logical or production rules into the sphere of the
> > other.  
> 
> You seem to overlook the fact that pure assertion PRs 
> correspond to (in fact, implement) logical derivation 
> rules, and so there is the possibility of interchange 
> between the two.

Beyond that, a whole class of the actions in ECA (Reaction) or CA
(Production) rules can be represented as logical conclusions like
"requested(Action)".  If this is done, then Rete and resolution (to pick
two examples) become just competing techniques for implementing the same
language.  Events in ECA rules can also be seen as just more conditions,
in the language.

I think this approach probably covers all the ECA and PR use cases but
not all of the deployed programming methodologies.  That is, it probably
works well to say "requested(rejectTransaction(4331))" but not to say
"requested(javaCall('discount = discount * 1.20'))".   But the discount
case is better handled as a logical rule in the first place.

I know this doesn't fit the RR and PR traditions and styles, but I think
it will get RIF from 20% overlap to maybe 70% overlap, which will make
the difference in whether or not RIF is successful in unifying rule
technologies and enabling a blossoming of the field.  (Frank and Paula,
do you see how to fit that idea into the diagram?  One of my goals is
for the overall rule-technology market to grow enormously.)

      -- Sandro

Received on Friday, 2 June 2006 11:27:57 UTC