A Suite of Tools for Debugging Distributed Autonomous Systems

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.

[1]  Ben C. Moszkowski Some Very Compositional Temporal Properties , 1994, PROCOMET.

[2]  Erann Gat,et al.  Experiences with an architecture for intelligent, reactive agents , 1997, J. Exp. Theor. Artif. Intell..

[3]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[4]  Michael T. Heath,et al.  Visualizing the performance of parallel programs , 1991, IEEE Software.

[5]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

[6]  David Kortenkamp,et al.  Intelligent Control of a Water-Recovery System: Three Years in the Trenches , 2003, AI Mag..

[7]  Michael M. Gorlick,et al.  Real-time interval logic for reasoning about executions of real-time programs , 1989 .

[8]  Reid G. Simmons,et al.  Collecting and Analyzing Data from Distributed Control Programs , 2001, Electron. Notes Theor. Comput. Sci..

[9]  Reid G. Simmons,et al.  First Results in the Coordination of Heterogeneous Robots for Large-Scale Assembly , 2000, ISER.

[10]  Reid G. Simmons,et al.  Structured control for autonomous robots , 1994, IEEE Trans. Robotics Autom..

[11]  蔡進發,et al.  Monitoring and Debugging Distributed Real-Time Systems , 1993 .

[12]  Amir Pnueli,et al.  Explicit clock temporal logic , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[13]  Aloysius K. Mok,et al.  A Graph-Theoretic Approach for Timing Analysis and its Implementation , 1987, IEEE Transactions on Computers.

[14]  Theodore F. Lehr MKM : Mach Kernel Monitor description, examples and measurements , 1989 .

[15]  Reid Simmons,et al.  Visualization Tools for Validating Software of Autonomous Spacecraft , 1999 .

[16]  Eileen Kraemer,et al.  Applying Program Visualization Techniques to Aid Parallel and Distributed Program Development , 1991 .

[17]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[18]  P. Pandurang Nayak,et al.  Remote Agent: To Boldly Go Where No AI System Has Gone Before , 1998, Artif. Intell..

[19]  E. A Emerson,et al.  Using Branching Time Logic to Synthesize Synchronization Skeletons , 1982 .

[20]  David L. Mills,et al.  Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI , 1996, RFC.

[21]  Jeffrey J. P. Tsai,et al.  An event-based real-time logic to specify the behavior and timing properties of real-time systems , 1991, [Proceedings] Third International Conference on Tools for Artificial Intelligence - TAI 91.

[22]  Jeffrey J. P. Tsai,et al.  Distributed Real-Time Systems: Monitoring, Visualization, Debugging, and Analysis , 1996 .

[23]  Devang Shah,et al.  Programming with threads , 1996 .