- From: Sandro Hawke <sandro@w3.org>
- Date: Fri, 02 Jun 2006 07:27:27 -0400
- To: "Gerd Wagner" <wagnerg@tu-cottbus.de>
- Cc: "'Peter F. Patel-Schneider'" <pfps@inf.unibz.it>, csma@ilog.fr, public-rif-wg@w3.org
> > ... 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