Formalizing Both Refraction-Based and Sequential Executions of Production Rule Programs

  • Bruno Berstel-Da Silva
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7438)


Production systems are declarative, in that they do not explicitly specify the control flow. Yet, the concept of a production system does not include the definition of a given control strategy. The control between rules in a production rule program is, in practice, defined by each implementation of a production rule engine. Engines have traditionally been implemented using the Rete algorithm. Since the turn of the century, however, production systems have evolved into industrial products known as Business Rules Management Systems (BRMS). BRMS have introduced new compilation and execution schemes, which are often called sequential in contrast with the incremental behavior of Rete. This change in execution scheme came with a change in semantics for rule programs. In this paper, we propose a formal description of the execution of production rule programs. Existing descriptions either ignore the control strategy, or assume a Rete semantics. Ours isolates the handling of rule eligibility in the control strategy, which allows us to describe the sequential execution semantics of rule programs, as well as the Rete semantics, and others.


Sequential Execution Boolean Expression Execution Scheme Attribute Symbol Rule Engine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baralis, E., Widom, J.: An algebraic approach to rule analysis in expert database systems. In: Bocca, J.B., Jarke, M., Zaniolo, C. (eds.) VLDB, pp. 475–486. Morgan Kaufmann (1994)Google Scholar
  2. 2.
    Berstel, B., Leconte, M.: Using constraints to verify properties of rule programs. In: Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops, ICSTW 2010, pp. 349–354. IEEE Computer Society (2010)Google Scholar
  3. 3.
    Brownston, L., Farrell, R., Kant, E., Martin, N.: Programming Expert Systems in OPS5: An Introduction to Rule-Based Programming. Addison-Wesley, Boston (1985)Google Scholar
  4. 4.
    de Bruijn, J., Rezk, M.: A Logic Based Approach to the Static Analysis of Production Systems. In: Polleres, A., Swift, T. (eds.) RR 2009. LNCS, vol. 5837, pp. 254–268. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Cheng, A.M.K., Tsai, H.-Y.: A graph-based approach for timing analysis and refinement of OPS5 knowledge-based systems. IEEE Transactions on Knowledge and Data Engineering 16(2), 271–288 (2004)CrossRefGoogle Scholar
  6. 6.
    Cirstea, H., Kirchner, C., Moossen, M., Moreau, P.É.: Production systems and Rete algorithm formalisation. Research report, LORIA, Nancy (September 2004),
  7. 7.
  8. 8.
    Damásio, C.V., Alferes, J.J., Leite, J.: Declarative Semantics for the Rule Interchange Format Production Rule Dialect. In: Patel-Schneider, P.F., Pan, Y., Hitzler, P., Mika, P., Zhang, L., Pan, J.Z., Horrocks, I., Glimm, B. (eds.) ISWC 2010, Part I. LNCS, vol. 6496, pp. 798–813. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Fages, F., Lissajoux, R.: Sémantique opérationnelle et compilation des systèmes de production. Revue d’Intelligence Artificielle 6(4), 431–456 (1992)Google Scholar
  10. 10.
    Fair, Isaac, and Company: High-volume batch processing with Blaze Advisor. Computer World U.K. (March 2007),
  11. 11.
  12. 12.
    Floyd, R.W.: A descriptive language for symbol manipulation. Journal of the ACM 8(4), 579–584 (1961)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Forgy, C.: OPS5 User’s manual. Tech. Rep. CMU-CS-81-135, Carnegie-Mellon University, Pittsburgh (July 1981)Google Scholar
  14. 14.
    Forgy, C.: Rete: A fast algorithm for the many patterns/many objects match problem. Artificial Intelligence 19(1), 17–37 (1982)CrossRefGoogle Scholar
  15. 15.
    Hanson, E., Hasan, M.S.: Gator: An optimized discrimination network for active database rule condition testing. Tech. Rep. TR93-036, University of Florida (1993)Google Scholar
  16. 16.
    IBM Websphere Operational Decision Management,
  17. 17.
    IBM: IBM Websphere Operational Decision Management v7.5 User’s Manual (2011),
  18. 18.
    McCoy, D.W., Sinur, J.: Achieving Agility: The Agile Power of Business Rules. Gartner (2006),
  19. 19.
    Mettrey, W.: A comparative evaluation of expert system tools. Computer 24, 19–31 (1991)CrossRefGoogle Scholar
  20. 20.
    Miranker, D.P.: TREAT: A better match algorithm for AI production systems. In: Proceedings of the Sixth National Conference on Artificial Intelligence, AAAI 1987, vol. 1, pp. 42–47. AAAI Press (1987)Google Scholar
  21. 21.
  22. 22.
    Red Hat: JBoss Enterprise BRMS,
  23. 23.
  24. 24.
    Rosenthal, D.: Adding meta rules to OPS5: A proposed extension. ACM SIGPLAN Notices 20(10), 79–86 (1985)CrossRefGoogle Scholar
  25. 25.
    de Sainte Marie, C., Hallmark, G., Paschke, A.: Rule Interchange Format, Production Rule Dialect. Recommendation, W3C (2010),
  26. 26.
    SAP NetWeaver Business Rules Management,
  27. 27.
    Schmolze, J.G., Snyder, W.: Detecting redundancy among production rules using term rewrite semantics. Knowledge-Based Systems 12(1–2), 3–11 (1999)CrossRefGoogle Scholar
  28. 28.
    Soloway, E., Bachant, J., Jensen, K.: Assessing the maintainability of XCON-in-RIME: Coping with the problems of a VERY large rule-base. In: AAAI, pp. 824–829 (1987)Google Scholar
  29. 29.
    Taylor, J., Raden, N.: Smart (enough) systems: How to deliver competitive advantage by automating the decisions hidden in your business. Prentice Hall, Upper Saddle River (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Bruno Berstel-Da Silva
    • 1
  1. 1.Institut für InformatikAlbert-Ludwigs-Universität FreiburgGermany

Personalised recommendations