Skip to main content

Writing Domain-Specific Languages for BeepBeep

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

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

Included in the following conference series:

Abstract

This paper describes a plug-in extension of the BeepBeep 3 event stream processing engine. The extension allows one to write a custom grammar defining a particular specification language on event traces. A built-in interpreter can then convert expressions of the language into chains of BeepBeep processors through just a few lines of code, making it easy for users to create their own domain-specific languages.

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 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.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.

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

  2. 2.

    https://github.com/liflab/beepbeep-3-palettes/.

  3. 3.

    The code for the interpreter can be found in the BeepBeep example repository: https://liflab.github.io/beepbeep-3-examples/classdsl_1_1_simple_processor_builder.html.

  4. 4.

    More details can be found in Chap. 8 of BeepBeep’s user manual [1].

  5. 5.

    https://github.com/liflab/beepbeep-3-polyglot.

  6. 6.

    The other being MOP [5], which also handles specifications in multiple languages.

References

  1. Event stream processing with BeepBeep 3. https://liflab.gitbooks.io/event-stream-processing-with-beepbeep-3

  2. 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). https://doi.org/10.1007/978-3-642-32759-9_9

    Chapter  Google Scholar 

  3. Basin, D.A., Klaedtke, F., Müller, S., Zalinescu, E.: Monitoring metric first-order temporal properties. J. ACM 62(2), 15:1–15:45 (2015). https://doi.org/10.1145/2699444

    Article  MathSciNet  MATH  Google Scholar 

  4. Boussaha, M.R., Khoury, R., Hallé, S.: Monitoring of security properties using BeepBeep. In: Imine, A., Fernandez, J.M., Marion, J.-Y., Logrippo, L., Garcia-Alfaro, J. (eds.) FPS 2017. LNCS, vol. 10723, pp. 160–169. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75650-9_11

    Chapter  Google Scholar 

  5. Chen, F., Rosu, G.: Mop: an efficient and generic runtime verification framework. In: Gabriel, R.P., Bacon, D.F., Lopes, C.V., Jr., G.L.S. (eds.) Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2007, 21–25 October 2007, Montreal, Quebec, Canada, pp. 569–588. ACM (2007). https://doi.org/10.1145/1297027.1297069

  6. Colombo, C., Pace, G.J.: Runtime verification using LARVA. In: Reger, G., Havelund, K. (eds.) An International Workshop on Competitions, Usability, Benchmarks, Evaluation, and Standardisation for Runtime Verification Tools, RV-CuBES 2017, vol. 3, 15 September 2017, Seattle, WA, USA, pp. 55–63. Kalpa Publications in Computing. EasyChair (2017). http://www.easychair.org/publications/paper/Jwmr

  7. D’Angelo, B., et al.: 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). https://doi.org/10.1109/TIME.2005.26

  8. Decker, N., et al.: Rapidly adjustable non-intrusive online monitoring for multi-core systems. In: Cavalheiro, S., Fiadeiro, J. (eds.) SBMF 2017. LNCS, vol. 10623, pp. 179–196. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70848-5_12

    Chapter  Google Scholar 

  9. Falcone, Y., Sánchez, C. (eds.): RV 2016. LNCS, vol. 10012. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46982-9

    Book  Google Scholar 

  10. Gansner, E.R., Koutsofios, E., North, S.: Drawing graphs with dot (2015). http://www.graphviz.org/pdf/dotguide.pdf

  11. Halbwachs, N., Lagnier, F., Ratel, C.: Programming and verifying real-time systems by means of the synchronous data-flow language LUSTRE. IEEE Trans. Software Eng. 18(9), 785–793 (1992)

    Article  Google Scholar 

  12. Hallé, S.: When RV meets CEP. In: Falcone, Y., Sánchez, C. (eds.) RV 2016. LNCS, vol. 10012, pp. 68–91. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46982-9_6

    Chapter  Google Scholar 

  13. Hallé, S., Gaboury, S., Bouchard, B.: Activity recognition through complex event processing: First findings. In: Bouchard, B., Giroux, S., Bouzouane, A., Gaboury, S. (eds.) Artificial Intelligence Applied to Assistive Technologies and Smart Environments, Papers from the 2016 AAAI Workshop, Phoenix, Arizona, USA, 12 February 2016, AAAI Workshops, vol. WS-16-01. AAAI Press (2016). http://www.aaai.org/ocs/index.php/WS/AAAIW16/paper/view/12561

  14. Hallé, S., Gaboury, S., Bouchard, B.: Towards user activity recognition through energy usage analysis and complex event processing. In: Proceedings of the 9th ACM International Conference on PErvasive Technologies Related to Assistive Environments, PETRA 2016, Corfu Island, Greece, 29 June–1 July 2016, p. 3. ACM (2016). http://dl.acm.org/citation.cfm?id=2910707

  15. Hallé, S., Gaboury, S., Khoury, R.: A glue language for event stream processing. In: Joshi, J., et al. (eds.) 2016 IEEE International Conference on Big Data, BigData 2016, Washington DC, USA, 5–8 December 2016, pp. 2384–2391. IEEE (2016). https://doi.org/10.1109/BigData.2016.7840873

  16. Hallé, S., Villemaire, R.: Runtime enforcement of web service message contracts with data. IEEE Trans. Services Comput. 5(2), 192–206 (2012). https://doi.org/10.1109/TSC.2011.10

    Article  Google Scholar 

  17. Hallé, S., Khoury, R., Gaboury, S.: Event stream processing with multiple threads. In: Lahiri, S., Reger, G. (eds.) RV 2017. LNCS, vol. 10548, pp. 359–369. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67531-2_22

    Chapter  Google Scholar 

  18. Lahiri, S., Reger, G. (eds.): RV 2017. LNCS, vol. 10548. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67531-2

    Book  Google Scholar 

  19. Khoury, R., Hallé, S., Waldmann, O.: Execution trace analysis using LTL-FO\(^+\). In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9953, pp. 356–362. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47169-3_26

    Chapter  Google Scholar 

  20. Rapin, N.: Reactive property monitoring of hybrid systems with aggregation. In: Falcone, Y., Sánchez, C. (eds.) RV 2016. LNCS, vol. 10012, pp. 447–453. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46982-9_28

    Chapter  Google Scholar 

  21. Varvaressos, S., Lavoie, K., Gaboury, S., Hallé, S.: Automated bug finding in video games: A case study for runtime monitoring. Comput. Entertain. 15(1), 1:1–1:28 (2017). https://doi.org/10.1145/2700529

    Article  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

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Hallé, S., Khoury, R. (2018). Writing Domain-Specific Languages for BeepBeep. In: Colombo, C., Leucker, M. (eds) Runtime Verification. RV 2018. Lecture Notes in Computer Science(), vol 11237. Springer, Cham. https://doi.org/10.1007/978-3-030-03769-7_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-03769-7_27

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-03768-0

  • Online ISBN: 978-3-030-03769-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics