Skip to main content
Log in

Inferring and monitoring invariants in robotic systems

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

System monitoring can help to detect anomalies, but crafting monitors for robot systems is difficult due to the inherent complexity, changing, and uncertain operating environment. We address this challenge by automatically inferring system invariants and synthesizing those invariants into monitors to detect faults with an approach inspired by state of the art software engineering methods. Our approach is novel in that: (1) It automatically derives invariants from messages; (2) The invariants types are tailored to match the spatial, temporal, and architectural attributes of robotic systems; and (3) It automatically classifies and synthesizes invariants into an online invariants monitor node. We have assessed the approach in the context of two unmanned aerial vehicle systems running robot operating system. We found that monitoring the inferred invariants can reduce system failure rates when facing unexpected contexts from 76 to 11 %, and can detect differences between the lab environment and the field deployments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. Robot Operating System (ROS), http://www.ros.org.

  2. Lightweight Communications and Marshalling (LCM), https://code.google.com/p/lcm/.

  3. Microsoft Robotics Developer Studio http://msdn.microsoft.com/en-us/robotics/.

  4. CLARAty Robotic Software, https://claraty.jpl.nasa.gov.

  5. The daikon invariant detector, http://groups.csail.mit.edu/pag/daikon/.

  6. ROS Bag utility, http://wiki.ros.org/Bags.

  7. The cost of generating invariants with more than two variables was exponential and hence prohibitive unless it was focused on a small set of topics.

References

  • Autili, M., Grunske, L., Lumpe, M., Pelliccione, P., & Tang, A. (2015). Aligning qualitative, real-time, and probabilistic property specification patterns using a structured english grammar. IEEE Transactions on Software Engineering, 41(7), 620–638.

    Article  Google Scholar 

  • Barham, P., Donnelly, A., Isaacs, R. & Mortier, R. (2004). Using magpie for request extraction and workload modelling. In: OSDI’04 Proceedings of the 6th conference on Symposium on Opearting Systems Design and Implementation (pp. 259–272).

  • Beschastnikh, I., Brun, Y., Schneider, S., Sloan, M. & Ernst, M. D. (2011). Leveraging existing instrumentation to automatically infer invariant-constrained models. In: ESEC/FSE ’11, Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (pp. 267–277). New York, NY: ACM.

  • Chen, M. Y., Accardi, A., Kiciman, E., Lloyd, J., Patterson, D., Fox, A. & Brewer, E. (2004). Path-based failure and evolution management. In: Proceeding NSDI’04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation (pp. 309–322).

  • Csallner, C., Tillmann, N. & Smaragdakis, Y. (2008). Dysy: Dynamic symbolic execution for invariant inference. In: ICSE (pp. 281–290).

  • Dwyer, M. B., Avrunin, G. S. & Corbett, J. C. (1999). Patterns in property specifications for finite-state verification. In: ICSE ’99, Proceedings of the 21st International Conference on Software Engineering (pp. 411–420). New York, NY: ACM.

  • Eddy, W. F. (1977). A new convex hull algorithm for planar sets. ACM Transactions on Mathematical Software (TOMS), 3(4), 398–403.

    Article  MATH  Google Scholar 

  • Ernst, M. D., Cockrell, J., Griswold, W. G. & Notkin, D. (1999). Dynamically discovering likely program invariants to support program evolution. In: ICSE (pp. 213–224).

  • Ernst, M. D., Perkins, J. H., Guo, P. J., Mccamant, S., Pacheco, C., Tschantz, M. S., et al. (2006). The daikon system for dynamic detection of likely invariants. Science of Computer Programming, 69(1), 35–45.

    MathSciNet  MATH  Google Scholar 

  • Gabel, M. & Su, Z. (2008). Javert: fully automatic mining of general temporal properties from dynamic traces. In: FSE (pp. 339–349).

  • Gabel, M. & Su, Z. (2010). Online inference and enforcement of temporal properties. In: ICSE ’10, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 (pp. 15–254). New York, NY: ACM.

  • Ghezzi, C. & Kemmerer, R. (1991). Astral: An assertion language for specifying realtime systems. In A. van Lamsweerde & A. Fugetta (Eds.), Lecture Notes in Computer Science, ESEC ’91 (Vol. 550, pp. 122–146). Berlin: Springer.

  • Gillula, J. H. & Tomlin, C. J. (2012). Guaranteed safe online learning via reachability: Tracking a ground target using a quadrotor. In: 2012 IEEE International Conference on Robotics and Automation (ICRA).

  • Golombek, R., Wrede, S., Hanheide, M. & Heckmann, M. (2010). Learning a probabilistic self-awareness model for robotic systems. In: IROS (pp. 2745–2750).

  • Golombek, R., Wrede, S., Hanheide, M. & Heckmann, M. (2011). Online data-driven fault detection for robotic systems. In IROS (pp. 3011–3016).

  • Grunske, L. (2008). Specification patterns for probabilistic quality properties. In: ICSE ’08, Proceedings of the 30th International Conference on Software Engineering (pp. 31–40). New York, NY: ACM.

  • Hangal, S. & Lam, M. S. (2002). Tracking down software bugs using automatic anomaly detection. In: ICSE (pp. 291–301).

  • Henkel, J., & Diwan, A. (2003). Discovering algebraic specifications from java classes. In ECCOP (pp. 431–456). Springer.

  • Jiang, H., Elbaum, S. G., & Detweiler, C. (2013). Reducing failure rates of robotic systems though inferred invariants monitoring. In 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (pp. 1899–1906). Tokyo, November 3–7, 2013.

  • Konrad, S. & Cheng, B. (2005). Real-time specification patterns. In ICSE 2005. Proceedings of 27th International Conference on Software Engineering (pp. 372–381).

  • Li, J., Xu, A. & Dudek, G. (2011). Graphical state space programming: A visual programming paradigm for robot task specification. In ICRA 2011 IEEE International Conference on Robotics and Automation (pp. 4846–4853). Shanghai, May 9–13, 2011.

  • Lorenzoli, D., Mariani, L. & Pezzé, M. (2008). Automatic generation of software behavioral models. In ICSE ’08, Proceedings of the 30th International Conference on Software Engineering (pp. 501–510).

  • Mendoza, J., Veloso, M. & Simmons, R. (2012). Motion interference detection in mobile robots. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 370–375).

  • Muller, J. & Sukhatme, G. (2014). Risk-aware trajectory generation with application to safe quadrotor landing. In 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014) (pp. 3642–3648).

  • Ore, J. P., Elbaum, S., Burgin, A., & Detweiler, C. (2015). Autonomous aerial water sampling. Journal of Field Robotics, 32(8), 1095–1113.

    Article  Google Scholar 

  • Perkins, J. H. & Ernst, M. D. (2004). Efficient incremental algorithms for dynamic detection of likely invariants. In Proceedings of the ACM SIGSOFT 12th Symposium on the Foundations of Software Engineering (pp. 23–32).

  • Pettersson, O. (2005). Execution monitoring in robotics: A survey. Robotics and Autonomous Systems, 53, 73–88.

    Article  Google Scholar 

  • Reynolds, P., Killian, C., Wiener, J. L., Mogul, J. C., Shah, M. A. & Vahdat, A. (2006). Pip: Detecting the unexpected in distributed systems. In NSDI’06 Proceedings of the 3rd conference on Networked Systems Design and Implementation (pp. 115–128).

  • Sagdeo, P., Athavale, V., Kowshik, S. & Vasudevan, S. (2011). Precis: Inferring invariants using program path guided clustering. In ASE ’11, 26th IEEE/ACM International Conference on Automated Software Engineering (ASE) (pp. 532–535).

  • Sattar, J. & Dudek, G. (2014). Reducing uncertainty in human-robot interaction: A cost analysis approach. In Experimental Robotics (pp. 81–95). Springer.

  • Sattar, J., Xu, A., Dudek, G. & Charette, G. (2010). Graphical state-space programmability as a natural interface for robotic control. In ICRA 2010, IEEE International Conference on Robotics and Automation (pp. 4609–4614). Anchorage, AK, May 3–7, 2010.

  • Steinbauer, G., Morth, M. & Wotawa, F. (2005). Real-time diagnosis and repair of faults of robot control software. In RoboCup (pp. 13–23).

  • Witten, I. H., & Frank, E. (2005). Data mining: Practical machine learning tools and techniques (2nd ed.). Burlington: Morgan Kaufmann.

    MATH  Google Scholar 

  • Yang, J., Evans, D., Bhardwaj, D., Bhat, T. & Das, M. (2006). Perracotta: Mining temporal API rules from imperfect traces. In ICSE (pp. 282–291).

Download references

Acknowledgments

This work was partially supported by Air Force Office of Scientific Research #FA9550-10-1-0406, United States Department of Agriculture National Institute of Food and Agriculture #2013-67021-20947, and National Science Foundation CSR-1217400. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of these agencies.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carrick Detweiler.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jiang, H., Elbaum, S. & Detweiler, C. Inferring and monitoring invariants in robotic systems. Auton Robot 41, 1027–1046 (2017). https://doi.org/10.1007/s10514-016-9576-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-016-9576-y

Keywords

Navigation