Skip to main content

When RV Meets CEP

  • Conference paper
  • First Online:
Runtime Verification (RV 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10012))

Included in the following conference series:

Abstract

This paper is an introduction to Complex Event Processing (CEP) intended for an practicioners of Runtime Verification. It first describes typical CEP problems, popular tools and their query languages. It then presents BeepBeep 3, an event stream processor that attempts to bridge the gap between RV and CEP. Thanks to BeepBeep’s generic architecture and flexible input language, queries and properties from both fields can be efficiently processed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    A few engines allow events to be user-defined objects, but these objects are accessed through methods that return scalar values, which is tantamount.

  2. 2.

    https://liflab.github.io/beepbeep-3.

  3. 3.

    The order of arrival of events from the same input trace, obviously, is preserved.

  4. 4.

    The core of BeepBeep is made of less than 2,500 lines of code.

  5. 5.

    An example of BeepBeep’s plotting feature can be seen at: https://www.youtube.com/watch?v=XyPweHGVI9Q.

References

  1. Esper. http://espertech.com

  2. LINQ (language-integrated query). http://msdn.microsoft.com/en-us/library/bb397926.aspx

  3. Simple API for XML. http://docs.oracle.com/javaee/1.4/tutorial/doc/JAXPSAX.html. Accessed 13 Dec 2013

  4. StreamBase SQL. http://streambase.com

  5. VoltDB. http://voltdb.com

  6. Abadi, D.J., Ahmad, Y., Balazinska, M., Çetintemel, U., Cherniack, M., Hwang, J.H., Lindner, W., Maskey, A., Rasin, A., Ryvkina, E., Tatbul, N., Xing, Y., Zdonik, S.B.: The design of the Borealis stream processing engine. In: CIDR, pp. 277–289 (2005)

    Google Scholar 

  7. Arasu, A., Babcock, B., Babu, S., Cieslewicz, J., Datar, M., Ito, K., Motwani,R., Srivastava, U., Widom, J.: Stream: the stanford data stream management system. Technical report 2004-20, Stanford InfoLab (2004). http://ilpubs.stanford.edu:8090/641/

  8. Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.: Quantified event automata: towards expressive and efficient runtime monitors. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 68–84. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32759-9_9

    Chapter  Google Scholar 

  9. Barringer, H., Rydeheard, D.E., Havelund, K.: Rule systems for run-time monitoring: from Eagle to RuleR. J. Log. Comput. 20(3), 675–706 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  10. Basin, D., Harvan, M., Klaedtke, F., Zălinescu, E.: MONPOLY: monitoring usage-control policies. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 360–364. Springer, Heidelberg (2012). doi:10.1007/978-3-642-29860-8_27

    Chapter  Google Scholar 

  11. Basin, D.A., Klaedtke, F., Marinovic, S., Zalinescu, E.: Monitoring of temporal first-order properties with aggregations. Formal Methods Syst. Des. 46(3), 262–285 (2015). http://dx.doi.org/10.1007/s10703-015-0222-7

    Article  MATH  Google Scholar 

  12. Berry, A., Milosevic, Z.: Real-time analytics for legacy data streams in health: Monitoring health data quality. In: Gasevic, D., Hatala, M., Nezhad, H.R.M., Reichert, M. (eds.) EDOC, pp. 91–100. IEEE (2013)

    Google Scholar 

  13. Bodden, E., Hendren, L.J., Lam, P., Lhoták, O., Naeem, N.A.: Collaborative runtime verification with Tracematches. J. Log. Comput. 20(3), 707–723 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  14. Brenna, L., Gehrke, J., Hong, M., Johansen, D.: Distributed event stream processing with non-deterministic finite automata. In: Gokhale, A.S., Schmidt, D.C. (eds.) DEBS. ACM (2009)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. Cheng, K., Krishnakumar, A.S.: Automatic functional test generation using theextended finite state machine model. In: DAC, pp. 86–91 (1993). http://doi.acm.org/10.1145/157485.164585

  17. Colombo, C., Gauci, A., Pace, G.J.: LarvaStat: monitoring of statistical properties. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Roşu, G., Sokolsky, O., Tillmann, N. (eds.) RV 2010. LNCS, vol. 6418, pp. 480–484. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16612-9_38

    Chapter  Google Scholar 

  18. Colombo, C., Pace, G.J., Schneider, G.: LARVA - safer monitoring of real-time Java programs (tool paper). In: Seventh IEEE International Conference on Software Engineering and Formal Methods (SEFM), pp. 33–37. IEEE Computer Society, November 2009

    Google Scholar 

  19. D’Angelo, B., Sankaranarayanan, S., Sánchez, C., Robinson, W., Finkbeiner, B., Sipma, H.B., Mehrotra, S., Manna, Z.: LOLA: runtime monitoring of synchronous systems. In: 12th International Symposium on Temporal Representation and Reasoning (TIME 2005), 23–25 June 2005, Burlington, Vermont, USA, pp. 166–174. IEEE Computer Society (2005). http://dx.doi.org/10.1109/TIME.2005.26

  20. Erlingsson, Ú., Pistoia, M. (eds.) Proceedings of the 2008 Workshop on Programming Languages and Analysis for Security, PLAS 2008, Tucson, AZ, USA, June 8, 2008. ACM (2008)

    Google Scholar 

  21. Erlingsson, Ú., Schneider, F.B.: IRM enforcement of Java stack inspection. In: IEEE Symposium on Security and Privacy, pp. 246–255 (2000)

    Google Scholar 

  22. Fegaras, L., Dash, R.K., Wang, Y.: A fully pipelined XQuery processor. In: XIME-P (2006)

    Google Scholar 

  23. Finkbeiner, B., Sankaranarayanan, S., Sipma, H.: Collecting statistics over runtime executions. Formal Methods Syst. Des. 27(3), 253–274 (2005). http://dx.doi.org/10.1007/s10703-005-3399-3

    Article  MATH  Google Scholar 

  24. Fry, C., Sagar, D.: Streaming API for XML, JSR 173 specification (2003). https://www.jcp.org/aboutJava/communityprocess/final/jsr173/

  25. Goldsmith, S., O’Callahan, R., Aiken, A.: Relational queries over program traces. In: OOPSLA, pp. 385–402 (2005)

    Google Scholar 

  26. Hallé, S., Gaboury, S., Bouchard, B.: Towards user activity recognition through energy usage analysis and complex event processing. In: PETRA. ACM (2016)

    Google Scholar 

  27. Hallé, S., Varvaressos, S.: A formalization of complex event stream processing. In: Reichert, M., Rinderle-Ma, S., Grossmann, G. (eds.) 18th IEEE International Enterprise Distributed Object Computing Conference, EDOC 2014, Ulm, Germany, September 1–5, 2014, pp. 2–11. IEEE Computer Society (2014). http://dx.doi.org/10.1109/EDOC.2014.12

  28. Hallé, S., Villemaire, R.: Runtime monitoring of web service choreographies using streaming XML. In: Shin, S.Y., Ossowski, S. (eds.) SAC, pp. 2118–2125. ACM (2009)

    Google Scholar 

  29. Hallé, S., Villemaire, R.: Runtime enforcement of web service message contracts with data. IEEE T. Serv. Comput. 5(2), 192–206 (2012)

    Article  Google Scholar 

  30. Krishnan, R., Goldstein, J., Raizman, A.: A hitchhiker’s guide to StreamInsight queries, version 2.1 (2012). http://support.sas.com/documentation/onlinedoc/dfdmstudio/2.4/dfU_ELRG.pdf

  31. Luckham, D.C.: The power of events - An introduction to complex event processing in distributed enterprise systems. ACM (2005)

    Google Scholar 

  32. Martin, M.C., Livshits, V.B., Lam, M.S.: Finding application errors and security flaws using PQL: a program query language. In: OOPSLA, pp. 365–383 (2005)

    Google Scholar 

  33. Meredith, P.O., Jin, D., Griffith, D., Chen, F., Rosu, G.: An overview of the MOP runtime verification framework. STTT 14(3), 249–289 (2012). http://dx.doi.org/10.1007/s10009-011-0198-6

    Article  Google Scholar 

  34. Perera, S., Suhothayan, S., Vivekanandalingam, M., Fremantle, P., Weerawarana, S.: Solving the grand challenge using an opensource CEP engine. In: Bellur,U., Kothari, R. (eds.) The 8th ACM International Conference on Distributed Event-Based Systems, DEBS 2014, Mumbai, India, May 26–29, 2014, pp.288–293. ACM (2014). http://doi.acm.org/10.1145/2611286.2611331

  35. Reger, G., Cruz, H.C., Rydeheard, D.: MarQ: monitoring at runtime with QEA. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 596–610. Springer, Heidelberg (2015). doi:10.1007/978-3-662-46681-0_55

    Google Scholar 

  36. Rodrigues, J.: Health Information Systems: Concepts, Methodologies, Tools, and Applications, vol. 1. IGI Global, Hershey (2010)

    Book  Google Scholar 

  37. Stolz, V., Bodden, E.: Temporal assertions using AspectJ. Electr. Notes Theor. Comput. Sci. 144(4), 109–124 (2006)

    Article  Google Scholar 

  38. Varvaressos, S., Lavoie, K., Gaboury, S., Hallé, S.: Automated bug finding in video games: A case study for runtime monitoring. ACM Computers in Entertainment (2014, in press)

    Google Scholar 

  39. Wu, E., Diao, Y., Rizvi, S.: High-performance complex event processing over streams. In: Chaudhuri, S., Hristidis, V., Polyzotis, N. (eds.) SIGMOD Conference, pp. 407–418. ACM (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sylvain Hallé .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Hallé, S. (2016). When RV Meets CEP. In: Falcone, Y., Sánchez, C. (eds) Runtime Verification. RV 2016. Lecture Notes in Computer Science(), vol 10012. Springer, Cham. https://doi.org/10.1007/978-3-319-46982-9_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46982-9_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46981-2

  • Online ISBN: 978-3-319-46982-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics