Abstract
The concept of event processing is established as a generic computational paradigm in various application fields. Events report on state changes of a system and its environment. Complex event recognition (CER) refers to the identification of composite events of interest, which are collections of simple, derived events that satisfy some pattern, thereby providing the opportunity for reactive and proactive measures. Examples include the recognition of anomalies in maritime surveillance, electronic fraud, cardiac arrhythmias and epidemic spread. This survey elaborates on the whole pipeline from the time CER queries are expressed in the most prominent languages, to algorithmic toolkits for scaling-out CER to clustered and geo-distributed architectural settings. We also highlight future research directions.
References
Apache Flink v. 1.7. https://flink.apache.org/. Accessed 31 March 2019
Apache FlinkCEP. https://ci.apache.org/projects/flink/flink-docs-stable/dev/libs/cep.html. Accessed 31 March 2019
Apache Flume. https://flume.apache.org/. Accessed 31 March 2019
Apache Kafka. https://kafka.apache.org/. Accessed 31 March 2019
Apache Spark Streaming. https://spark.apache.org/docs/latest/streaming-programming-guide.html. Accessed 31 March 2019
Apache Spark Structured Streaming. https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html. Accessed 31 March 2019
Apache Spark v. 2.4.0. https://spark.apache.org/. Accessed 31 March 2019
Apache Storm v. 2.0.0. http://storm.apache.org/. Accessed 31 March 2019
Bringing complex event processing to spark streaming. https://www.youtube.com/watch?v=naCRk9wAd6g. Accessed 31 March 2019
CUDA Zone. https://developer.nvidia.com/cuda-zone. Accessed 31 March 2019
Esper. http://www.espertech.com/esper. Accessed 31 March 2019
Esperonstorm. https://github.com/tomdz/storm-esper. Accessed 31 March 2019
Ibm proactive technology online. https://github.com/ishkin/Proton/tree/master/IBM. Accessed 31 March 2019
Ibm proactive technology online on storm. https://github.com/ishkin/Proton/tree/master/IBM. Accessed 31 March 2019
Jess, the rule engine for the java platform. https://www.jessrules.com/jess/docs/71/. Accessed 31 March 2019
Oracle cep cql language reference. https://docs.oracle.com/cd/E16764_01/doc.1111/e12048/intro.htm. Accessed 31 March 2019
Sase source code. https://github.com/haopeng/sase/. Accessed 31 March 2019
Siddhi CEP. https://github.com/wso2/siddhi. Accessed 31 March 2019
Storm compatibility beta. https://ci.apache.org/projects/flink/flink-docs-stable/dev/libs/storm_compatibility.html. Accessed 31 March 2019
Stratio Decision. https://github.com/Stratio/Decision. Accessed 31 March 2019
Agrawal, J., Diao, Y., Gyllstrom, D., Immerman, N.: Efficient pattern matching over event streams. In: SIGMOD (2008)
Aguilera, M.K., Strom, R.E., Sturman, D.C., Astley, M., Chandra, T. D.: Matching events in a content-based subscription system. In: PODC, pp. 53–61 (1999)
Ahmad, Y., Çetintemel, U.: Network-aware query processing for stream-based applications. In: VLDB, pp. 456–467 (2004)
Akdere, M., Çetintemel, U., Tatbul, N.: Plan-based complex event detection across distributed sources. PVLDB 1(1), 66–77 (2008)
Alevizos, E., Artikis, A., Paliouras, G.: Event forecasting with pattern markov chains. In: DEBS, pp. 146–157 (2017)
Alevizos, E., Artikis, A., Paliouras, G.: Wayeb: a tool for complex event forecasting. In: LPAR (2018)
Alevizos, E., Skarlatidis, A., Artikis, A., Paliouras, G.: Probabilistic complex event recognition: a survey. ACM Comput. Surv. 50(5), 71:1–71:31 (2017)
Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26(11), 832–843 (1983)
Allen, J.F.: Towards a general theory of action and time. Artif. Intell. 23(2), 123–154 (1984)
Amazon. Cloud Services Pricing—Amazon Web Services (AWS). https://aws.amazon.com/pricing/services/. Accessed 31 March 2019
Amini, L., Jain, N., Sehgal, A., Silber, J., Verscheure, O.: Adaptive control of extreme-scale stream processing systems. In: ICDCS, pp. 71–71 (2006)
Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. VLDB J. 15(2), 121–142 (2006)
Arasu, A., Cherniack, M., Galvez, E. F., Maier, D., Maskey, A., Ryvkina, E., Stonebraker, M., Tibbetts, R.: Linear road: a stream data management benchmark. In: VLDB, pp. 480–491 (2004)
Artikis, A., Margara, A., Ugarte, M., Vansummeren, S., Weidlich, M.: Complex event recognition languages: tutorial. In: DEBS (2017)
Artikis, A., Sergot, M.J., Paliouras, G.: An event calculus for event recognition. IEEE Trans. Knowl. Data Eng. 27(4), 895–908 (2015)
Artikis, A., Skarlatidis, A., Portet, F., Paliouras, G.: Logic-based event recognition. Knowl. Eng. Rev. 27(4), 469–506 (2012)
Babu, S., Srivastava, U., Widom, J.: Exploiting k-constraints to reduce memory overhead in continuous queries over data streams. ACM Trans. Database Syst. 29(3), 545–580 (2004)
Balazinska, M., Kwon, Y., Kuchta, N., Lee, D.: Moirae: History-enhanced monitoring. In: CIDR, pp. 375–386 (2007)
Balkesen, C., Dindar, N., Wetter, M., Tatbul, N.: RIP: run-based intra-query parallelism for scalable complex event processing. In: DEBS, pp. 3–14 (2013)
Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.E.: Quantified event automata: Towards expressive and efficient runtime monitors. In: FM (2012)
Benzing, A., Koldehofe, B., Rothermel, K.: Efficient support for multi-resolution queries in global sensor networks. In: COMSWARE, pp. 11:1–11:12 (2011)
Boubeta-Puig, J., Díaz, G., Macià, H., Valero, V., Ortiz, G.: Medit4cep-cpn: an approach for complex event processing modeling by prioritized colored petri nets. Inf. Syst. 81, 267–289 (2019)
Brendel, W., Fern, A., Todorovic, S.: Probabilistic event logic for interval-based event recognition. In: CVPR, pp. 3329–3336 (2011)
Brenna, L., Gehrke, J., Hong, M., Johansen, D.: Distributed event stream processing with non-deterministic finite automata. In: DEBS (2009)
Brito, A., Fetzer, C., Sturzrehm, H., Felber, P.: Speculative out-of-order event processing with software transaction memory. In: DEBS, pp. 265–275 (2008)
Cardellini, V., Grassi, V., Lo Presti, F., Nardelli, M.: Optimal operator placement for distributed stream processing applications. In: DEBS, pp. 69–80 (2016)
Cardellini, V., Grassi, V., Presti, F.L., Nardelli, M.: Optimal operator replication and placement for distributed stream processing systems. SIGMETRICS Perform. Eval. Rev. 44(4), 11–22 (2017)
Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Trans. Comput. Syst. 19(3), 332–383 (2001)
Cervesato, I., Montanari, A.: A calculus of macro-events: Progress report. In: TIME (2000)
Çetintemel, U., Abadi, D.J., Ahmad, Y., Balakrishnan, H., Balazinska, M., Cherniack, M., Hwang, J., Madden, S., Maskey, A., Rasin, A., Ryvkina, E., Stonebraker, M., Tatbul, N., Xing, Y., Zdonik, S.: The aurora and borealis stream processing engines. In: Garofalakis, M., Gehrke, J., Rastogi, R. (eds.) Data Stream Management, Data-Centric Systems and Applications, pp. 337–359. Springer, Berlin (2016)
Chandramouli, B., Goldstein, J., Maier, D.: High-performance dynamic pattern matching over disordered streams. PVLDB 3(1), 220–231 (2010)
Chandrasekaran, S., Cooper, O., Deshpande, A., Franklin, M.J., Hellerstein, J.M., Hong, W., Krishnamurthy, S., Madden, S., Reiss, F., Shah, M.A.: Telegraphcq: continuous dataflow processing. In: SIGMOD (2003)
Chen, F., Rosu, G.: Parametric trace slicing and monitoring. In: TACAS (2009)
Chintapalli, S., Dagit, D., Evans, B., Farivar, R., Graves, T., Holderbaugh, M., Liu, Z., Nusbaum, K., Patil, K., Peng, B.J., et al.: Benchmarking streaming computation engines: storm, flink and spark streaming. In: IPDPSW, pp. 1789–1792 (2016)
Choppy, C., Bertrand, O., Carle, P.: Coloured petri nets for chronicle recognition. In: 14th Ada-Europe International Conference (2009)
Cipriani, N., Eissele, M., Brodt, A., Grossmann, M., Mitschang, B.: Nexusds: a flexible and extensible middleware for distributed stream processing. In: IDEAS, pp. 152–161 (2009)
Cormode, G., Korn, F., Tirthapura, S.: Time-decaying aggregates in out-of-order streams. In: PODS (2008)
Cugola, G., Margara, A.: TESLA: a formally defined event specification language. In: DEBS (2010)
Cugola, G., Margara, A.: Complex event processing with T-REX. J. Syst. Softw. 85(8), 1709–1728 (2012)
Cugola, G., Margara, A.: Low latency complex event processing on parallel hardware. J. Parallel Distrib. Comput. 72(2), 205–218 (2012)
Cugola, G., Margara, A.: Processing flows of information: from data stream to complex event processing. ACM Comput. Surv. 44(3), 15:1–15:62 (2012)
Cugola, G., Margara, A.: Deployment strategies for distributed complex event processing. Computing 95(2), 129–156 (2013)
Cugola, G., Margara, A., Matteucci, M., Tamburrelli, G.: Introducing uncertainty in complex event processing: model, implementation, and validation. Computing 97(2), 103–144 (2015)
D’Antoni, L., Veanes, M.: Extended symbolic finite automata and transducers. Form. Methods Syst. Design 47(1), 93–119 (2015)
D’Antoni, L., Veanes, M.: The power of symbolic automata and transducers. In: CAV (2017)
Demersd, A.J., Gehrke, J., Hong, M., Riedewald, M., White, W.M.: Towards expressive publish/subscribe systems. In: EDBT (2006)
Demers, A.J., Gehrke, J., Panda, B., Riedewald, M., Sharma, V., White, W.M.: Cayuga: a general purpose event monitoring system. In: CIDR (2007)
Diao, Y., Immerman, N., Gyllstrom, D.: Sase+: an agile language for kleene closure over event streams. UMass Technical Report (2007)
Ding, L., Chen, S., Rundensteiner, E.A., Tatemura, J., Hsiung, W., Candan, K.S.: Runtime semantic query optimization for event stream processing. In: ICDE, pp. 676–685 (2008)
Dousson, C.: Extending and unifying chronicle representation with event counters. In: ECAI (2002)
Dousson, C., Gaborit, P., Ghallab, M.: Situation recognition: Representation and algorithms. In: IJCAI (1993)
Dousson, C., Maigat, P.L.: Chronicle recognition improvement using temporal focusing and hierarchization. In: IJCAI (2007)
Etzion, O., Niblett, P.: Event Processing in Action. Manning Publications Company, Shelter Island (2010)
Fernandez, R.C., Migliavacca, M., Kalyvianaki, E., Pietzuch, P.R.: Integrating scale out and fault tolerance in stream processing using operator state management. In: SIGMOD (2013)
Flouris, I., Manikaki, V., Giatrakos, N., Deligiannakis, A., Garofalakis, M.N., Mock, M., Bothe, S., Skarbovsky, I., Fournier, F., Stajcer, M., Krizan, T., Yom-Tov, J., Curin, T.: FERARI: a prototype for complex event processing over streaming multi-cloud platforms. In: SIGMOD, pp. 2093–2096 (2016)
Galton, A., Augusto, J.C.: Two approaches to event definition. In: Database and Expert Systems Applications DEXA (2002)
Garofalakis, M.N., Gehrke, J., Rastogi, R. (eds.): Data Stream Management-Processing High-Speed Data Streams (Data-Centric Systems and Applications). Springer, Berlin (2016)
Gedik, B., Andrade, H., Wu, K.-L., Yu, P.S., Doo, M.: Spade: the system s declarative stream processing engine. In: SIGMOD, pp. 1123–1134 (2008)
Ghallab, M.: On chronicles: representation, on-line recognition and learning. In: KR (1996)
Ghezzi, C., Mandrioli, D., Morzenti, A.: TRIO: a logic language for executable specifications of real-time systems. J. Syst. Softw. 12(2), 107–123 (1990)
Giatrakos, N., Artikis, A., Deligiannakis, A., Garofalakis, M.N.: Complex event recognition in the big data era. PVLDB 10(12), 1996–1999 (2017)
Gonzalez, J.E., Low, Y., Gu, H., Bickson, D., Guestrin, C.: Powergraph: distributed graph-parallel computation on natural graphs. In: OSDI, pp. 17–30 (2012)
Gonzalez, J.E., Xin, R.S., Dave, A., Crankshaw, D., Franklin, M.J., Stoica, I.: Graphx: graph processing in a distributed dataflow framework. In: OSDI, pp. 599–613 (2014)
Google: Google Cloud Platform Pricing Calculator. https://cloud.google.com/products/calculator/. Accessed 31 March 2019
Grez, A., Riveros, C., Ugarte, M.: A formal framework for complex event processing. In: ICDT (2019)
Gulisano, V., Jiménez-Peris, R., Patiño-Martínez, M., Soriente, C., Valduriez, P.: Streamcloud: an elastic and scalable data streaming system. IEEE Trans. Parallel Distrib. Syst. 23(12), 2351–2365 (2012)
Gyllstrom, D., Wu, E., Chae, H., Diao, Y., Stahlberg, P., Anderson, G.: SASE: complex event processing over streams (demo). In: CIDR (2007)
Hallé, S.: From complex event processing to simple event processing (2017). CoRR arXiv:1702.08051
Hedtstück, U.: Complex Event Processing: Verarbeitung von Ereignismustern in Datenströmen. Springer Vieweg, Berlin (2017)
Heinze, T., Jerzak, Z., Hackenbroich, G., Fetzer, C.: Latency-aware elastic scaling for distributed data stream processing systems. In: DEBS, pp. 13–22 (2014)
Heinze, T., Ji, Y., Pan, Y., Grüneberger, F.J., Jerzak, Z., Fetzer, C.: Elastic complex event processing under varying query load. In: BD3@VLDB, volume 1018 of CEUR Workshop Proceedings, pp. 25–30. CEUR-WS.org (2013)
Heinze, T., Ji, Y., Roediger, L., Pappalardo, V., Meister, A., Jerzak, Z., Fetzer, C.: FUGU: elastic data stream processing with latency constraints. IEEE Data Eng. Bull. 38(4), 73–81 (2015)
Heinze, T., Pappalardo, V., Jerzak, Z., Fetzer, C.: Auto-scaling techniques for elastic data stream processing. In: DEBS, pp. 318–321 (2014)
Hirzel, M.: Partition and compose: parallel complex event processing. In: DEBS, pp. 191–200 (2012)
Hopcroft, J., Motwani, R., Ullman, J.: Introduction to Automata Theory, Languages, and Computation. Pearson/Addison Wesley, Boston (2007)
Ji, Y., Zhou, H., Jerzak, Z., Nica, A., Hackenbroich, G., Fetzer, C.: Quality-driven processing of sliding window aggregates over out-of-order data streams. In: DEBS, pp. 68–79 (2015)
Kalyvianaki, E., Wiesemann, W., Vu, Q.H., Kuhn, D., Pietzuch, P.: Sqpr: stream query planning with reuse. In: ICDE, pp. 840–851 (2011)
Kaminski, M., Francez, N.: Finite-memory automata. Theor. Comput. Sci. 134(2), 329–363 (1994)
Karimov, J., Rabl, T., Katsifodimos, A., Samarev, R., Heiskanen, H., Markl, V.: Benchmarking distributed stream data processing systems. In: ICDE, pp. 1507–1518 (2018)
Katzouris, N., Artikis, A., Paliouras, G.: Online learning of event definitions. TPLP 16(5–6), 817–833 (2016)
Katzouris, N., Artikis, A., Paliouras, G.: Parallel online event calculus learning for complex event recognition. Future Gener. Comput. Syst. 94, 468–478 (2019)
Kawashima, H., Kitagawa, H., Li, X.L: Complex event processing over uncertain data streams. In: PGCIC, pp. 1–526 (2010)
Koch, G.G., Koldehofe, B., Rothermel. K.: Cordies: expressive event correlation in distributed systems. In: EBS (2010)
Kolchinsky, I., Sharfman, I., Schuster, A.: Lazy evaluation methods for detecting complex events. In: DEBS (2015)
Kowalski, R.A., Sergot, M.J.: A logic-based calculus of events. New Gener. Comput. 4(1), 67–95 (1986)
Kumar, V., Cooper, B.F., Schwan, K.: Distributed stream management using utility-driven self-adaptive middleware. In: ICAC, pp. 3–14 (2005)
Lee, O., Jung, J.E.: Sequence clustering-based automated rule generation for adaptive complex event processing. Future Gener. Comput. Syst. 66, 100–109 (2017)
Lei, C., Rundensteiner, E.A.: Robust distributed query processing for streaming data. ACM Trans. Database Syst. 39(2), 17:1–17:45 (2014)
Li, C., Gu, Y., Yu, G., Hong, B.: Aggressive complex event processing with confidence over out-of-order streams. J. Comput. Sci. Technol. 26(4), 685–696 (2011)
Li, G., Jacobsen, H.: Composite subscriptions in content-based publish/subscribe systems. In: Middleware (2005)
Li, Z., Ge, T.: History is a mirror to the future: best-effort approximate complex event matching with insufficient resources. PVLDB 10(4), 397–408 (2016)
Liu, H., Jacobsen, H.: Modeling uncertainties in publish/subscribe systems. In: ICDE, pp. 510–521 (2004)
Liu, M., Li, M., Golovnya, D., Rundensteiner, E.A., Claypool, K.T.: Sequence pattern query processing over out-of-order event streams. In: ICDE (2009)
Liu, M., Rundensteiner, E.A., Greenfield, K., Gupta, C., Wang, S., Ari, I., Mehta, A.: E-cube: multi-dimensional event sequence analysis using hierarchical pattern query sharing. In: SIGMOD (2011)
Lolos, K., Konstantinou, I., Kantere, V., Koziris, N.: Elastic management of cloud applications using adaptive reinforcement learning. In: Big Data (2017)
Lu, R., Wu, G., Xie, B., Hu, J.: Stream bench: Towards benchmarking modern distributed stream computing frameworks. In: UCC, pp. 69–78 (2014)
Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley, Boston (2001)
Margara, A., Cugola, G., Tamburrelli, G.: Learning from the past: automated rule generation for complex event processing. In: DEBS, pp. 47–58. ACM (2014)
Mayer, R., Koldehofe, B., Rothermel, K.: Predictable low-latency event detection with parallel complex event processing. IEEE Internet Things J. 2(4), 274–286 (2015)
Mayer, R., Mayer, C., Tariq, M.A., Rothermel, K.: Graphcep: real-time data analytics using parallel complex event and graph processing. In: DEBS, pp. 309–316 (2016)
Mayer, R., Slo, A., Tariq, M.A., Rothermel, K., Gräber, M., Ramachandran, U.: SPECTRE: supporting consumption policies in window-based parallel complex event processing. In: Middleware, pp. 161–173 (2017)
Mayer, R., Tariq, M.A., Rothermel, K.: Minimizing communication overhead in window-based parallel complex event processing. In: DEBS, pp. 54–65 (2017)
Mei, Y., Madden, S.: Zstream: a cost-based query processor for adaptively detecting composite events. In: SIGMOD (2009)
Mendes, M., Bizarro, P., Marques, P.: Towards a standard event processing benchmark. In: Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, pp. 307–310. ACM (2013)
Microsoft. Bandwidth Pricing Details. https://azure.microsoft.com/en-us/pricing/details/bandwidth/. Accessed 31 March 2019
Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)
Mutschler, C., Philippsen, M.: Adaptive speculative processing of out-of-order event streams. ACM Trans. Internet Technol. 14(1), 4:1–4:24 (2014)
Paschke, A.: Eca-ruleml: an approach combining ECA rules with temporal interval-based KR event/action logics and transactional update logics (2006). CoRR, abs/cs/0610167
Paschke, A., Bichler, M.: Knowledge representation concepts for automated SLA management. Decis. Support Syst. 46(1), 187–205 (2008)
Patroumpas, K., Alevizos, E., Artikis, A., Vodas, M., Pelekis, N., Theodoridis, Y.: Online event recognition from moving vessel trajectories. GeoInformatica 21(2), 389–427 (2017)
Pietzuch, P.: How event-based systems took over the world. In: DEBS (2016). https://www.ics.uci.edu/~debs2016/ebs-prp-debs16.pdf. Keynote Speech. Accessed 31 March 2019
Pietzuch, P., Ledlie, J., Shneidman, J., Roussopoulos, M., Welsh, M., Seltzer, M.: Network-aware operator placement for stream-processing systems. In: ICDE (2006)
Pietzuch, P.R., Shand, B., Bacon, J.: A framework for event composition in distributed systems. In: Middleware (2003)
Przymusinski, T.C.: On the declarative semantics of deductive databases and logic programs. In: Minker, J. (ed.) Foundations of Deductive Databases and Logic Programming, pp. 193–216. Morgan Kaufmann, Burlington (1988)
Pu, Q., Ananthanarayanan, G., Bodik, P., Kandula, S., Akella, A., Bahl, P., Stoica, I.: Low latency geo-distributed data analytics. In: SIGCOMM, New York, NY, USA, pp. 421–434 (2015)
Rabkin, A., Arye, M., Sen, S., Pai, V.S., Freedman, M.J.: Aggregation and degradation in jetstream: streaming analytics in the wide area. In: NSDI, pp. 275–288 (2014)
Ray, M., Lei, C., Rundensteiner, E.A.: Scalable pattern sharing on event streams. In: SIGMOD, pp. 495–510 (2016)
Ré, C., Letchner, J., Balazinska, M., Suciu, D.: Event queries on correlated probabilistic streams. In: SIGMOD, pp. 715–728 (2008)
Repantis, T., Gu, X., Kalogeraki, V.: Synergy: sharing-aware component composition for distributed stream processing systems. In: Middleware, pp. 322–341 (2006)
Rivetti, N., Zacheilas, N., Gal, A., Kalogeraki, V.: Probabilistic management of late arrival of events. In: DEBS (2018)
Rizou, S.: Concepts and Algorithms for Efficient Distributed Processing of Data Streams. University of Stuttgart, Stuttgart (2013)
Schilling, B., Koldehofe, B., Rothermel, K.: Efficient and distributed rule placement in heavy constraint-driven event systems. In: HPCC, pp. 355–364 (2011)
Schultz-Møller, N.P., Migliavacca, M., Pietzuch, P.R.: Distributed complex event processing with query rewriting. In: DEBS (2009)
Selman, J., Amer, M.R., Fern, A., Todorovic, S.: PEL-CNF: probabilistic event logic conjunctive normal form for video interpretation. In: ICCVW, pp. 680–687 (2011)
Skarlatidis, A., Paliouras, G., Artikis, A., Vouros, G.A.: Probabilistic event calculus for event recognition. ACM Trans. Comput. Log. 16(2), 11:1–11:37 (2015)
Skarlatidis, A., Paliouras, G., Vouros, G.A., Artikis, A.: Probabilistic event calculus based on markov logic networks. In: RuleML 2011, pp. 155–170 (2011)
Veanes, M., de Halleux, P., Tillmann, N.: Rex: symbolic regular expression explorer. In: ICST (2010)
Vulimiri, A., Curino, C., Godfrey, P.B., Jungblut, T., Padhye, J., Varghese, G.: Global analytics in the face of bandwidth and regulatory constraints. In: NSDI, pp. 323–336 (2015)
Wang, J., Song, S., Zhu, X., Lin, X.: Efficient recovery of missing events. PVLDB 6(10), 841–852 (2013)
Wang, Y.H., Cao, K., Zhang, X.M.: Complex event processing over distributed probabilistic event streams. Comput. Math. Appl. 66(10), 1808–1821 (2013)
Wasserkrug, S., Gal, A., Etzion, O., Turchin, Y.: Complex event processing over uncertain data. DEBS 332, 253–264 (2008)
Weidlich, M., Ziekow, H., Gal, A., Mendling, J., Weske, M.: Optimizing event pattern matching using business process models. IEEE Trans. Knowl. Data Eng. 26(11), 2759–2773 (2014)
Wilkin, G.A., Eugster, P., Jayaram, K.R.: Decentralized fault-tolerant event correlation. ACM Trans. Internet Technol. 14(1), 5:1–5:27 (2014)
Wolf, J., Bansal, N., Hildrum, K., Parekh, S., Rajan, D., Wagle, R., Wu, K.-L., Fleischer, L.: Soda: an optimizing scheduler for large-scale stream-based distributed computer systems. In: Middleware, pp. 306–325 (2008)
Woods, L., Teubner, J., Alonso, G.: Complex event detection at wire speed with FPGAs. PVLDB 3(1), 660–669 (2010)
WSO2. Creating a Storm Based Distributed Execution Plan. https://docs.wso2.com/display/CEP410/Creating+a+Storm+Based+Distributed+Execution+Plan. Accessed 31 March 2019
Wu, E., Diao, Y., Rizvi, S.: High-performance complex event processing over streams. In: SIGMOD (2006)
Zacheilas, N., Kalogeraki, V., Zygouras, N., Panagiotou, N., Gunopulos. D.: Elastic complex event processing exploiting prediction. In: Big Data, pp. 213–222 (2015)
Zacheilas, N., Zygouras, N., Panagiotou, N., Kalogeraki, V., Gunopulos, D.: Dynamic load balancing techniques for distributed complex event processing systems. In: DAIS (2016)
Zeitler, E., Risch, T.: Massive scale-out of expensive continuous queries. PVLDB 4(11), 1181–1188 (2011)
Zhang, H., Diao, Y., Immerman, N.: Recognizing patterns in streams with imprecise timestamps. PVLDB 3(1), 244–255 (2010)
Zhang, H., Diao, Y., Immerman, N.: On complexity and optimization of expensive queries in complex event processing. In: SIGMOD, pp. 217–228 (2014)
Zimmer, D., Unland, R.: On the semantics of complex events in active database management systems. In: ICDE (1999)
Acknowledgements
This work has received funding from the EU Horizon 2020 Research and Innovation Program INFORE under Grant Agreement No 825070.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Giatrakos, N., Alevizos, E., Artikis, A. et al. Complex event recognition in the Big Data era: a survey. The VLDB Journal 29, 313–352 (2020). https://doi.org/10.1007/s00778-019-00557-w
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00778-019-00557-w