Skip to main content
Log in

A Suite of Tools for Debugging Distributed Autonomous Systems

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

This paper describes a set of tools that enables developers to log and analyze the run-time behavior of distributed control systems. A feature of the tools is that they can be applied to distributed systems. The logging tools enable developers to instrument C or C++ programs so that data indicating state changes can be logged automatically in a variety of formats. In particular, run-time data from distributed systems can be synchronized into a single relational database. Tools are also provided for visualizing the logged data. Analysis to verify correct program behavior is done using a new interval logic that is described in this paper. The logic enables system engineers to express temporal specifications for the autonomous control program that are then checked against the logged data. The data logging, visualization, and interval logic analysis tools are all fully implemented. Results are given from a NASA distributed autonomous control system application.

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.

Similar content being viewed by others

References

  1. R. Alur and T. Henzinger. “Real-time logic: Complexity and expressiveness,” in Proc. of 5th Symposium on Logic in Computer Science, Philadelphia, June 1990, pp. 401-413.

  2. W. Appelbe, J. Stasko, and E. Kraemer, “Applying program visualization techniques to aid parallel and distributed program development,” Technical Report TR GIT-GVU-91-08, Georgia Institute of Technology, 1991.

  3. R.P. Bonasso, R.J. Firby, E. Gat, D. Kortenkamp, D.P. Miller, and M. Slack, “Experiences with an architecture for intelligent, reactive agents,” Journal of Experimental and Theoretical Artificial Intelligence, Vol. 9, 1997.

  4. R.P. Bonasso, D. Kortenkamp, and C. Thronesbery, “Intelligent control of a water recovery system,” AI Magazine, Vol. 24, No. 1, Spring 2003.

  5. H.Y. Chen, J.J.P. Tsai, and Y. Bi, “An event-based real-time logic for specify the behavior and timing properties of real-time systems,” in Proc. of International Conference on Tools for Artificial Intelligence, San Jose, California, 1991, pp. 210-219.

  6. A.E. Emerson and E.M. Clarke, “Using branching time logic to synthesize synchronization skeletons,” Science of Computer Programming, 1982.

  7. D. Gabbay, A. Pnueli, S. Shelah, and J. Stavi. “On the temporal analysis of fairness,” in Proc. of 7th Symposium on Principles of Programming Languages, 1980.

  8. D. Harel, H. Lachover, A. Naamad, and A. Pnueli, “Explicit clock temporal logic,” in Proc. of 5th Symposium on Logic in Computer Science, Philadelphia, June 1990, pp. 401-413.

  9. M. Heath and J. Etheridge, “Visualizing the performance of parallel programs,” IEEE Software, Vol. 8, 1991.

  10. F. Jahanian and A.K. Mok, “Safety analysis of timing properties in real-time systems,” IEEE Transactions on Software Engineering, Vol. 12, 1986.

  11. F. Jahanian, and A.K. Mok, “A graph-theorem approach for timing analysis and its implementation,” IEEE Transactions on Computers, Vol. C-36, No. 8, pp. 961–975, 1987.

    Google Scholar 

  12. S. Kleiman, D. Shah, and B. Smaalders, Programming with Threads. SunSoft Press, Mountain View CA, 1996.

    Google Scholar 

  13. D. Kortenkamp, T. Milam, R. Simmons, and J.L. Fernández, “Collecting and analyzing data from distributed control programs,” in Proc. Runtime Verification, Paris, France, 2001.

  14. R. Koymans, “Specifying real-time properties with metric temporal logic,” Journal of Real-Time Systems, 1990.

  15. T. Lehr, D. Black, Z. Segall, and D. Vrsalovic, “MKM: Mach kernel monitor description, examples, and measurements,” Technical Report TR CMU-CS-89-131, Carnegie Mellon University, 1989.

  16. D. Mills, “Simple Network Time Protocol (SNTP) version 4 for IPV4 and OIS,” 1996 (http://www.faqs.org/rfcs/rfc2030.html).

  17. B. Moszkowski, “Some very compositional temporal properties,” in E.-R. Olderog (Ed.), Programming Concepts, Methods and Calculi, Elsevier Science B.V., 1994, pp. 307-326.

  18. N. Muscetttola, P.P. Nayak, B. Pell, and B.C. Williams, “Remote agent: To boldly go where no AI system has gone before,” Artificial Intelligence, Vol. 103, No. 1, pp. 5–47, 1998.

    Google Scholar 

  19. D.J. Musliner and K.D. Krebsbach, “Applying a procedural and reactive approach to abnormal situations in refinery control,” in Proc. of Conference on Foundations of Computer-Aided Process Operations (FOCAPO), Snowbird, Utah, July 1998.

  20. R.R. Razouk, and M.M. Gorlik, “A real-time interval logic for reasoning about executions of real-time programs,” SIGSOFT SE Notes, Vol. 114, 1989.

  21. R. Schneider, “Real-time data monitoring and visualization,” Technical Report White Paper, available at www.rti.com, Real-Time Innovations Inc., 1995.

  22. R. Simmons. “An architecture for coordinating planning, sensing and action,” in Proc. of Workshop on Innovative Approaches to Planning, Scheduling and Control, 1990.

  23. R. Simmons, “Structured control for autonomous robots,” IEEE Transactions on Robotics and Automation, Vol. 10, 1994.

  24. R. Simmons and G. Whelan, “Visualization tools for validating software of autonomous spacecraft,” in Proc. of International Symposium on Artificial Intelligence and Robotics and Automation for Space, 1997.

  25. R. Simmons, S. Singh, D. Hershberger, J. Ramos, and T. Smith. “First results in the coordination of heterogeneous robots for large-scale assembly,” in Proc. of International Symposium on Experimental Robotics, Honolulu Hawaii, Dec. 2000.

  26. J. Tsai and S. Yang, Monitoring and Debugging of Distributed, Real-Time Systems. IEEE Computer Society Press, Los Alamitos, CA, 1995.

    Google Scholar 

  27. J. Tsai, Y. Bi, S. Yang, and R. Smith, Distributed Real-Time Systems: Monitoring, Visualization and Analysis. Wiley & Sons, New York, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kortenkamp, D., Simmons, R., Milam, T. et al. A Suite of Tools for Debugging Distributed Autonomous Systems. Formal Methods in System Design 24, 157–188 (2004). https://doi.org/10.1023/B:FORM.0000017720.64153.57

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:FORM.0000017720.64153.57

Navigation