Further Reading

BeepBeep Research Papers

BeepBeep has been the subject of multiple scientific research papers in the past couple of years. Here is a list of these publications. Note that each of them covers only a specific part of the system and that, depending on its age, may not faithfully reflect the current state of the implementation. Moreover, a few publications (mostly from 2014 and earlier) refer to version 1.x of BeepBeep, which worked differently from the current software. Some of these articles, however, detail interesting use cases where BeepBeep has been involved.

  • Simon Varvaressos, Kim Lavoie, Sébastien Gaboury, Sylvain Hallé. (2017). Automated Bug Finding in Video Games: A Case Study for Runtime Monitoring. Computers in Entertainment 15(1): 1:1-1:28, ACM. DOI: 10.1145/2700529.

  • Mohamed Recem Boussaha, Raphaël Khoury, Sylvain Hallé. (2017).

    Monitoring of Security Properties Using BeepBeep. FPS 2017: 160-169. DOI: 10.1007/978-3-319-75650-9_11

  • Sylvain Hallé, Raphaël Khoury, Sébastien Gaboury. (2017).

    Event Stream Processing with Multiple Threads. RV 2017: 359-369. DOI: https://doi.org/10.1007/978-3-319-67531-2_22

  • Sylvain Hallé. (2017). From Complex Event Processing to Simple Event Processing. CoRR abs/1702.08051 (2017).

  • Sylvain Hallé, Sébastien Gaboury, Bruno Bouchard. (2016). Activity Recognition Through Complex Event Processing: First Findings. AAAI Workshop: Artificial Intelligence Applied to Assistive Technologies and Smart Environments 2016.

    http://www.aaai.org/ocs/index.php/WS/AAAIW16/paper/view/12561

  • Sylvain Hallé, Sébastien Gaboury, Raphaël Khoury. (2016). A glue language for event stream processing. BigData 2016: 2384-2391. DOI: 10.1109/BigData.2016.7840873

  • Raphaël Khoury, Sylvain Hallé, Omar Waldmann. (2016). Execution Trace Analysis Using LTL-FO+. ISoLA (2) 2016: 356-362. DOI: 10.1007/978-3-319-47169-3_26

  • Sylvain Hallé, Sébastien Gaboury, Bruno Bouchard. (2016). Towards User Activity Recognition Through Energy Usage Analysis And Complex Event Processing. PETRA 2016: 3. DOI: 10.1145/2910674.2910707

  • Sylvain Hallé. (2016). When RV Meets CEP. RV 2016: 68-91. DOI: https://doi.org/10.1007/978-3-319-46982-9_6

  • Sylvain Hallé. (2015). A Declarative Language Interpreter for CEP. EDOC Workshops 2015: 156-159. DOI: 10.1109/EDOCW.2015.19

  • Sylvain Hallé, Simon Varvaressos. (2014). A Formalization of Complex Event Stream Processing. EDOC 2014: 2-11. DOI: 10.1109/EDOC.2014.12

  • Simon Varvaressos, Kim Lavoie, Alexandre Blondin Massé, Sébastien Gaboury, Sylvain Hallé. Automated Bug Finding in Video Games: A Case Study for Runtime Monitoring. ICST 2014: 143-152. DOI: https://doi.org/10.1109/ICST.2014.27

  • Simon Varvaressos, Dominic Vaillancourt, Sébastien Gaboury, Alexandre Blondin Massé, Sylvain Hallé. (2013). Runtime Monitoring of Temporal Logic Properties in a Platform Game. RV 2013: 346-351. DOI: 10.1007/978-3-642-40787-1_23

  • Sylvain Hallé, Roger Villemaire. (2012). Runtime Enforcement of Web Service Message Contracts with Data. IEEE Trans. Services Computing 5(2): 192-206 (2012). DOI: 10.1109/TSC.2011.10

  • Sylvain Hallé, Tevfik Bultan, Graham Hughes, Muath Alkhalaf, Roger Villemaire. (2010). Runtime Verification of Web Service Interface Contracts. IEEE Computer 43(3): 59-66. DOI: 10.1109/MC.2010.76

  • Sylvain Hallé, Roger Villemaire. (2009). Browser-Based Enforcement of Interface Contracts in Web Applications with BeepBeep. CAV 2009: 648-653. DOI: 10.1007/978-3-642-02658-4_50

  • Sylvain Hallé, Roger Villemaire. (2008). Runtime Monitoring of Message-Based Workflows with Data. EDOC 2008: 63-72. DOI: 10.1109/EDOC.2008.32

Complex Event Processing Systems

As was mentioned in the introduction, BeepBeep is very close to the field of complex event processing (CEP). Here are a few pointers to books and papers on this topic.

General Literature

  • Neha Narkhede. (2017). Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale. O'Reilly. ISBN: 978-1491936160

  • Jay Kreps. (2014). I Heart Logs: Event Data, Stream Processing, and Data Integration. O'Reilly. ISBN: 978-1491909386

  • David C. Luckham. (2005). The power of events -- An introduction to complex event processing in distributed enterprise systems. ACM. ISBN: 978-0-201-72789-0

Research Papers and Technical Papers

Multiple CEP systems have been mentioned in the introduction. Here are links to research papers and whitepapers about some of these systems.

  • Ugur Çetintemel, Daniel J. Abadi, Yanif Ahmad, Hari Balakrishnan, Magdalena Balazinska, Mitch Cherniack, Jeong-Hyon Hwang, Samuel Madden, Anurag Maskey, Alexander Rasin, Esther Ryvkina, Mike Stonebraker, Nesime Tatbul, Ying Xing, Stan Zdonik. (2016). The Aurora and Borealis Stream Processing Engines. Data Stream Management 2016: 337-359. DOI: 10.1007/978-3-540-28608-0_17

  • Remco M. Dijkman, Sander P.F. Peters, Arthur M.F. ter Hofstede. (2016). A Toolkit for Streaming Process Data Analysis. EDOCW 2016: 304-312. DOI: 10.1109/EDOCW.2016.7584341

  • Matei Zaharia, Reynold S. Xin, Patrick Wendell, Tathagata Das, Michael Armbrust, Ankur Dave, Xiangrui Meng, Josh Rosen, Shivaram Venkataraman, Michael J. Franklin, Ali Ghodsi, Joseph Gonzalez, Scott Shenker, Ion Stoica. (2016). Apache Spark: a unified engine for big data processing. Communications of the ACM 59(11): 56-65. DOI: 10.1145/2934664

  • Michael Armbrust, Reynold S. Xin, Cheng Lian, Yin Huai, Davies Liu, Joseph K. Bradley, Xiangrui Meng, Tomer Kaftan, Michael J. Franklin, Ali Ghodsi, Matei Zaharia. (2015). Spark SQL: Relational Data Processing in Spark. DOI: 10.1145/2723372.2742797

  • Alexander Alexandrov, Rico Bergmann, Stephan Ewen, Johann{-}Christoph Freytag, Fabian Hueske, Arvid Heise, Odej Kao, Marcus Leich, Ulf Leser, Volker Markl, Felix Naumann, Mathias Peters, Astrid Rheinländer, Matthias J. Sax, Sebastian Schelter, Mareike Höger, Kostas Tzoumas, Daniel Warneke. (2014). The Stratosphere platform for big data analytics. VLDB Journal 23(6): 939-964. DOI: 10.1007/s00778-014-0357-y

  • Jian Cao and Xing Wei and Yaqi Liu and Dianhui Mao and Qiang Cai. (2014). LogCEP: -- Complex Event Processing based on Pushdown Automaton. Int. Journal of Hybrid Information Technology 7(6): 71-82. DOI: 10.14257/ijhit.2014.7.6.06

  • Gianpaolo Cugola, Alessandro Margara. (2012). Processing flows of information: From data stream to complex event processing. ACM Comput. Surv. 44(3): 15:1-15:62. DOI: 10.1145/2187671.2187677

  • Sriskandarajah Suhothayan, Kasun Gajasinghe, Isuru Loku Narangoda, Subash Chaturanga, Srinath Perera, Vishaka Nanayakkara. (2011). Siddhi: a second look at complex event processing architectures. SC-GCE 2011: 43-50. DOI: 10.1145/2110486.2110493

  • Gerald G. Koch, Boris Koldehofe, Kurt Rothermel. (2010). Cordies: expressive event correlation in distributed systems. DEBS 2010: 10.1145/1827418.1827424

  • Leonardo Neumeyer, Bruce Robbins, Anish Nair, Anand Kesari. (2010). S4: Distributed Stream Computing Platform. ICDMW 2010: 170-177. DOI: 10.1109/ICDMW.2010.172

  • Lars Brenna, Johannes Gehrke, Mingsheng Hong, Dag Johansen. (2009). Distributed event stream processing with non-deterministic finite automata. DEBS 2009. DOI: 10.1145/1619258.1619263

  • Lars Brenna, Alan J. Demers, Johannes Gehrke, Mingsheng Hong, Joel Ossher, Biswanath Panda, Mirek Riedewald, Mohit Thatte, Walker M. White. (2007). Cayuga: a high-performance event processing engine. SIGMOD Conference 2007: 1100-1102. DOI: 10.1145/1247480.1247620

  • Eugene Wu, Yanlei Diao, Shariq Rizvi. (2006). High-performance complex event processing over streams. SIGMOD 2006: 407-418. DOI: 10.1145/1142473.1142520

  • Arvind Arasu, Brian Babcock, Shivnath Babu, John Cieslewicz, Mauyr Datar, Keith Ito, Rajeev Motwani, Utkarsh Srivastava, Jennifer Widom. (2004). STREAM: The Stanford Data Stream Management System. Technical Report, Stanford InfoLab.

    http://ilpubs.stanford.edu:8090/641/

  • Sirish Chandrasekaran, Owen Cooper, Amol Deshpande, Michael J. Franklin, Joseph M. Hellerstein, Wei Hong, Sailesh Krishnamurthy, Samuel Madden, Vijayshankar Raman, Frederick Reiss, Mehul A. Shah. (2003). TelegraphCQ: Continuous Dataflow Processing for an Uncertain World. CIDR 2003.

    http://www-db.cs.wisc.edu/cidr/cidr2003/program/p24.pdf

  • Donald Carney, Ugur Çetintemel, Mitch Cherniack, Christian Convey, Sangdon Lee, Greg Seidman, Michael Stonebraker, Nesime Tatbul, Stanley B. Zdonik. (2002). Monitoring Streams - A New Class of Data Management Applications. VLDB 2002: 215-226.

    http://www.vldb.org/conf/2002/S07P02.pdf

  • Shivnath Babu, Jennifer Widom. (2001). Continuous Queries over Data Streams. SIGMOD Record 30(3): 109-120. DOI: 10.1145/603867.603884.

  • Praveen Seshadri, Miron Livny, Raghu Ramakrishnan. (1994). Sequence Query Processing. SIGMOD 1994: 430-441. DOI: 10.1145/191839.191926

  • Nicolas Halbwachs, Fabienne Lagnier, Christophe Ratel. (1992). Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE. IEEE Trans. Software Eng. 18(9): 785-793. DOI: 10.1109/32.159839

Runtime Verification and Log Analysis

  • Martin Leucker, César Sánchez, Torben Scheffel, Malte Schmitz, Alexander Schramm:

    TeSSLa: runtime verification of non-synchronized real-time streams. SAC 2018: 1925-1933. DOI: 10.1145/3167132.3167338

  • Normann Decker, Jannis Harder, Torben Scheffel, Malte Schmitz, Daniel Thoma. (2016). Runtime Monitoring with Union-Find Structures. ETAPS 2016: 868-884. DOI: 10.1007/978-3-662-49674-9_54

  • Martin Leucker. (2016). Runtime Verification for Linear-Time Temporal Logic. SETSS 2016: 151-194. DOI: 10.1007/978-3-319-56841-6_5

  • Ariane Piel, Jean Bourrely, Stéphanie Lala, Sylvain Bertrand, Romain Kervarc. (2016). Temporal Logic Framework for Performance Analysis of Architectures of Systems. NFM 2016: 3-18. DOI: 10.1007/978-3-319-40648-0_1

  • David A. Basin, Felix Klaedtke, Srdjan Marinovic, Eugen Zalinescu. (2015). Monitoring of temporal first-order properties with aggregations. Formal Methods in System Design. 45 (3): 262-285. DOI: 10.1007/s10703-015-0222-7.

  • Yliès Falcone, Klaus Havelund, Giles Reger. A Tutorial on Runtime Verification. (2013). Engineering Dependable Software Systems 2013: 141-175. DOI: 10.3233/978-1-61499-207-3-141

  • Howard Barringer, Yliès Falcone, Klaus Havelund, Giles Reger, David E. Rydeheard. (2012). Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors. FM 2012: 68-84. DOI: 10.1007/978-3-642-32759-9_9

  • Patrick O'Neil Meredith, Dongyun Jin, Dennis Griffith, Feng Chen, Grigore Rosu (2012). An overview of the {MOP} runtime verification framework. STTT 14(3): 249-289. DOI: 10.1007/s10009-011-0198-6

  • Howard Barringer, Klaus Havelund. (2011). TraceContract: A Scala DSL for Trace Analysis. FM 2011: 57-72. DOI: 10.1007/978-3-642-21437-0_7

  • Fabrizio Maria Maggi, Marco Montali, Michael Westergaard, Wil M. P. van der Aalst. (2011). Monitoring Business Constraints with Linear Temporal Logic: An Approach Based on Colored Automata. BPM 2011: 132-147. DOI: 10.1007/978-3-642-23059-2_13

  • Howard Barringer, Alex Groce, Klaus Havelund, Margaret H. Smith. (2010). Formal Analysis of Log Files. JACIC 7(11): 365-390. DOI: 10.2514/1.49356

  • David A. Basin, Felix Klaedtke, Samuel Müller. (2010). Policy Monitoring in First-Order Temporal Logic. CAV 2010: 1-18. DOI: 10.1007/978-3-642-14295-6_1

  • Eric Bodden, Laurie J. Hendren, Patrick Lam, Ondrej Lhoták, Nomair A. Naeem. (2010). Collaborative Runtime Verification with Tracematches. J. Log. Comput. 20(3): 707-723. DOI: 10.1093/logcom/exn077

  • Christian Colombo, Andrew Gauci, Gordon J. Pace. (2010). LarvaStat: Monitoring of Statistical Properties. RV 2010: 480-484. DOI: 10.1007/978-3-642-16612-9_38

  • Kari Kähkönen, Jani Lampinen, Keijo Heljanko, Ilkka Niemelä. (2009). The LIME Interface Specification Language and Runtime Monitoring Tool. RV 2009: 93-100. DOI: 10.1007/978-3-642-04694-0_7

  • Feng Chen, Grigore Rosu. (2009). Parametric Trace Slicing and Monitoring. TACAS 2009: 246-261. DOI: 10.1007/978-3-642-00768-2_23

  • Martin Leucker, Christian Schallhart. (2009). A brief account of runtime verification. J. Log. Algebr. Program. 78 (5): 293–303. DOI: 10.1016/j.jlap.2008.08.004

  • Ahmed Awad, Gero Decker, Mathias Weske. (2008). Efficient Compliance Checking Using BPMN-Q and Temporal Logic. BPM 2008: 326-341. DOI: 10.1007/978-3-540-85758-7_24

  • Federico Chesani, Paola Mello, Marco Montali, Fabrizio Riguzzi, Maurizio Sebastianis, Sergio Storari. (2008). Checking Compliance of Execution Traces to Business Rules. BPM-W 2008: 134-145. DOI: 10.1007/978-3-642-00328-8_13

  • Christian Colombo, Gordon J. Pace, Gerardo Schneider. (2008). Dynamic Event-Based Runtime Monitoring of Real-Time and Contextual Properties. FMICS 2008: 135-149. DOI: 10.1007/978-3-642-03240-0_13

  • Aditya Ghose and George Koliadis. (2007). Auditing Business Process Compliance. ICSOC 2007: 169-180. DOI: 10.1007/978-3-540-74974-5_14

  • Guido Governatori and Zoran Milosevic and Shazia W. Sadiq. (2006). Compliance checking between business processes and business contracts. EDOC 2006: 221-232. DOI: 10.1109/EDOC.2006.22

  • Ben D'Angelo, Sriram Sankaranarayanan, César Sánchez, Will Robinson, Bernd Finkbeiner, Henny B. Sipma, Sandeep Mehrotra, Zohar Manna. (2005). LOLA: Runtime Monitoring of Synchronous Systems. TIME 2005: 166-174. DOI: 10.1109/TIME.2005.26

  • Hubert Garavel and Radu Mateescu. (2004). SEQ.OPEN: A Tool for Efficient Trace-Based Verification. SPIN 2004: 151-157. DOI: 10.1007/978-3-540-24732-6_11

  • Moonzoo Kim, Mahesh Viswanathan, Sampath Kannan, Insup Lee, Oleg Sokolsky. (2004). Java-MaC: A Run-Time Assurance Approach for Java Programs. FMSD 2004: 129-155. DOI: 10.1023/B:FORM.0000017719.43755.7c

Automata, Logic, Formal Methods

  • Michael Huth, Mark Ryan. (2004). Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press. ISBN: 978-0521543101

  • Amir Pnueli. (1977). The Temporal logic of programs. FOCS18: 46-57. DOI: 10.1109/SFCS.1977.32

Last updated