Time to the Rescue - Supporting Temporal Reasoning in the Rete Algorithm for Complex Event Processing

  • Karen Walzer
  • Matthias Groch
  • Tino Breddin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5181)


Complex event processing is an important technology with possible application in supply chain management and business activity monitoring. Its basis is the identification of event patterns within multiple occurring events having logical, causal or temporal relationships.

The Rete algorithm is commonly used in rule-based systems to trigger certain actions if a corresponding rule holds. The algorithm’s good performance for a high number of rules makes it ideally suited for complex event detection. However, the traditional Rete algorithm does not support aggregation of values in time-based windows although this is a common requirement in complex event processing for business applications.

We propose an extension of the Rete algorithm to support temporal reasoning, namely the detection of time-based windows by adding a time-enabled beta-node to restrict event detection to a certain time-frame.


Aggregation Function Garbage Collection Temporal Reasoning Complex Event Processing Alpha Memory 
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.
    Demers, A.J., Gehrke, J., Panda, B., Riedewald, M., Sharma, V., White, W.M.: Cayuga: A general purpose event monitoring system. In: CIDR, pp. 412–422 (2007)Google Scholar
  2. 2.
    Li, G., Jacobsen, H.A.: Composite subscriptions in content-based publish/subscribe systems. In: Middleware, pp. 249–269 (2005)Google Scholar
  3. 3.
    Forgy, C.: Rete: A fast algorithm for the many patterns/many objects match problem. Artif. Intell. 19(1), 17–37 (1982)CrossRefGoogle Scholar
  4. 4.
    Berstel, B.: Extending the RETE Algorithm for Event Management. In: TIME 2002: Proceedings of the Ninth International Symposium on Temporal Representation and Reasoning (TIME 2002), Washington, DC, USA, vol. 49. IEEE Computer Society, Los Alamitos (2002)Google Scholar
  5. 5.
    Walzer, K., Breddin, T., Groch, M.: Relative Temporal Constraints in the Rete Algorithm for Complex Event Detection. In: DEBS 2008: 2nd International Conference on Distributed Event-Based Systems (to appear, 2008)Google Scholar
  6. 6.
    Gordin, D.N., Pasik, A.J.: Set-oriented constructs: from Rete rule bases to database systems. In: SIGMOD 1991: Proceedings of the 1991 ACM SIGMOD international conference on Management of data, pp. 60–67. ACM Press, New York (1991)CrossRefGoogle Scholar
  7. 7.
    Maloof, M.A., Kochut, K.: Modifying Rete to Reason Temporally. In: ICTAI, pp. 472–473 (1993)Google Scholar
  8. 8.
    Teodosiu, D., Pollak, G.: Discarding unused temporal information in a production system. In: Proc.of the ISMM International Conference on Information and Knowledge Management CIKM 1992, Baltimore, MD, pp. 177–184 (1992)Google Scholar
  9. 9.
    Bohlen, M.H., Busatto, R., Jensen, C.S.: Point-versus interval-based temporal data models. In: ICDE, pp. 192–200 (1998)Google Scholar
  10. 10.
    Yoneki, E., Bacon, J.: Unified semantics for event correlation over time and space in hybrid network environments. In: Meersman, R., Tari, Z. (eds.) OTM 2005. LNCS, vol. 3760, pp. 366–384. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  11. 11.
    Bry, F., Eckert, M.: Temporal order optimizations of incremental joins for composite event detection. In: Proceedings of Inaugural Int. Conference on Distributed Event-Based Systems, Toronto, Canada, June 20–22, 2007. ACM, New York (2007)Google Scholar
  12. 12.
    Galton, A., Augusto, J.: Two approaches to event definition. In: Hameurlain, A., Cicchetti, R., Traunmüller, R. (eds.) DEXA 2002. LNCS, vol. 2453, pp. 547–556. Springer, Heidelberg (2002)Google Scholar
  13. 13.
    Allen, J.F.: Maintaining knowledge about temporal intervals. Communications of the ACM 26, 832–843 (1983)zbMATHCrossRefGoogle Scholar
  14. 14.
    Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)zbMATHCrossRefGoogle Scholar
  15. 15.
    White, W.M., Riedewald, M., Gehrke, J., Demers, A.J.: What is ”next” in event processing? In: PODS, pp. 263–272. ACM, New York (2007)Google Scholar
  16. 16.
    Srivastava, U., Widom, J.: Flexible time management in data stream systems. In: PODS 2004: Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, pp. 263–274. ACM Press, New York (2004)CrossRefGoogle Scholar
  17. 17.
    Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. The VLDB Journal 15(2), 121–142 (2006)CrossRefGoogle Scholar
  18. 18.
    Ghanem, T.M., Aref, W.G., Elmagarmid, A.K.: Exploiting predicate-window semantics over data streams. SIGMOD Rec. 35(1), 3–8 (2006)CrossRefGoogle Scholar
  19. 19.
    Ghanem, T.M., Hammad, M.A., Mokbel, M.F., Aref, W.G., Elmagarmid, A.K.: Incremental evaluation of sliding-window queries over data streams. IEEE Trans. Knowl. Data Eng. 19(1), 57–72 (2007)CrossRefGoogle Scholar
  20. 20.
    JBoss: JBoss Rules (2007),
  21. 21.
    Red Hat, Inc.: Drools development branch for temporal reasoning,

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Karen Walzer
    • 1
  • Matthias Groch
    • 1
  • Tino Breddin
    • 1
  1. 1.SAP Research CEC DresdenGermany

Personalised recommendations