Abstract
Complex event processing (CEP) systems represent a mainstream approach for processing streams of data. Specifically, they target the definition and detection of high-level situations of interest, or composite events, starting from streams of primitive events collected from the external environment. In CEP, composite events are specified through user-defined rules, which express how to select, manipulate, and combine primitive events. Thanks to the capability of handling large volumes of information to isolate situations of interest, CEP represents a perfect solution for the management and online analysis of data in pervasive systems. Researchers and practitioners working on CEP focused on the creation of simple, yet expressive languages for the definition of CEP rules. At the same time, they also put significant effort on performance and scalability, defining efficient algorithms and rule evaluation mechanisms that enable high-throughput and low processing delay. This chapter focuses on both aspects. On the one hand, it presents the processing abstractions offered by existing CEP systems in details, focusing on the applicability to pervasive systems. On the other hand, it presents some of the processing algorithms and techniques that contribute to the performance of state-of-the-art CEP systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Adi, A., Etzion, O.: Amit - the situation manager. VLDB J. 13(2), 177–203 (2004)
Agrawal, J., Diao, Y., Gyllstrom, D., Immerman, N.: Efficient pattern matching over event streams. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD ‘08, pp. 147–160. ACM, New York (2008)
Ali, M.: An introduction to microsoft sql server streaminsight. In: Proceedings of the 1st International Conference and Exhibition on Computing for Geospatial Research and Application, COM.Geo ‘10, pp. 66:1–66:1. ACM, New York (2010)
Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26(11), 832–843 (1983)
Brenna, L., Demers, A., Gehrke, J., Hong, M., Ossher, J., Panda, B., Riedewald, M., Thatte, M., White, W.: Cayuga: a high-performance event processing engine. In: Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data, SIGMOD ‘07, pp. 1100–1102. ACM, New York (2007)
Cugola, G., Margara, A.: Raced: an adaptive middleware for complex event detection. In: Proceedings of the 8th International Workshop on Adaptive and Reflective MIddleware, ARM ‘09, pp. 5:1–5:6. ACM, New York (2009)
Cugola, G., Margara, A.: Tesla: a formally defined event specification language. In: Proceedings of the Fourth ACM International Conference on Distributed Event-Based Systems, DEBS ‘10, pp. 50–61. ACM, New York (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)
Etzion, O., Niblett, P.: Event Processing in Action, 1st edn. Manning Publications Co., Greenwich (2010)
Eugster, P., Jayaram, K.: Eventjava: an extension of java for event correlation. In: Drossopoulou, S. (ed.) ECOOP 2009 – Object-Oriented Programming. Lecture Notes in Computer Science, vol. 5653, pp. 570–594. Springer, Berlin/Heidelberg (2009)
Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.M.: The many faces of publish/subscribe. ACM Comput. Surv. 35, 114–131 (2003)
Gasiunas, V., Satabin, L., Mezini, M., Núñez, A., Noyé, J.: Escala: modular event-driven object interactions in scala. In: Proceedings of the Tenth International Conference on Aspect-Oriented Software Development, AOSD ‘11, pp. 227–240. ACM, New York (2011)
Khandekar, R., Hildrum, K., Parekh, S., Rajan, D., Wolf, J., Wu, K.L., Andrade, H., Gedik, B.: Cola: optimizing stream processing applications via graph partitioning. In: Middleware ‘09, pp. 1–20. Springer, New York (2009)
Kuka, C., Nicklas, D.: Quality matters: supporting quality-aware pervasive applications by probabilistic data stream management. In: Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, DEBS ‘14, pp. 1–12. ACM, New York (2014)
Lakshmanan, G.T., Li, Y., Strom, R.: Placement strategies for internet-scale data stream systems. IEEE Internet Comput. 12(6), 50–60 (2008)
Luckham, D.: The power of events: an introduction to complex event processing in distributed enterprise systems. In: Bassiliades, N., Governatori, G., Paschke, A. (eds.) Rule Representation, Interchange and Reasoning on the Web. Lecture Notes in Computer Science, vol. 5321, pp. 3–3. Springer, Berlin/Heidelberg (2008)
Margara, A.: Combining expressiveness and efficiency in a complex event processing middleware. Ph.D. thesis, Politecnico di Milano (2012)
Margara, A., Salvaneschi, G.: We have a dream: distributed reactive programming with consistency guarantees. In: Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, DEBS ‘14, pp. 142–153. ACM, New York (2014)
Margara, A., Cugola, G., Tamburrelli, G.: Learning from the past: automated rule generation for complex event processing. In: Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, DEBS ‘14, pp. 47–58. ACM, New York (2014)
Meyerovich, L.A., Guha, A., Baskin, J., Cooper, G.H., Greenberg, M., Bromfield, A., Krishnamurthi, S.: Flapjax: a programming language for ajax applications. In: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ‘09, pp. 1–20. ACM, New York (2009)
Pietzuch, P., Ledlie, J., Shneidman, J., Roussopoulos, M., Welsh, M., Seltzer, M.: Network-aware operator placement for stream-processing systems. In: Proceedings of the 22nd International Conference on Data Engineering, ICDE ‘06, p. 49. IEEE Computer Society, Washington (2006)
Rajan, H., Leavens, G.: Ptolemy: a language with quantified, typed events. In: Vitek, J. (ed.) ECOOP 2008 – Object-Oriented Programming. Lecture Notes in Computer Science, vol. 5142, pp. 155–179. Springer, Berlin/Heidelberg (2008)
Ré, C., Letchner, J., Balazinksa, M., Suciu, D.: Event queries on correlated probabilistic streams. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, SIGMOD ‘08, pp. 715–728. ACM, New York (2008)
Salvaneschi, G., Hintz, G., Mezini, M.: Rescala: bridging between object-oriented and functional style in reactive applications. In: Proceedings of the 13th International Conference on Aspect-Oriented Software Development, AOSD, vol. 14 (2014)
Schultz-Møller, N.P., Migliavacca, M., Pietzuch, P.: Distributed complex event processing with query rewriting. In: Proceedings of the Third ACM International Conference on Distributed Event-Based Systems, DEBS ‘09, pp. 4:1–4:12. ACM, New York (2009)
Srivastava, U., Widom, J.: Flexible time management in data stream systems. In: Proceedings of the 23rd ACM Symposium on Principles of Database Systems, pp. 263–274. ACM, New York (2004)
Wasserkrug, S., Gal, A., Etzion, O., Turchin, Y.: Complex event processing over uncertain data. In: Proceedings of the Second International Conference on Distributed Event-Based Systems, DEBS ‘08, pp. 253–264. ACM, New York (2008)
Wasserkrug, S., Gal, A., Etzion, O., Turchin, Y.: Efficient processing of uncertain events in rule-based systems. IEEE Trans. Knowl. Data Eng. 24(1), 45–58 (2012)
White, W., Riedewald, M., Gehrke, J., Demers, A.: What is “next” in event processing? In: PODS, pp. 263–272. ACM, New York (2007)
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 ‘08, pp. 306–325. Springer, New York (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Cugola, G., Margara, A. (2015). The Complex Event Processing Paradigm. In: Colace, F., De Santo, M., Moscato, V., Picariello, A., Schreiber, F., Tanca, L. (eds) Data Management in Pervasive Systems. Data-Centric Systems and Applications. Springer, Cham. https://doi.org/10.1007/978-3-319-20062-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-20062-0_6
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-20061-3
Online ISBN: 978-3-319-20062-0
eBook Packages: Computer ScienceComputer Science (R0)