skip to main content
research-article

A Formal Framework for Complex Event Recognition

Authors Info & Claims
Published:08 December 2021Publication History
Skip Abstract Section

Abstract

Complex event recognition (CER) has emerged as the unifying field for technologies that require processing and correlating distributed data sources in real time. CER finds applications in diverse domains, which has resulted in a large number of proposals for expressing and processing complex events. Existing CER languages lack a clear semantics, however, which makes them hard to understand and generalize. Moreover, there are no general techniques for evaluating CER query languages with clear performance guarantees.

In this article, we embark on the task of giving a rigorous and efficient framework to CER. We propose a formal language for specifying complex events, called complex event logic (CEL), that contains the main features used in the literature and has a denotational and compositional semantics. We also formalize the so-called selection strategies, which had only been presented as by-design extensions to existing frameworks. We give insight into the language design trade-offs regarding the strict sequencing operators of CEL and selection strategies.

With a well-defined semantics at hand, we discuss how to efficiently process complex events by evaluating CEL formulas with unary filters. We start by introducing a formal computational model for CER, called complex event automata (CEA), and study how to compile CEL formulas with unary filters into CEA. Furthermore, we provide efficient algorithms for evaluating CEA over event streams using constant time per event followed by output-linear delay enumeration of the results.

REFERENCES

  1. [1] Apache. n.d. Apache FlinkCEP. Retrieved June 14, 2021 from https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/libs/cep/.Google ScholarGoogle Scholar
  2. [2] EsperTech. n.d. Esper Enterprise Edition Website. Retrieved January 28, 2021 from http://www.espertech.com/.Google ScholarGoogle Scholar
  3. [3] Abadi D., Carney D., Çetintemel U., Cherniack M., Convey C., Erwin C., Galvez E., et al. 2003. Aurora: A data stream management system. In Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] Abiteboul Serge, Hull Richard, and Vianu Victor. 1995. Foundations of Databases: The Logical Level. Addison-Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Adi Asaf and Etzion Opher. 2004. Amit—The situation manager. VLDB Journal 13, 2 (2004), 177–203.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Agrawal Jagrati, Diao Yanlei, Gyllstrom Daniel, and Immerman Neil. 2008. Efficient pattern matching over event streams. In Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. 147–160.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Aho Alfred V.. 1990. Algorithms for finding patterns in strings. In Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity (A). North Holland, 255300.Google ScholarGoogle Scholar
  8. [8] Aho Alfred V. and Hopcroft John E.. 1974. The Design and Analysis of Computer Algorithms. Pearson Education India.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Akdere Mert, Çetintemel Uǧur, and Tatbul Nesime. 2008. Plan-based complex event detection across distributed sources. Proceedings of the VLDB Endowment 1, 1 (2008), 66–77.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] Alevizos Elias, Skarlatidis Anastasios, Artikis Alexander, and Paliouras Georgios. 2017. Probabilistic complex event recognition: A survey. ACM Computing Surveys 50, 5 (2017), Article 71, 31 pages. https://doi.org/10.1145/3117809Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [11] Alur Rajeev, DAntoni Loris, Deshmukh Jyotirmoy, Raghothaman Mukund, and Yuan Yifei. 2013. Regular functions and cost register automata. In Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science. 1322. https://doi.org/10.1109/LICS.2013.65Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. [12] Alur Rajeev, Fisman Dana, Mamouras Konstantinos, Raghothaman Mukund, and Stanford Caleb. 2020. Streamable regular transductions. Theoretical Computer Science 807 (2020), 1541. https://doi.org/10.1016/j.tcs.2019.11.018Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Anicic Darko, Fodor Paul, Rudolph Sebastian, Stühmer Roland, Stojanovic Nenad, and Studer Rudi. 2010. A rule-based language for complex event processing and reasoning. In Web Reasoning and Rule Systems. Lecture Notes in Computer Science, Vol. 6333. Springer, 42–57.Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Arasu Arvind, Babcock Brian, Babu Shivnath, Datar Mayur, Ito Keith, Nishizawa Itaru, Rosenstein Justin, and Widom Jennifer. 2003. STREAM: The Stanford stream data manager (demonstration description). In Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data. 665.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Arasu Arvind, Babu Shivnath, and Widom Jennifer. 2006. The CQL continuous query language: Semantic foundations and query execution. VLDB Journal 15, 2 (2006), 121–142.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Artikis Alexander, Margara Alessandro, Ugarte Martin, Vansummeren Stijn, and Weidlich Matthias. 2017. Complex event recognition languages: Tutorial. In Proceedings of the 11th ACM International Conference on Distributed and Event-Based Systems (DEBS’17). ACM, New York, NY, 710.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Artikis Alexander, Sergot Marek, and Paliouras Georgios. 2015. An event calculus for event recognition. IEEE Transactions on Knowledge and Data Engineering 27, 4 (2015), 895908.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Artikis Alexander, Skarlatidis Anastasios, Portet François, and Paliouras Georgios. 2012. Logic-based event recognition. Knowledge Engineering Review 27, 4 (2012), 469506.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Barga Roger S., Goldstein Jonathan, Ali Mohamed H., and Hong Mingsheng. 2007. Consistent streaming through time: A vision for event stream processing. In Proceedings of the 2007 Conference on Innovative Data Systems Research (CIDR’07). 363–374.Google ScholarGoogle Scholar
  20. [20] Berstel Jean. 2013. Transductions and Context-Free Languages. Springer-Verlag.Google ScholarGoogle Scholar
  21. [21] Björklund Henrik and Schwentick Thomas. 2010. On notions of regularity for data languages. Theoretical Computer Science 411, 4 (2010), 702715. https://doi.org/10.1016/j.tcs.2009.10.009Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Bojańczyk Mikołaj, David Claire, Muscholl Anca, Schwentick Thomas, and Segoufin Luc. 2011. Two-variable logic on data words. ACM Transactions on Computational Logic 12, 4 (July 2011), Article 27, 26 pages. https://doi.org/10.1145/1970398.1970403Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Buchmann Alejandro and Koldehofe Boris. 2009. Complex event processing. IT–Information Technology 51, 5 (2009), 241–242.Google ScholarGoogle ScholarCross RefCross Ref
  24. [24] Câmpeanu Cezar, Salomaa Kai, and Yu Sheng. 2003. A formal study of practical regular expressions. International Journal of Foundations of Computer Science 14, 6 (2003), 10071018.Google ScholarGoogle ScholarCross RefCross Ref
  25. [25] Carle Benjamin and Narendran Paliath. 2009. On extended regular expressions. In Language and Automata Theory and Applications. Lecture Notes in Computer Science, Vol. 5457. Springer, 279–289.Google ScholarGoogle Scholar
  26. [26] Carlson Jan and Lisper Björn. 2010. A resource-efficient event algebra. Science of Computer Programming 75, 12 (2010), 1215–1234.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Chen Jianjun, DeWitt David J., Tian Feng, and Wang Yuan. 2000. NiagaraCQ: A scalable continuous query system for internet databases. In Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data. 379–390.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] Chesani Federico, Mello Paola, Montali Marco, and Torroni Paolo. 2010. A logic-based, reactive calculus of events. Fundamenta Informaticae 105, 1–2 (2010), 135161.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Cugola Gianpaolo and Margara Alessandro. 2009. Raced: An adaptive middleware for complex event detection. In Proceedings of the 8th International Workshop on Adaptive and Reflective Middleware (ARM’09). Article 5, 6 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Cugola Gianpaolo and Margara Alessandro. 2010. TESLA: A formally defined event specification language. In Proceedings of the 4th ACM International Conference on Distributed Event-Based Systems (DEBS’10). 50–61.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Cugola Gianpaolo and Margara Alessandro. 2012. Complex event processing with T-REX. Journal of Systems and Software 85, 8 (2012), 1709–1728.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Cugola Gianpaolo and Margara Alessandro. 2012. Processing flows of information: From data stream to complex event processing. ACM Computing Surveys 44, 3 (2012), Article 15, 62 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Demers Alan, Gehrke Johannes, Hong Mingsheng, Riedewald Mirek, and White Walker. 2005. A General Algebra and Implementation for Monitoring Event Streams. Technical Report. Cornell University.Google ScholarGoogle Scholar
  34. [34] Demers Alan, Gehrke Johannes, Hong Mingsheng, Riedewald Mirek, and White Walker. 2006. Towards expressive publish/subscribe systems. In Proceedings of the 10th International Conference on Advances in Database Technology (EDBT’06). 627–644.Google ScholarGoogle Scholar
  35. [35] Driscoll James R., Sarnak Neil, Sleator Daniel D., and Tarjan Robert E.. 1989. Making data structures persistent. Journal of Computer and System Sciences 38, 1 (1989), 86124.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [36] Durand Arnaud and Grandjean Etienne. 2007. First-order queries on structures of bounded degree are computable with constant delay. ACM Transactions on Computational Logic 8, 4 (2007), 118.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. [37] Fagin Ronald, Kimelfeld Benny, Reiss Frederick, and Vansummeren Stijn. 2015. Document spanners: A formal approach to information extraction. Journal of the ACM 62, 2 (2015), Article 12, 51 pages. https://doi.org/10.1145/2699442Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. [38] Galton Antony and Augusto Juan Carlos. 2002. Two approaches to event definition. In Database and Expert Systems Applications. Lecture Notes in Computer Science, Vol. 2453. Springer, 547–556.Google ScholarGoogle ScholarCross RefCross Ref
  39. [39] Giatrakos Nikos, Alevizos Elias, Artikis Alexander, Deligiannakis Antonios, and Garofalakis Minos N.. 2020. Complex event recognition in the big data era: A survey. VLDB Journal 29, 1 (2020), 313352. https://doi.org/10.1007/s00778-019-00557-wGoogle ScholarGoogle ScholarCross RefCross Ref
  40. [40] Golab Lukasz and Özsu M. Tamer. 2003. Issues in data stream management. ACM SIGMOD Record 32, 2 (2003), 5–14.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. [41] Grez Alejandro, Riveros Cristian, and Ugarte Martín. 2019. A formal framework for complex event processing. In Proceedings of the 22nd International Conference on Database Theory (IDCT’19). Article 5, 18 pages.Google ScholarGoogle Scholar
  42. [42] Grez Alejandro, Riveros Cristian, Ugarte Martín, and Vansummeren Stijn. 2020. On the expressiveness of languages for complex event recognition. In Proceedings of the 23rd International Conference on Database Theory (ICDT’20). Article 15, 17 pages. https://doi.org/10.4230/LIPIcs.ICDT.2020.15Google ScholarGoogle Scholar
  43. [43] Groover Mikell P.. 2007. Automation, Production Systems, and Computer-Integrated Manufacturing. Prentice Hall.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. [44] Gyllstrom Daniel, Agrawal Jagrati, Diao Yanlei, and Immerman Neil. 2008. On supporting Kleene closure over event streams. In Proceedings of the 2008 IEEE 24th International Conference on Data Engineering (ICDE’08). IEEE, Los Alamitos, CA, 13911393.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. [45] He Yeye, Barman Siddharth, and Naughton Jeffrey F.. 2014. On load shedding in complex event processing. In Proceedings of the 17th International Conference on Database Theory (ICDT’14). 213224.Google ScholarGoogle Scholar
  46. [46] He Yeye, Barman Siddharth, Wang Di, and Naughton Jeffrey F.. 2011. On the complexity of privacy-preserving complex event processing. In Proceedings of the 30th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems (PODS’11). 165174.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Ikonomovska Elena and Zelke Mariano. 2013. Algorithmic techniques for processing data streams. Dagstuhl Follow-ups 5 (2013), 237–274.Google ScholarGoogle Scholar
  48. [48] Kaminski Michael and Francez Nissim. 1994. Finite-memory automata. Theoretical Computer Science 134, 2 (1994), 329363. https://doi.org/10.1016/0304-3975(94)90242-9Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. [49] Libkin Leonid. 2013. Elements of Finite Model Theory. Springer Science & Business Media.Google ScholarGoogle Scholar
  50. [50] Liu Mo, Rundensteiner Elke, Greenfield Kara, Gupta Chetan, Wang Song, Ari Ismail, and Mehta Abhay. 2011. E-Cube: Multi-dimensional event sequence analysis using hierarchical pattern query sharing. In Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data (SIGMOD’11). 889900.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. [51] Luckham D.. 1996. Rapide: A Language and Toolset for Simulation of Distributed Systems by Partial Orderings of Events. Technical Report. Computer Science Laboratory, Stanford University.Google ScholarGoogle Scholar
  52. [52] Mamouras Konstantinos, Raghothaman Mukund, Alur Rajeev, Ives Zachary G., and Khanna Sanjeev. 2017. StreamQRE: Modular specification and efficient evaluation of quantitative queries over streaming data. In Proceedings of the 38th ACM SIGPLAN Conference on Progamming Language Design and Implementation (PLDI’17). 693–708 https://doi.org/10.1145/3140587.3062369Google ScholarGoogle Scholar
  53. [53] Mei Yuan and Madden Samuel. 2009. ZStream: A cost-based query processor for adaptively detecting composite events. In Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data (SIGMOD’09). ACM, New York, NY, 193206.Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. [54] Mukherjee Biswanath, Heberlein L. Todd, and Levitt Karl N.. 1994. Network intrusion detection. IEEE Network 8, 3 (1994), 26–41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Pietzuch Peter, Shand Brian, and Bacon Jean. 2003. A framework for event composition in distributed systems. In Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware.Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Pitsikalis Manolis, Artikis Alexander, Dreo Richard, Ray Cyril, Camossi Elena, and Jousselme Anne-Laure. 2019. Composite event recognition for maritime monitoring. In Proceedings of the 13th ACM International Conference on Distributed and Event-Based Systems (DEBS’19). ACM, New York, NY, 163174. https://doi.org/10.1145/3328905.3329762Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. [57] Sahay B. S. and Ranjan Jayanthi. 2008. Real time business intelligence in supply chain analytics. Information Management & Computer Security 16, 1 (2008), 28–48.Google ScholarGoogle ScholarCross RefCross Ref
  58. [58] Schultz-Møller Nicholas Poul, Migliavacca Matteo, and Pietzuch Peter. 2009. Distributed complex event processing with query rewriting. In Proceedings of the 3rd ACM International Conference on Distributed Event-Based Systems (DEBS’09). Article 4, 12 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. [59] Segoufin Luc. 2013. Enumerating with constant delay the answers to a query. In Proceedings of the 16th International Conference on Database Theory. 1020.Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. [60] Segoufin Luc. 2013. Enumerating with constant delay the answers to a query. In Proceedings of the 16th International Conference on Database Theory (ICDT’13). 1020.Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. [61] Veanes Margus. 2013. Applications of symbolic finite automata. In Implementation and Application of Automata. Lecture Notes in Computer Science, Vol. 7982. Springer, 16–23.Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. [62] White Walker, Riedewald Mirek, Gehrke Johannes, and Demers Alan. 2007. What is “next” in event processing? In Proceedings of the 26th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems (PODS’07). 263272.Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. [63] Wu Eugene, Diao Yanlei, and Rizvi Shariq. 2006. High-performance complex event processing over streams. In Proceedings of the 2006 ACM SIGMOD International Conference on Management of Data (SIGMOD’06). 407–418.Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. [64] Zhang Haopeng, Diao Yanlei, and Immerman Neil. 2014. On complexity and optimization of expensive queries in complex event processing. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data (SIGMOD’14). 217–228.Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. [65] Zimmer Detlef and Unland Rainer. 1999. On the semantics of complex events in active database management systems. In Proceedings of the 15th International Conference on Data Engineering (ICDE’99).Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Formal Framework for Complex Event Recognition

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Database Systems
            ACM Transactions on Database Systems  Volume 46, Issue 4
            December 2021
            169 pages
            ISSN:0362-5915
            EISSN:1557-4644
            DOI:10.1145/3492445
            Issue’s Table of Contents

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 8 December 2021
            • Accepted: 1 September 2021
            • Revised: 1 July 2021
            • Received: 1 January 2021
            Published in tods Volume 46, Issue 4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          Full Text

          View this article in Full Text.

          View Full Text

          HTML Format

          View this article in HTML Format .

          View HTML Format