A Rule-Based Calculus and Processing of Complex Events

  • Stefano Bragaglia
  • Federico Chesani
  • Paola Mello
  • Davide Sottara
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7438)


Rules are definitely among the main kinds of knowledge representation in Artificial Intelligence. In recent years, there has been much discussion about production rules and logic programming to understand whether the two paradigms could be joined or, alternatively, which was the better. Conversely, the idea to program a production system with logic without actually relying on logic programming was proposed.

In this paper we present a software component that implements a typical logic formalism, the Event Calculus within a production rules system. This component allows to perform deductive reasoning tasks (temporal projection or prediction, such as monitoring) and thanks to some technical choices, it proves to be quite efficient. In addition, thanks to its strong modular nature, it can adapt to the domain’s requirements and complement other forms of reasoning at the same time.

We also present some preliminary results on tests that we have conducted to show that our system based on a Java rules engine is almost as efficient as an equivalent logic program running on the fastest C++ Prolog interpreter. Furthermore we show how our framework can be used to effectively observe the evolving state of our use case – a Service Oriented Architecture server – in a way that qualifies as Complex Event Processing.


Complex Event Processing Event Calculus Production Rules Rule-based Reasoning 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kowalski, R.A., Sadri, F.: Towards a Logic-based Production System Language. Technical report, Department of Computing, Imperial College London (2010)Google Scholar
  2. 2.
    Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice Hall, Upper Saddle River (2003)Google Scholar
  3. 3.
    Simon, H.: Production Systems. The MIT Press (1999)Google Scholar
  4. 4.
    Thagard, P.: Mind: Introduction to cognitive science, 2nd edn. The MIT Press (2005)Google Scholar
  5. 5.
    Kowalski, R.A., Sadri, F.: Programming with logic without logic programming. Technical report, Department of Computing, Imperial College London (2012)Google Scholar
  6. 6.
    Kowalski, R.A., Sergot, M.: A logic-based calculus of events. New Generation Computing 4(1), 67–95 (1986)CrossRefGoogle Scholar
  7. 7.
    Miller, R., Shanahan, M.: The event calculus in classical logic-alternative axiomatizations. Electronic Transactions on Artificial Intelligence 4 (1999)Google Scholar
  8. 8.
    McCarthy, J., Hayes, P.: Some philosophical problems from the standpoint of artificial intelligence. Stanford University (1968)Google Scholar
  9. 9.
    Sadri, F., Kowalski, R.A.: Variants of the event calculus. In: Proc. ICLP, vol. 95, pp. 67–82 (1995)Google Scholar
  10. 10.
    Shanahan, M.: The Event Calculus explained. Artificial Intelligence Today, 409–430 (1999)Google Scholar
  11. 11.
    Mueller, E.T.: Event calculus. Foundations of Artificial Intelligence 3, 671–708 (2008)CrossRefGoogle Scholar
  12. 12.
    Kowalski, R.A.: Database updates in the event calculus. The Journal of Logic Programming 12(1-2), 121–146 (1992)CrossRefGoogle Scholar
  13. 13.
    Cervesato, I., Franceschet, M., Montanari, A.: A guided tour through some extensions of the event calculus. Computational Intelligence 16(2), 307–347 (2000)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Shanahan, M.: Solving the frame problem: a mathematical investigation of the common sense law of inertia. The MIT Press (1997)Google Scholar
  15. 15.
    Chittaro, L., Montanari, A.: Efficient handling of context-dependency in the Cached Event Calculus. In: Proc. of TIME 1994 - International Workshop on Temporal Representation and Reasoning, pp. 103–112 (1994)Google Scholar
  16. 16.
    Chesani, F., Mello, P., Montali, M., Torroni, P.: A logic-based, reactive calculus of events. Fundamenta Informaticae 105(1), 135–161 (2010)MathSciNetzbMATHGoogle Scholar
  17. 17.
    Shanahan, M.: Robotics and the common sense informatic situation, pp. 684–688 (1996)Google Scholar
  18. 18.
    Shanahan, M.: An abductive event calculus planner. The Journal of Logic Programming 44(1-3), 207–240 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Mahbub, K., Spanoudakis, G.: Run-time monitoring of requirements for systems composed of web-services: Initial implementation and evaluation experience. In: Proceedings. 2005 IEEE International Conference on Web Services, ICWS 2005, pp. 257–265. IEEE (2005)Google Scholar
  20. 20.
    Rouached, M., Fdhila, W., Godart, C.: A semantical framework to engineering wsbpel processes. Information Systems and E-Business Management 7(2), 223–250 (2009)CrossRefGoogle Scholar
  21. 21.
    Fernandes, A.A.A., Williams, M.H., Paton, N.W.: A logic-based integration of active and deductive databases. New Generation Computing 15(2), 205–244 (1997)CrossRefGoogle Scholar
  22. 22.
    Cicekli, N.K., Cicekli, I.: Formalizing the specification and execution of workflows using the event calculus. Information Sciences 176(15), 2227–2267 (2006)zbMATHCrossRefGoogle Scholar
  23. 23.
    Farrell, A.D.H., Sergot, M.J., Sallé, M., Bartolini, C.: Using the event calculus for tracking the normative state of contracts. International Journal of Cooperative Information Systems 14(2-3), 99–129 (2005)CrossRefGoogle Scholar
  24. 24.
    Weske, M.: Business process management: concepts, languages, architectures. Springer (2010)Google Scholar
  25. 25.
    Ten Teije, A., Miksch, S., Lucas, P.: Computer-based medical guidelines and protocols: a primer and current trends, vol. 139. IOS Press (2008)Google Scholar
  26. 26.
    Huhns, M.N., Singh, M.P.: Service-oriented computing: Key concepts and principles. IEEE Internet Computing 9(1), 75–81 (2005)CrossRefGoogle Scholar
  27. 27.
    Weiss, G.: Multiagent systems: a modern approach to distributed artificial intelligence. The MIT press (1999)Google Scholar
  28. 28.
    Forgy, C.L.: RETE: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence 19(1), 17–37 (1982)CrossRefGoogle Scholar
  29. 29.
    Luckham, D.C.: The power of events: an introduction to complex event processing in distributed enterprise systems. Addison-Wesley (2001)Google Scholar
  30. 30.
    Allen, J.F.: Maintaining knowledge about temporal intervals. Communications of the ACM 26(11), 832–843 (1983)zbMATHCrossRefGoogle Scholar
  31. 31.
    Bragaglia, S., Chesani, F., Mello, P., Sottara, D.: A Rule-Based Implementation of Fuzzy Tableau Reasoning. In: Dean, M., Hall, J., Rotolo, A., Tabet, S. (eds.) RuleML 2010. LNCS, vol. 6403, pp. 35–49. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  32. 32.
    Bragaglia, S., Chesani, F., Fry, E., Mello, P., Montali, M., Sottara, D.: Event condition expectation (ECE-) rules for monitoring observable systems. In: Palmirani, M. (ed.) RuleML - America 2011. LNCS, vol. 7018, pp. 267–281. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Stefano Bragaglia
    • 1
  • Federico Chesani
    • 1
  • Paola Mello
    • 1
  • Davide Sottara
    • 1
  1. 1.DEISUniversity of BolognaBolognaItaly

Personalised recommendations