Abstract
Complex Event Processing (CEP) denotes algorithmic methods for making sense of events by deriving higher-level knowledge, or complex events, from lower-level events in a timely fashion and permanently. At the core of CEP are queries incessantly monitoring the incoming stream of “simple” events and recognizing “complex” events from these simple events. Event queries monitoring incoming streams of simple events serve the specification of situations that manifest themselves as certain combinations of simple events occurring, or not occurring, over time and that cannot be detected alone from each or only a few single events involved.
Special purpose Event Query Languages (EQLs) have been developed for the expression of the complex events in a convenient, concise, cost-effective and maintainable manner. This chapter identifies five language styles for CEP, namely composition operators, data stream query languages, production rules, timed state machines, and logic languages, describes their main traits, illustrates them on a sensor network use case and discusses suitable application areas of each language style.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, D.J., Carney, D., Çetintemel, U., Cherniack, M., Convey, C., Lee, S., Stonebraker, M., Tatbul, N., Zdonik, S.B.: A new model and architecture for data stream management. The VLDB Journal 12(2), 120–139 (2003)
Adaikkalavan, R., Chakravarthy, S.: Formalization and detection of events using interval-based semantics. In: Proc. Int. Conf. on Management of Data (COMAD), pp. 58–69. Computer Society of India (2005)
Adaikkalavan, R., Chakravarthy, S.: SnoopIB: Interval-based event specification and detection for active databases. Data and Knowledge Engineering 1(59), 139–165 (2006)
Adi, A., Etzion, O.: Amit — the situation manager. The VLDB Journal 13(2), 177–203 (2004)
Alur, R., Dill, D.: Automata for modeling real-time systems. In: Paterson, M. (ed.) ICALP 1990. LNCS, vol. 443, pp. 322–335. Springer, Heidelberg (1990)
Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: Semantic foundations and query execution. The VLDB Journal 15(2), 121–142 (2006)
Barga, R.S., Caituiro-Monge, H.: Event correlation and pattern detection in CEDR. In: Grust, T., Höpfner, H., Illarramendi, A., Jablonski, S., Fischer, F., Müller, S., Patranjan, P.-L., Sattler, K.-U., Spiliopoulou, M., Wijsen, J. (eds.) EDBT 2006. LNCS, vol. 4254, pp. 919–930. Springer, Heidelberg (2006)
Bernauer, M., Kappel, G., Kramler, G.: Composite events for XML. In: Proc. Int. Conf. on World Wide Web, pp. 175–183. ACM, New York (2004)
Berstel, B., Bonnard, P., Bry, F., Eckert, M., Pătrânjan, P.-L.: Reactive rules on the web. In: Antoniou, G., Aßmann, U., Baroglio, C., Decker, S., Henze, N., Patranjan, P.-L., Tolksdorf, R. (eds.) Reasoning Web. LNCS, vol. 4636, pp. 183–239. Springer, Heidelberg (2007)
Bry, F., Eckert, M.: Rule-Based Composite Event Queries: The Language XChangeEQ and Its Semantics. In: Marchiori, M., Pan, J.Z., de Sainte Marie, C. (eds.) RR 2007. LNCS, vol. 4524, pp. 16–30. Springer, Heidelberg (2007)
Bry, F., Eckert, M.: On static determination of temporal relevance for incremental evaluation of complex event queries. In: Proc. Int. Conf. on Distributed Event-Based Systems, pp. 289–300. ACM, New York (2008)
Bry, F., Eckert, M., Etzion, O., Paschke, A., Riecke, J.: Event processing language tutorial. In: 3rd ACM Int. Conf. on Distributed Event-Based Systems, ACM, New York (2009)
Bry, F., Eckert, M., Pătrânjan, P.-L.: Querying composite events for reactivity on the web. In: Shen, H.T., Li, J., Li, M., Ni, J., Wang, W. (eds.) APWeb Workshops 2006. LNCS, vol. 3842, pp. 38–47. Springer, Heidelberg (2006)
Bry, F., Eckert, M., Pătrânjan, P.-L.: Reactivity on the Web: Paradigms and applications of the language XChange. J. of Web Engineering 5(1), 3–24 (2006)
Carlson, J., Lisper, B.: An event detection algebra for reactive systems. In: Proc. ACM Int. Conf. On Embedded Software, pp. 147–154. ACM, New York (2004)
Chakravarthy, S., Adaikkalavan, R.: Events and streams: Harnessing and unleashing their synergy! In: Proc. Int. Conf. on Distributed Event-Based Systems, pp. 1–12. ACM, New York (2008)
Chakravarthy, S., Krishnaprasad, V., Anwar, E., Kim, S.-K.: Composite events for active databases: Semantics, contexts and detection. In: Proc. Int. Conf. on Very Large Data Bases, pp. 606–617. Morgan Kaufmann, San Francisco (1994)
Chandrasekaran, S., Cooper, O., Deshpande, A., Franklin, M.J., Hellerstein, J.M., Hong, W., Krishnamurthy, S., Madden, S., Raman, V., Reiss, F., Shah, M.A.: Telegraphcq: Continuous dataflow processing for an uncertain world. In: CIDR (2003)
Coulouris, G., Dollimore, J., Kindberg, T.: Distributed Systems: Concepts and Design, 3rd edn. Addison-Wesley, Reading (2001)
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)
Eckert, M.: Reactivity on the Web: Event Queries and Composite Event Detection in XChange. Master’s thesis (Diplomarbeit), Institute for Informatics. University of Munich (2005)
Eckert, M.: Complex Event Processing with XChangeEQ: Language Design, Formal Semantics and Incremental Evaluation for Querying Events. PhD thesis, Institute for Informatics. University of Munich (2008)
Event Processing Technical Society (EPTS), http://www.ep-ts.com
EsperTech Inc. Event stream intelligence: Esper & NEsper, http://esper.codehaus.org
Forgy, C.: OPS5 user’s manual. Technical Report CMU-CS-81-135, Carnegie Mellon University (1981)
Forgy, C., McDermott, J.P.: OPS, a domain-independent production system language. In: Proc. Int. Joint Conf. on Artificial Intelligence, pp. 933–939. William Kaufmann, San Francisco (1977)
Forgy, C.L.: Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence 19(1), 17–37 (1982)
Galton, A., Augusto, J.C.: 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)
Garg, V., Adaikkalavan, R., Chakravarthy, S.: Extensions to stream processing architecture for supporting event processing. In: Bressan, S., Küng, J., Wagner, R. (eds.) DEXA 2006. LNCS, vol. 4080, pp. 945–955. Springer, Heidelberg (2006)
Gatziu, S., Dittrich, K.R.: Events in an active object-oriented database system. In: Proc. Int. Workshop on Rules in Database Systems, pp. 23–39. Springer, Heidelberg (1993)
Gatziu, S., Dittrich, K.R.: Detecting composite events in active database systems using petri nets. In: Proc. Int. Workshop on Research Issues in Data Engineering: Active Database Systems, pp. 2–9. IEEE, Los Alamitos (1994)
Gehani, N.H., Jagadish, H., Shmueli, O.: Event specification in an active object-oriented database. In: Proc. Int. ACM Conf. on Management of Data (SIGMOD), pp. 81–90. ACM, New York (1992)
Gehani, N.H., Jagadish, H.V., Shmueli, O.: Composite event specification in active databases: Model & implementation. In: Proc. Int. Conf. on Very Large Data Bases, pp. 327–338. Morgan Kaufmann, San Francisco (1992)
Gehani, N.H., Jagadish, H.V., Shmueli, O.: Compose: A system for composite specification and detection. In: Adam, N.R., Bhargava, B.K. (eds.) Advanced Database Systems. LNCS, vol. 759, pp. 3–15. Springer, Heidelberg (1993)
Gualtieri, M., Rymer, J.R.: The Forrester WaveTM: Complex Event Procecessing (CEP) Platforms, http://www.forrester.com/rb/Research/wave/26trade/B_complex_event_processing_cep_platforms/2C_q3/q/id/48084/t/2
Henzinger, T.A., Raskin, J.-F., Schobbens, P.-Y.: The regular real-time languages. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 580–591. Springer, Heidelberg (1998)
Hinze, A., Voisard, A.: A parameterized algebra for event notification services. In: Proc. Int. Symp. on Temporal Representation and Reasoning, pp. 61–65. IEEE, Los Alamitos (2002)
ILOG. ILOG JRules, http://www.ilog.com/products/jrules
Jain, N., Mishra, S., Srinivasan, A., Gehrke, J., Widom, J., Balakrishnan, H., Çetintemel, U., Cherniack, M., Tibbetts, R., Zdonik, S.: Towards a streaming SQL standard. In: Proc. Int. Conf. on Very Large Data Bases. VLDB Endowment, vol. 1, pp. 1379–1390 (2008)
Jain, N., Mishra, S., Srinivasan, A., Gehrke, J., Widom, J., Balakrishnan, H., Çetintemel, U., Cherniack, M., Tibbetts, R., Zdonik, S.B.: Towards a streaming sql standard. PVLDB 1(2), 1379–1390 (2008)
JBoss.org. Drools, http://www.jboss.org/drools
Krämer, J., Seeger, B.: Pipes: a public infrastructure for processing and exploring streams. In: Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data, SIGMOD 2004, pp. 925–926. ACM, New York (2004)
Krämer, J., Seeger, B.: Semantics and implementation of continuous sliding window queries over data streams. ACM Trans. Database Syst. 34, 4:1–4:49 (2009)
Kersten, M., Liarou, E., Goncalves, R.: A query language for a data refinery cell. In: Proc. Int. Workshop on Event-Driven Architecture, Processing and Systems (2007)
Kowalski, R.A., Sergot, M.J.: A logic-based calculus of events. New Generation Compututing 4(1), 67–95 (1986)
Kozlenkov, A., Penaloza, R., Nigam, V., Royer, L., Dawelbait, G., Schröder, M.: Prova: Rule-based java scripting for distributed web applications: A case study in bioinformatics. In: Grust, T., Höpfner, H., Illarramendi, A., Jablonski, S., Fischer, F., Müller, S., Patranjan, P.-L., Sattler, K.-U., Spiliopoulou, M., Wijsen, J. (eds.) EDBT 2006. LNCS, vol. 4254, pp. 899–908. Springer, Heidelberg (2006)
Krákora, J., Waszniowski, L., Hanzálek, Z.: Timed automata approach to real time distributed system verification. In: Proc. of EEE Int. Workshop on Factory Communication Systems (WFCS), pp. 407–410 (2004)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)
Li, Q., Rus, D.: Global clock synchronization in sensor networks. IEEE Transactions on Computers 55(2), 214–226 (2006)
Liarou, E., Goncalves, R., Idreos, S.: Exploiting the power of relational databases for efficient stream processing. In: Int. Conf. on Extending Database Technology (EDBT), vol. 360, pp. 323–334. ACM, New York (2009)
Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley, Reading (2002)
Madden, S.R., Franklin, M.J., Hellerstein, J.M., Hong, W.: TinyDB: An acquisitional query processing system for sensor networks. ACM Transactions on Database Systems 30(1), 122–173 (2005)
Mansouri-Samani, M., Sloman, M.: GEM: A generalized event monitoring language for distributed systems. Distributed Systems Engineering 4(2), 96–108 (1997)
Merritt, M., Modugno, F., Tuttle, M.R.: Time-constrained automata. In: Groote, J.F., Baeten, J.C.M. (eds.) CONCUR 1991. LNCS, vol. 527, pp. 408–423. Springer, Heidelberg (1991)
Moreto, D., Endler, M.: Evaluating composite events using shared trees. IEE Proceedings — Software 148(1), 1–10 (2001)
Morrell, J., Vidich, S.D.: Complex Event Processing with Coral8. White Paper (2007), http://www.coral8.com/system/files/assets/pdf/Complex_Event_Processing_with_Coral8.pdf
MS Analog Software. ruleCore(R) Complex Event Processing (CEP) Server, http://www.rulecore.com
Oracle Inc. Complex Event Processing in the real world. White Paper, http://www.oracle.com/technologies/soa/docs/oracle-complex-event-processing.pdf
Ouimet, M., Lundqvist, K.: The timed abstract state machine language: Abstract state machines for real-time system engineering. Journal of Universal Computer Science 14(12), 2007–2033 (2008)
Paschke, A., Boley, H.: Rules capturing events and reactivity. In: Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches, pp. 215–252. IGI Global (2009)
Paschke, A., Kozlenkov, A.: Rule-based event processing and reaction rules. In: Governatori, G., Hall, J., Paschke, A. (eds.) RuleML 2009. LNCS, vol. 5858, pp. 53–66. Springer, Heidelberg (2009)
Paschke, A., Kozlenkov, A., Boley, H.: A homogenous reaction rule language for Complex Event Processing. In: In Proc. 2nd Int. Workshop on Event Drive Architecture and Event Processing Systems (2007)
Paschke, A., Kozlenkov, A., Boley, H., Tabet, S., Kifer, M., Dean, M.: Reaction RuleML (2007), http://ibis.in.tum.de/research/ReactionRuleML/
Paton, N.W. (ed.): Active Rules in Database Systems. Springer, Heidelberg (1998)
Reiss, F., Stockinger, K., Wu, K., Shoshani, A., Hellerstein, J.M.: Enabling real-time querying of live and historical stream data. In: SSDBM, p. 28 (2007)
Roncancio, C.: Toward duration-based, constrained and dynamic event types. In: Andler, S.F., Hansson, J. (eds.) ARTDB 1997. LNCS, vol. 1553, pp. 176–193. Springer, Heidelberg (1999)
Sánchez, C., Sankaranarayanan, S., Sipma, H., Zhang, T., Dill, D.L., Manna, Z.: Event correlation: Language and semantics. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 323–339. Springer, Heidelberg (2003)
Sánchez, C., Słanina, M., Sipma, H.B., Manna, Z.: Expressive completeness of an event-pattern reactive programming language. In: Wang, F. (ed.) FORTE 2005. LNCS, vol. 3731, pp. 529–532. Springer, Heidelberg (2005)
Sandia National Laboratories. Jess, the rule engine for the Java(TM) platform, http://herzberg.ca.sandia.gov/
Schmidt, K.-U., Anicic, D., Stühmer, R.: Event-driven reactivity: A survey and requirements analysis. In: SBPM2008: 3rd Int. Workshop on Semantic Business Process Management in Conjunction with the 5th European Semantic Web Conf. (ESWC 2008). CEUR Workshop Proceedings (2008)
Seeger, B.: Kontinuierliche kontrolle. IX: Magazin für Professionelle Informationstechnik 2 (2010)
Seiriö, M., Berndtsson, M.: Design and implementation of an ECA rule markup language. In: Adi, A., Stoutenburg, S., Tabet, S. (eds.) RuleML 2005. LNCS, vol. 3791, pp. 98–112. Springer, Heidelberg (2005)
StreamBase Systems. StreamSQL Guide (2011), http://streambase.com/developers/docs/latest/streamsql/index.html
Walzer, K., Breddin, T., Groch, M.: Relative temporal constraints in the Rete algorithm for complex event detection. In: Proc. Int. Conf. on Distributed Event-Based Systems, pp. 147–155. ACM, New York (2008)
Wu, E., Diao, Y., Rizvi, S.: High-performance Complex Event Processing over streams. In: Proc. Int. ACM Conf. on Management of Data (SIGMOD), pp. 407–418. ACM, New York (2006)
Zhu, D., Sethi, A.S.: SEL, a new event pattern specification language for event correlation. In: Proc. Int. Conf. on Computer Communications and Networks, pp. 586–589. IEEE, Los Alamitos (2001)
Zimmer, D., Unland, R.: On the semantics of complex events in active database management systems. In: Proc. Int. Conf. on Data Engineering, pp. 392–399. IEEE, Los Alamitos (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Eckert, M., Bry, F., Brodt, S., Poppe, O., Hausmann, S. (2011). A CEP Babelfish: Languages for Complex Event Processing and Querying Surveyed. In: Helmer, S., Poulovassilis, A., Xhafa, F. (eds) Reasoning in Event-Based Distributed Systems. Studies in Computational Intelligence, vol 347. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19724-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-19724-6_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19723-9
Online ISBN: 978-3-642-19724-6
eBook Packages: EngineeringEngineering (R0)