Advertisement

Runtime verification of autopilot systems using a fragment of MTL-\({\int }\)

  • André de Matos Pedro
  • Jorge Sousa Pinto
  • David Pereira
  • Luís Miguel Pinho
FMICS-AVoCS

Abstract

Current real-time embedded systems development frameworks lack support for the verification of properties using explicit time where counting time (i.e., durations) may play an important role in the development process. Focusing on the real-time constraints inherent to these systems, we present a framework that addresses the specification of duration properties for runtime verification by employing a fragment of metric temporal logic with durations. We also provide an overview of the framework, the synthesis tools, and the library to support monitoring properties for real-time systems developed in C++11. The results obtained provide clear evidence of the feasibility and advantages of employing a duration-sensitive formalism to increase the dependability of avionic controller systems such as the PX4 and the Ardupilot flight stacks.

Keywords

Runtime verification Metric temporal logic Durations Resource model Hard real time system Polynomial inequality 

Supplementary material

References

  1. 1.
    Ranjbaran, M., Khorasani, K.: Fault recovery of an under-actuated quadrotor aerial vehicle. In: CDC, pp. 4385–4392 (2010)Google Scholar
  2. 2.
    Meier, L., Honegger, D., Pollefeys, M.: Px4: a node-based multithreaded open source robotics framework for deeply embedded platforms. In: ICRA, pp. 6235–6240 (2015)Google Scholar
  3. 3.
    Bauer, A., Leucker, M., Schallhart, C.: Runtime Verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 14:1–14:64 (2011)CrossRefGoogle Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  5. 5.
    de Roever, W.P., de Boer, F.S., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods, volume 54 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (2001)Google Scholar
  6. 6.
    Harrison, John: Handbook of Practical Logic and Automated Reasoning, 1st edn. Cambridge University Press, New York (2009)CrossRefzbMATHGoogle Scholar
  7. 7.
    Shin, I., Lee, I.: Periodic resource model for compositional real-time guarantees. In: RTSS, pp. 2–13 (2003)Google Scholar
  8. 8.
    Liu, J.W.S., Shih, W.-K., Lin, K.-J., Bettati, R., Chung, J.-Y.: Imprecise computations. Proc. IEEE 82(1), 83–94 (1994)CrossRefGoogle Scholar
  9. 9.
    Mizotani, K., Hatori, Y., Kumura, Y., Takasu, M., Chishiro, H., Yamasaki, N.: An integration of imprecise computation model and real-time voltage and frequency scaling. In: CATA, pp. 63–70 (2015)Google Scholar
  10. 10.
    Lakhneche, Y., Hooman, J.: Metric temporal logic with durations. Theor. Comput. Sci. 138(1), 169–199 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Ouaknine, J., Worrell, J.: Some recent results in metric temporal logic. In: FORMATS ’08, pp. 1–13, Springer, Berlin (2008)Google Scholar
  12. 12.
    Pike, L.: Modeling time-triggered protocols and verifying their real-time schedules. In: FMCAD, pp. 231–238, (2007)Google Scholar
  13. 13.
    Pedro, A.M., Pereira, D., Pinho, L.M., Pinto, J.S.: Logic-based schedulability analysis for compositional hard real-time embedded systems. SIGBED Rev. 12(1), 56–64 (2015)CrossRefGoogle Scholar
  14. 14.
    Platzer, A., Clarke, E.M.: Computing differential invariants of hybrid systems as fixedpoints. In: CAV, pp. 176–189. Springer, New York (2008)Google Scholar
  15. 15.
    Cimatti, A., Roveri, M., Tonetta, S.: Requirements validation for hybrid systems. In: CAV, pp. 188–203. Springer, New York (2009)Google Scholar
  16. 16.
    Pedro, A.M., Pereira, D., Pinho, L.M., Pinto, J.S.: Monitoring for a decidable fragment of mtld. In: RV, pp. 169–184. Springer, New York (2015)Google Scholar
  17. 17.
    Collins, G.E.: Quantifier elimination for real closed fields by cylindrical algebraic decomposition: a synopsis. SIGSAM Bull. 10(1), 10–12 (1976)CrossRefGoogle Scholar
  18. 18.
    Chen, Y., Chang, L., Kuo, T.I., Mok, A.K.: Real-time task scheduling anomaly: observations and prevention. In: SAC, pp. 897–898. ACM, New York (2005)Google Scholar
  19. 19.
    Barringer, H., Rydeheard, D., Havelund, K.: Rule Systems for Run-Time Monitoring: From Eagle to Ruler. Springer, Berlin (2007)zbMATHGoogle Scholar
  20. 20.
    Sammapun, U., Lee, I., Sokolsky, O.: Rt-mac: runtime monitoring and checking of quantitative and probabilistic properties. In: RTCSA, pp. 147–153 (2005)Google Scholar
  21. 21.
    Pike, L., Goodloe, A., Morisset, R., Niller, S.: Copilot: a hard real-time runtime monitor. In: RV’10, pp. 345–359. Springer, Berlin (2010)Google Scholar
  22. 22.
    Bauer, A., Kuster, J., Vegliach, G.: From Propositional to First-order Monitoring. Springer, Berlin (2013)CrossRefzbMATHGoogle Scholar
  23. 23.
    Decker, N., Leucker, M., Thoma, D.: Monitoring modulo theories. In: TACAS, pp. 341–356. Springer, New York (2014)Google Scholar
  24. 24.
    Bouyer, P., Chevalier, F., Markey, N.: On the expressiveness of TPTL and MTL. Inf. Comput. 208(2), 97–116 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Koymans, Ron: Specifying real-time properties with metric temporal logic. Real-Time Syst. 2(4), 255–299 (1990)CrossRefGoogle Scholar
  26. 26.
    Pnueli, A.: The temporal logic of programs. In: SFCS ’77, pp. 46–57. IEEE Computer Society, Washington (1977)Google Scholar
  27. 27.
    Pedro, A.M.: rtmlib Monitoring Library. https://anmaped.github.io/rtmlib/doc/ (2016), version 0.1-alpha
  28. 28.
    The OCaml Development Team. Ocaml programming language (2013)Google Scholar
  29. 29.
    Pedro, A.M.: rmtld3synth Synthesis Tool. https://github.com/cistergit/rmtld3synth/ (2016), version 0.1-alpha
  30. 30.
    Nelissen, G., Pereira, D., Pinho, L.M.: A novel run-time monitoring architecture for safe and efficient inline monitoring. Ada-Europe 2015, 66–82 (2015)Google Scholar
  31. 31.
    Coombes, M., McAree, O., Chen, W. H., Render, P.: Development of an autopilot system for rapid prototyping of high level control algorithms. In: Proceedings of 2012 UKACC CONTROL, pp. 292–297 (2012)Google Scholar
  32. 32.
    Nutt, G.: NuttX Real-Time Operating System. http://nuttx.org/ (2007), version 7.11
  33. 33.
    Schumann, J., Moosbrugger, P., Rozier, K.Y.: R2u2: Monitoring and diagnosis of security threats for unmanned aerial systems. In: RV 2015, pp. 233–249 (2015)Google Scholar
  34. 34.
    Pedro, A.M.: Use Case (1) and Use Case (2) configure files with settings. https://github.com/anmaped/rmtld3synth/tree/dev/config (2016). version 1
  35. 35.
    Cassez, F., Larsen, K.G.: The impressive power of stopwatches. In: CONCUR, pp. 138–152. Springer, Berlin (2000)Google Scholar
  36. 36.
    Hunter, P., Ouaknine, J., Worrell, J.: Expressive completeness for metric temporal logic. In: IEEE Computer Society, pp. 349–357 (2013)Google Scholar
  37. 37.
    Navabpour, S., Bonakdarpour, B., Fischmeister, S.: Time-triggered runtime verification of component-based multi-core systems. In: RV. Springer, New York (2015)Google Scholar
  38. 38.
    Mueller, M.W., D’Andrea, R.: Stability and control of a quadrocopter despite the complete loss of one, two, or three propellers. In: IEEE international conference on robotics and automation (ICRA), pp. 45–52, (2014)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  1. 1.CISTER/INESC TEC, ISEPPolytechnic Institute of PortoPortoPortugal
  2. 2.HASLab/INESC TEC & Universidade do MinhoBragaPortugal

Personalised recommendations