This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Efficient Lazy Evaluation of Rule-Based Programs
November 2010 (vol. 22 no. 11)
pp. 1521-1534
Peter Van Weert, K.U.Leuven, Heverlee
Thirty years after Forgy's seminal dissertation, Rete remains the de facto standard matching algorithm. Despite promising research results, alternative algorithms such as TREAT and LEAPS have had little impact on modern production rule engines. Constraint Handling Rules (CHR) is a high-level, declarative programming language, similar to production rules. In recent years, CHR has increasingly been used in a wide range of general purpose applications. State-of-the-art CHR systems use LEAPS-like lazy matching, and implement a large body of novel program analyses and optimization techniques to further improve performance. While obviously related, CHR and production rules research have mostly evolved independently from each other. With this paper, we aim to foster cross fertilization of implementation techniques. We provide a lucid, comprehensive overview of CHR's rule evaluation methodology, and survey recent contributions to the field of lazy matching. Our empirical evaluation confirms that Rete-based engines would surely benefit from incorporating similar techniques and optimizations.
Index Terms:
Optimizing compilation, lazy evaluation, matching algorithms, production rules, constraint handling rules.
Citation:
Peter Van Weert, "Efficient Lazy Evaluation of Rule-Based Programs," IEEE Transactions on Knowledge and Data Engineering, vol. 22, no. 11, pp. 1521-1534, Nov. 2010, doi:10.1109/TKDE.2009.208
Usage of this product signifies your acceptance of the Terms of Use.