A Rule-Based Calculus and Processing of Complex Events
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.
KeywordsComplex Event Processing Event Calculus Production Rules Rule-based Reasoning
Unable to display preview. Download preview PDF.
- 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.Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice Hall, Upper Saddle River (2003)Google Scholar
- 3.Simon, H.: Production Systems. The MIT Press (1999)Google Scholar
- 4.Thagard, P.: Mind: Introduction to cognitive science, 2nd edn. The MIT Press (2005)Google Scholar
- 5.Kowalski, R.A., Sadri, F.: Programming with logic without logic programming. Technical report, Department of Computing, Imperial College London (2012)Google Scholar
- 7.Miller, R., Shanahan, M.: The event calculus in classical logic-alternative axiomatizations. Electronic Transactions on Artificial Intelligence 4 (1999)Google Scholar
- 8.McCarthy, J., Hayes, P.: Some philosophical problems from the standpoint of artificial intelligence. Stanford University (1968)Google Scholar
- 9.Sadri, F., Kowalski, R.A.: Variants of the event calculus. In: Proc. ICLP, vol. 95, pp. 67–82 (1995)Google Scholar
- 10.Shanahan, M.: The Event Calculus explained. Artificial Intelligence Today, 409–430 (1999)Google Scholar
- 14.Shanahan, M.: Solving the frame problem: a mathematical investigation of the common sense law of inertia. The MIT Press (1997)Google Scholar
- 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
- 17.Shanahan, M.: Robotics and the common sense informatic situation, pp. 684–688 (1996)Google Scholar
- 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
- 24.Weske, M.: Business process management: concepts, languages, architectures. Springer (2010)Google Scholar
- 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
- 27.Weiss, G.: Multiagent systems: a modern approach to distributed artificial intelligence. The MIT press (1999)Google Scholar
- 29.Luckham, D.C.: The power of events: an introduction to complex event processing in distributed enterprise systems. Addison-Wesley (2001)Google Scholar