Modular Programming Techniques for Distributed Computing Tasks

Abstract : This paper describes design patterns used in developing a software platform for mobile robot teams engaged in distributed sensing and exploration tasks. The goal of the system presented is to minimize redundancy throughout the development and execution pipelines by exploring the application of a strong type system to both the collaborative development process and runtime behaviors of mobile sensor platforms. The solution we have implemented addresses both sides of this equation simultaneously by providing a system for self-describing inputs and outputs that facilitates code reuse among human developers and autonomous agents. This well-defined modularity allows us to treat executable code libraries as atomic elements that can be automatically shared across the network. In this fashion, we improve the performance of our development team by addressing software framework usability and the performance and capabilities of sensor networks engaged in distributed data processing. This framework adds robust design templates and greater communication flexibility onto a component system similar to TinyOS and NesC while avoiding the development effort and overhead required to field a full-fledged web services or Jini-based infrastructure. The software platform described herein has been used to field collaborative teams of UGVs and UAVs in exploration and monitoring scenarios.

[1]  Jim Waldo,et al.  The Jini architecture for network-centric computing , 1999, CACM.

[2]  Kristofer S. J. Pister,et al.  CotsBots: an off-the-shelf platform for distributed robotics , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[3]  David E. Culler,et al.  The Emergence of Networking Abstractions and Techniques in TinyOS , 2004, NSDI.

[4]  Douglas B. Moran,et al.  The Open Agent Architecture: A Framework for Building Distributed Software Systems , 1999, Appl. Artif. Intell..

[5]  Vijay Kumar,et al.  A Framework and Architecture for Multi-Robot Coordination , 2000, ISER.

[6]  Wei Hong,et al.  The design of an acquisitional query processor for sensor networks , 2003, SIGMOD '03.

[7]  Dennis Gannon,et al.  A component based services architecture for building distributed applications , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[8]  Ronald C. Arkin,et al.  Multiagent Mission Specification and Execution , 1997, Auton. Robots.

[9]  V. Kumar,et al.  Ad hoc networks for localization and control , 2002, Proceedings of the 41st IEEE Conference on Decision and Control, 2002..

[10]  Ian T. Foster,et al.  The Anatomy of the Grid: Enabling Scalable Virtual Organizations , 2001, Int. J. High Perform. Comput. Appl..

[11]  Vijay Kumar,et al.  A Framework and Architecture for Multirobot Coordination , 2000, International Symposium on Experimental Robotics.

[12]  Anthony Cowley,et al.  Distributed sensor databases for multi-robot teams , 2004, IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004.

[13]  Luiz Chaimowicz,et al.  ROCI: a distributed framework for multi-robot perception and control , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[14]  Wei Hong,et al.  Beyond Average: Toward Sophisticated Sensing with Queries , 2003, IPSN.