skip to main content
research-article

FPGA Stream-Monitoring of Real-time Properties

Published:08 October 2019Publication History
Skip Abstract Section

Abstract

An essential part of cyber-physical systems is the online evaluation of real-time data streams. Especially in systems that are intrinsically safety-critical, a dedicated monitoring component inspecting data streams to detect problems at runtime greatly increases the confidence in a safe execution. Such a monitor needs to be based on a specification language capable of expressing complex, high-level properties using only the accessible low-level signals. Moreover, tight constraints on computational resources exacerbate the requirements on the monitor. Thus, several existing approaches to monitoring are not applicable due to their dependence on an operating system.

We present an FPGA-based monitoring approach by compiling an RTLola specification into synthesizable VHDL code. RTLola is a stream-based specification language capable of expressing complex real-time properties while providing an upper bound on the execution time and memory requirements. The statically determined memory bound allows for a compilation to an FPGA with a fixed size. An advantage of FPGAs is a simple integration process in existing systems and superb executing time. The compilation results in a highly parallel implementation thanks to the modular nature of RTLola specifications. This further increases the maximal event rate the monitor can handle.

References

  1. Florian-Michael Adolf, Peter Faymonville, Bernd Finkbeiner, Sebastian Schirmer, and Christoph Torens. 2017. Stream runtime monitoring on UAS. In Runtime Verification - 17th International Conference, RV 2017, Seattle, WA, USA, September 13-16, 2017, Proceedings. 33--49. DOI:https://doi.org/10.1007/978-3-319-67531-2_3Google ScholarGoogle Scholar
  2. David A. Basin, Felix Klaedtke, Samuel Müller, and Eugen Zalinescu. 2015. Monitoring metric first-order temporal properties. J. ACM 62, 2 (2015), 15:1--15:45. DOI:https://doi.org/10.1145/2699444Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. David A. Basin, Srdjan Krstic, and Dmitriy Traytel. 2017. AERIAL: Almost event-rate independent algorithms for monitoring metric regular properties. In RV-CuBES 2017. An International Workshop on Competitions, Usability, Benchmarks, Evaluation, and Standardisation for Runtime Verification Tools, September 15, 2017, Seattle, WA, USA (Kalpa Publications in Computing), Giles Reger and Klaus Havelund (Eds.), Vol. 3. EasyChair, 29--36. http://www.easychair.org/publications/paper/sgWQ.Google ScholarGoogle Scholar
  4. Gerard Berry. 2016. Formally unifying modeling and design for embedded systems - a personal view. In Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications - 7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, October 10-14, 2016, Proceedings, Part II. 134--149. DOI:https://doi.org/10.1007/978-3-319-47169-3_11Google ScholarGoogle ScholarCross RefCross Ref
  5. Gérard Berry and Georges Gonthier. 1992. The esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Program. 19, 2 (1992), 87--152. DOI:https://doi.org/10.1016/0167-6423(92)90005-VGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  6. Marc Boule and Zeljko Zilic. 2008. Automata-based assertion-checker synthesis of PSL properties. ACM Trans. Design Autom. Electr. Syst. 13, 1 (2008), 4:1--4:21. DOI:https://doi.org/10.1145/1297666.1297670Google ScholarGoogle Scholar
  7. Paul Caspi, Daniel Pilaud, Nicolas Halbwachs, and John Plaice. 1987. Lustre: A declarative language for programming synchronous systems. In Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich, Germany, January 21–23, 1987. 178--188. DOI:https://doi.org/10.1145/41625.41641Google ScholarGoogle Scholar
  8. Ping Hang Cheung and Alessandro Forin. 2007. A C-language binding for PSL. In Embedded Software and Systems, [Third] International Conference, ICESS 2007, Daegu, Korea, May 14-16, 2007, Proceedings. 584--591. DOI:https://doi.org/10.1007/978-3-540-72685-2_54Google ScholarGoogle Scholar
  9. Christian Colombo and Martin Leucker (Eds.). 2018. Runtime Verification - 18th International Conference, RV 2018, Limassol, Cyprus, November 10-13, 2018, Proceedings. Lecture Notes in Computer Science, Vol. 11237. Springer. DOI:https://doi.org/10.1007/978-3-030-03769-7Google ScholarGoogle Scholar
  10. Lukas Convent, Sebastian Hungerecker, Torben Scheffel, Malte Schmitz, Daniel Thoma, and Alexander Weiss. 2018. Hardware-based runtime verification with embedded tracing units and stream processing, See [9], 43--63. DOI:https://doi.org/10.1007/978-3-030-03769-7_5Google ScholarGoogle Scholar
  11. Anat Dahan, Daniel Geist, Leonid Gluhovsky, Dmitry Pidan, Gil Shapir, Yaron Wolfsthal, Lyes Benalycherif, Romain Kamdem, and Younes Lahbib. 2005. Combining system level modeling with assertion based verification. In 6th International Symposium on Quality of Electronic Design (ISQED 2005), 21–23 March 2005, San Jose, CA, USA. 310--315. DOI:https://doi.org/10.1109/ISQED.2005.32Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Ben D’Angelo, Sriram Sankaranarayanan, César Sánchez, Will Robinson, Bernd Finkbeiner, Henny B. Sipma, Sandeep Mehrotra, and Zohar Manna. 2005. LOLA: Runtime monitoring of synchronous systems. In 12th International Symposium on Temporal Representation and Reasoning (TIME 2005), 23–25 June 2005, Burlington, Vermont, USA. 166--174. DOI:https://doi.org/10.1109/TIME.2005.26Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Normann Decker, Philip Gottschling, Christian Hochberger, Martin Leucker, Torben Scheffel, Malte Schmitz, and Alexander Weiss. 2017. Rapidly adjustable non-intrusive online monitoring for multi-core systems. In Formal Methods: Foundations and Applications - 20th Brazilian Symposium, SBMF 2017, Recife, Brazil, November 29 - December 1, 2017, Proceedings. 179--196. DOI:https://doi.org/10.1007/978-3-319-70848-5_12Google ScholarGoogle Scholar
  14. Jyotirmoy V. Deshmukh, Alexandre Donzé, Shromona Ghosh, Xiaoqing Jin, Garvit Juniwal, and Sanjit A. Seshia. 2017. Robust online monitoring of signal temporal logic. Formal Methods in System Design 51, 1 (2017), 5--30. DOI:https://doi.org/10.1007/s10703-017-0286-7Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Doron Drusinsky. 2000. The temporal rover and the ATG rover. In SPIN Model Checking and Software Verification, 7th International SPIN Workshop, Stanford, CA, USA, August 30 - September 1, 2000, Proceedings (Lecture Notes in Computer Science), Klaus Havelund, John Penix, and Willem Visser (Eds.), Vol. 1885. Springer, 323--330. DOI:https://doi.org/10.1007/10722468_19Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Peter Faymonville, Bernd Finkbeiner, Sebastian Schirmer, and Hazem Torfah. 2016. A stream-based specification language for network monitoring. In Runtime Verification - 16th International Conference, RV 2016, Madrid, Spain, September 23–30, 2016, Proceedings. 152--168. DOI:https://doi.org/10.1007/978-3-319-46982-9_10Google ScholarGoogle Scholar
  17. Peter Faymonville, Bernd Finkbeiner, Malte Schledjewski, Maximilian Schwenger, Marvin Stenger, Leander Tentrup, and Hazem Torfah. 2019. StreamLAB: Stream-based monitoring of cyber-physical systems. In Computer Aided Verification - 31st International Conference, CAV 2019, New York City, NY, USA, July 15–18, 2019, Proceedings, Part I. 421--431. DOI:https://doi.org/10.1007/978-3-030-25540-4_24Google ScholarGoogle Scholar
  18. Peter Faymonville, Bernd Finkbeiner, Maximilian Schwenger, and Hazem Torfah. 2017. Real-time stream-based monitoring. CoRR abs/1711.03829 (2017). arxiv:1711.03829 http://arxiv.org/abs/1711.03829Google ScholarGoogle Scholar
  19. Bernd Finkbeiner and Lars Kuhtz. 2009. Monitor circuits for LTL with bounded and unbounded future. In Runtime Verification, 9th International Workshop, RV 2009, Grenoble, France, June 26–28, 2009. Selected Papers. 60--75. DOI:https://doi.org/10.1007/978-3-642-04694-0_5Google ScholarGoogle Scholar
  20. Bernd Finkbeiner and Henny Sipma. 2004. Checking finite traces using alternating automata. Formal Methods in System Design 24, 2 (2004), 101--127. DOI:https://doi.org/10.1023/B:FORM.0000017718.28096.48Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Felipe Gorostiaga and César Sánchez. 2018. Striver: Stream runtime verification for real-time event-streams, See [9], 282--298. DOI:https://doi.org/10.1007/978-3-030-03769-7_16Google ScholarGoogle Scholar
  22. Nicolas Halbwachs. 2005. A synchronous language at work: The story of Lustre. In 3rd ACM 8 IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE 2005), 11–14 July 2005, Verona, Italy, Proceedings. 3--11. DOI:https://doi.org/10.1109/MEMCOD.2005.1487884Google ScholarGoogle Scholar
  23. Klaus Havelund and Grigore Rosu. 2002. Synthesizing monitors for safety properties. In Tools and Algorithms for the Construction and Analysis of Systems, 8th International Conference, TACAS 2002, Held as Part of the Joint European Conference on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8–12, 2002, Proceedings. 342--356. DOI:https://doi.org/10.1007/3-540-46002-0_24Google ScholarGoogle Scholar
  24. Stefan Jaksic, Ezio Bartocci, Radu Grosu, Reinhard Kloibhofer, Thang Nguyen, and Dejan Nickovic. 2015. From signal temporal logic to FPGA monitors. In 13. ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2015, Austin, TX, USA, September 21–23, 2015. 218--227. DOI:https://doi.org/10.1109/MEMCOD.2015.7340489Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Ron Koymans. 1990. Specifying real-time properties with metric temporal logic. Real-Time Systems 2, 4 (1990), 255--299. DOI:https://doi.org/10.1007/BF01995674Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Orna Kupferman and Moshe Y. Vardi. 2001. Model checking of safety properties. Formal Methods in System Design 19, 3 (2001), 291--314. DOI:https://doi.org/10.1023/A:1011254632723Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Insup Lee, Sampath Kannan, Moonjoo Kim, Oleg Sokolsky, and Mahesh Viswanathan. 1999. Runtime assurance based on formal specifications. In Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA 1999, June 28 - Junlly 1, 1999, Las Vegas, Nevada, USA. 279--287.Google ScholarGoogle Scholar
  28. Jin Li, David Maier, Kristin Tufte, Vassilis Papadimos, and Peter A. Tucker. 2005. No pane, no gain: Efficient evaluation of sliding-window aggregates over data streams. SIGMOD Record 34, 1 (2005), 39--44. DOI:https://doi.org/10.1145/1058150.1058158Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Yamin Li and Wanming Chu. 1996. A new non-restoring square root algorithm and its VLSI implementation. In 1996 International Conference on Computer Design (ICCD’96), VLSI in Computers and Processors, October 7–9, 1996, Austin, TX, USA, Proceedings. 538--544. DOI:https://doi.org/10.1109/ICCD.1996.563604Google ScholarGoogle Scholar
  30. Hong Lu and Alessandro Forin. 2007. The Design and Implementation of P2V, An Architecture for Zero-Overhead Online Verification of Software Programs. Technical Report MSR-TR-2007-99. 12 pages. https://www.microsoft.com/en-us/research/publication/the-design-and-implementation-of-p2v-an-architecture-for-zero-overhead-online-verification-of-software-programs/Google ScholarGoogle Scholar
  31. Oded Maler and Dejan Nickovic. 2004. Monitoring temporal properties of continuous signals. In Formal Techniques, Modelling and Analysis of Timed and Fault-Tolerant Systems, Joint International Conferences on Formal Modelling and Analysis of Timed Systems, FORMATS 2004 and Formal Techniques in Real-Time and Fault-Tolerant Systems, FTRTFT 2004, Grenoble, France, September 22–24, 2004, Proceedings. 152--166. DOI:https://doi.org/10.1007/978-3-540-30206-3_12Google ScholarGoogle Scholar
  32. Marcel Maltry. 2017. FPGA-based Monitoring for Stream Specification Languages. Master’s thesis. Saarland University.Google ScholarGoogle Scholar
  33. Lambert Meertens. 1986. Algorithmics : Towards programming as a mathematical activity. In Towards Programming as a Mathematical Activity. Mathematics and Computer Science. 289--334.Google ScholarGoogle Scholar
  34. Patrick Moosbrugger, Kristin Y. Rozier, and Johann Schumann. 2017. R2U2: Monitoring and diagnosis of security threats for unmanned aerial systems. Formal Methods in System Design 51, 1 (2017), 31--61. DOI:https://doi.org/10.1007/s10703-017-0275-xGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  35. Patrick Moosbrugger, Kristin Y. Rozier, and Johann Schumann. 2017. R2U2: Monitoring and diagnosis of security threats for unmanned aerial systems. Formal Methods in System Design 51, 1 (2017), 31--61. DOI:https://doi.org/10.1007/s10703-017-0275-xGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  36. Dejan Nickovic and Oded Maler. 2007. AMT: A property-based monitoring tool for analog systems. In Formal Modeling and Analysis of Timed Systems, 5th International Conference, FORMATS 2007, Salzburg, Austria, October 3–5, 2007, Proceedings. 304--319. DOI:https://doi.org/10.1007/978-3-540-75454-1_22Google ScholarGoogle Scholar
  37. Rodolfo Pellizzoni, Patrick O’Neil Meredith, Marco Caccamo, and Grigore Rosu. 2008. Hardware runtime monitoring for dependable COTS-based real-time embedded systems. In Proceedings of the 29th IEEE Real-Time Systems Symposium, RTSS 2008, Barcelona, Spain, 30 November - 3 December 2008. 481--491. DOI:https://doi.org/10.1109/RTSS.2008.43Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Amir Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science, Providence, Rhode Island, USA, 31 October - 1 November 1977. 46--57. DOI:https://doi.org/10.1109/SFCS.1977.32Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. FPGA Stream-Monitoring of Real-time Properties

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!