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.

A Rule-Based Calculus and Processing of Complex Events

BRAGAGLIA, STEFANO;CHESANI, FEDERICO;MELLO, PAOLA;SOTTARA, DAVIDE
2012

Abstract

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.
2012
Rules on the Web: Research and Applications
151
166
S. Bragaglia; F. Chesani; P. Mello; D. Sottara
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/153826
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 9
  • ???jsp.display-item.citation.isi??? ND
social impact