An intuitive and resource-efficient event detection algebra

In reactive systems, execution is driven by external events to which the system should respond with appropriate actions. Such events can be simple, but systems are often supposed to react to sophisticated situations involving a number of simpel events occurring in accordance with some pattern. A systematic approach to handle this type of systems is to separate the mechanism for detecting composite events from the rest of the application logic. A detection mechanism listens for simple event occurrences and notifies the application when one of the complex event patterns of interest occur. The event detection mechanism can for example be based on an event algebra, i.e., expressions that correspond to the event patterns of interest are built from simple events and operators from the algebra. This thesis presents a novel event algebra with two important characteristics: It complies with algebraic laws that intuitively ought to hold for the operators of the algebra, and for a large class of expressions the detection can be correctly performed with limited resources in terms of memory and time. In addition to the declarative algebra semantics, we present an imperative detection algorithm and show that it correctly implements the algebra. This algorithm is analysed with respect to memory requirements and execution time complexity. To increase the efficiency of the algebra, we also present a semantic-preserving transformation scheme by which many expressions can be transformed to meet criteria under which limited resource requirements are guaranteed. Finally, we present a prototype implementation that combines the algebra with the event system in Java.

[1]  Robert E. Gruber,et al.  The architecture of the READY event notification service , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  Henrik Nilsson,et al.  Functional reactive programming, continued , 2002, Haskell '02.

[4]  Klaus R. Dittrich,et al.  Detecting composite events in active database systems using Petri nets , 1994, Proceedings of IEEE International Workshop on Research Issues in Data Engineering: Active Databases Systems.

[5]  Gregory D. Hager,et al.  Functional reactive robotics: an exercise in principled integration of domain-specific languages , 2002, PPDP '02.

[6]  Paul Hudak,et al.  Functional reactive programming from first principles , 2000, PLDI '00.

[7]  C. Dousson Alarm driven supervision for telecommunication network: II - On-line chronicle recognition , 1996 .

[8]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[9]  Lars Bækgaard,et al.  Real-time event control in active databases , 1998, J. Syst. Softw..

[10]  Jean Bacon,et al.  Using events to build large scale distributed applications , 1996, EW 7.

[11]  Rainer Unland,et al.  On the semantics of complex events in active database management systems , 1999, Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337).

[12]  Malik Ghallab,et al.  Situation Recognition: Representation and Algorithms , 1993, IJCAI.

[13]  Jonas Mellin,et al.  Resource-Predictable and Efficient Monitoring of Events , 2004 .

[14]  Szabolcs Mikulás,et al.  Expressiveness Issues and Decision Problems for Active Database Event Queries , 2001, ICDT.

[15]  Björn Lisper,et al.  An Interval-Based Algebra for Restricted Event Detection , 2003, FORMATS.

[16]  Juan Carlos Augusto,et al.  Two Approaches to Event Definition , 2002, DEXA.

[17]  Björn Lisper,et al.  An event detection algebra for reactive systems , 2004, EMSOFT '04.

[18]  James F. Allen Maintaining knowledge about temporal intervals , 1983, CACM.

[19]  Narain H. Gehani,et al.  COMPOSE: A System For Composite Specification And Detection , 1993, Advanced Database Systems.

[20]  Robert A. Kowalski,et al.  Database Updates in the Event Calculus , 1992, J. Log. Program..

[21]  Jan Carlson An improved algebra for restricted event detection , 2004 .

[22]  Guangtian Liu,et al.  Early detection of timing constraint violation at runtime , 1997, Proceedings Real-Time Systems Symposium.

[23]  James F. Allen,et al.  Actions and Events in Interval Temporal Logic , 1994, J. Log. Comput..

[24]  Guangtian Liu,et al.  A unified approach for specifying timing constraints and composite events in active real-time database systems , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[25]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[26]  Guangtian Liu,et al.  Efficient Run-time Monitoring Of Timing Constraints , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[27]  Annika Hinze,et al.  A parameterized algebra for event notification services , 2002, Proceedings Ninth International Symposium on Temporal Representation and Reasoning.

[28]  Sharma Chakravarthy,et al.  Composite Events for Active Databases: Semantics, Contexts and Detection , 1994, VLDB.

[29]  Wang Yi,et al.  Real-Time Behaviour of Asynchronous Agents , 1990, CONCUR.

[30]  Klaus R. Dittrich,et al.  Events in an Active Object-Oriented Database System , 1993, Rules in Database Systems.

[31]  Magnus Carlsson,et al.  The Semantic Layers of Timber , 2003, APLAS.

[32]  César Sánchez,et al.  Event Correlation: Language and Semantics , 2003, EMSOFT.

[33]  Sharma Chakravarthy,et al.  Snoop: An Expressive Event Specification Language for Active Databases , 1994, Data Knowl. Eng..