skip to main content
research-article

Runtime Monitoring of Cyber-Physical Systems Under Timing and Memory Constraints

Authors Info & Claims
Published:20 October 2015Publication History
Skip Abstract Section

Abstract

The goal of runtime monitoring is to inspect the well-being of a system by employing a monitor process that reads the state of the system during execution and evaluates a set of properties expressed in some specification language. The main challenge in runtime monitoring is dealing with the costs imposed in terms of resource utilization. In the context of cyber-physical systems, it is crucial for a software monitoring solution to be time predictable to improve scheduling, as well as support composition of monitoring solutions with an overall predictable behavior. Moreover, a small memory footprint is often required in components of cyber-physical systems, especially in deeply embedded systems. In this article, we propose a novel control-theoretic software monitoring solution for coordinating time predictability and memory utilization in runtime monitoring of systems that interact with the physical world. The controllers attempt to reduce monitoring jitter and maximize memory utilization while simultaneously ensuring the soundness of evaluation of properties. For systems where multiple properties are required to be monitored simultaneously, we construct a buffer sharing mechanism in which controllers dynamically share the memory space to negate the effect of bursts of environment actions, thus reducing jitter due to transient high loads.

To validate our design choices, we present three case studies: (1) a Bluetooth mobile payment system, which shows a sporadic rate of events during peak hours; (2) a laser beam stabilizer for target tracking, and (3) a monitoring system for air/fuel ratio in a car engine exhaust and the CAM inlet position in the engine’s cylinders. The experimental results of the case studies demonstrate up to 40% improvement in time predictability of the monitoring solution when compared to a basic event-triggered approach. Moreover, memory utilization reaches an average of 90% when using our dynamic buffer resizing mechanism.

References

  1. E. Bodden, L. Hendren, and O. Lhoták. 2007. A staged static program analysis to improve the performance of runtime monitoring. In Proceedings of the 21st European Conference on Object-Oriented Programming (ECOOP’07). Springer-Verlag, Berlin, 525--549. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. Bonakdarpour, S. Navabpour, and S. Fischmeister. 2011. Sampling-based runtime verification. In Proceedings of the 17th International Symposium on Formal Methods (FM). 88--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. Bonakdarpour, S. Navabpour, and S. Fischmeister. 2013. Time-triggered runtime verification. Formal Methods in Systems Design (FMSD) 43, 1 (2013), 29--60.Google ScholarGoogle ScholarCross RefCross Ref
  4. F. Chen and G. Roşu. 2007. MOP: An efficient and generic runtime verification framework. In ACM SIGPLAN Notices, Vol. 42. ACM, 569--588. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Colin and L. Mariani. 2005. Run-Time Verification. LCNS Vol. 3472. Springer-Verlag, Chap. 18.Google ScholarGoogle Scholar
  6. M. d’Amorim and K. Havelund. 2005. Event-based runtime verification of Java programs. In ACM SIGSOFT Software Engineering Notes, Vol. 30. ACM, 1--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. d’Amorim and G. Roşu. 2005. Efficient monitoring of ω-languages. In Proceedings of the 17th International Conference on Computer Aided Verification (CAV’05). Springer-Verlag, Berlin, 364--378. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Driankov, H. Hellendoorn, and W. Reinfrank. 1993. An Introduction to Fuzzy Control. Springer-Verlag New York, Inc., New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. B. Dwyer, A. Kinneer, and S. Elbaum. 2007. Adaptive online program analysis. In Proceedings of the 29th International Conference on Software Engineering (ICSE’07). IEEE Computer Society, Washington, DC, 220--229. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Galan. 2003. Temperature control based on traditional PID versus fuzzy controllers. Nortel Networks Control Software Design Documentation (2003).Google ScholarGoogle Scholar
  11. A. Galati and C. Greenhalgh. 2010. Human mobility in shopping mall environments. In Proceedings of the 2nd International Workshop on Mobile Opportunistic Networking. ACM, 1--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Giannakopoulou and K. Havelund. 2001. Automata-based verification of temporal properties on running programs. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE). 412--416. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Hauswirth and T. M. Chilimbi. 2004. Low-overhead memory leak detection using adaptive statistical profiling. In ACM SIGPLAN Notices, Vol. 39. ACM, 156--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. X. Huang, J. Seyster, S. Callanan, K. Dixit, R. Grosu, S. A. Smolka, S. D. Stoller, and E. Zadok. 2012. Software monitoring with controllable overhead. Software Tools for Technology Transfer (STTT) 14, 3 (2012), 327--347. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Kopetz. 1991. Event-triggered versus time-triggered real-time systems. In Operating Systems of the 90s and Beyond. Springer, 86--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Kopetz and G. Bauer. 2003. The time-triggered architecture. Proceedings of the IEEE 91, 1 (2003), 112--126.Google ScholarGoogle ScholarCross RefCross Ref
  17. S. Navabpour, B. Bonakdarpour, and S. Fischmeister. 2012. Path-aware time-triggered runtime verification. In Runtime Verification (RV). 199--213.Google ScholarGoogle Scholar
  18. S. Navabpour, B. Bonakdarpour, and S. Fischmeister. 2015. Time-triggered runtime verification of component-based multi-core systems. In Proceedings of the 15th International Conference on Runtime Verification (RV). 153--168.Google ScholarGoogle Scholar
  19. A. Pnueli and A. Zaks. 2006. PSL model checking and run-time verification via testers. In Symposium on Formal Methods (FM). 573--586. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. E. Rivera, M. Morari, and S. Skogestad. 1986. Internal model control: PID controller design. Industrial & Engineering Chemistry Process Design and Development 25, 1 (1986), 252--265.Google ScholarGoogle ScholarCross RefCross Ref
  21. T. J. Ross. 2009. Fuzzy Logic with Engineering Applications. Wiley.Google ScholarGoogle Scholar
  22. S. Stoller, E. Bartocci, J. Seyster, R. Grosu, K. Havelund, S. Smolka, and E. Zadok. 2011. Runtime verification with state estimation. In Proceedings of the 2nd International Conference on Runtime Verification. Springer-Verlag, 193--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. G. Ziegler and N. B. Nichols. 1942. Optimum settings for automatic controllers. Transactions of the ASME 64, 11 (1942).Google ScholarGoogle Scholar

Index Terms

  1. Runtime Monitoring of Cyber-Physical Systems Under Timing and Memory Constraints

      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
      About Cookies On This Site

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

      Learn more

      Got it!