Meld: A declarative approach to programming ensembles

This paper presents Meld, a programming language for modular robots, i.e., for independently executing robots where inter-robot communication is limited to immediate neighbors. Meld is a declarative language, based on P2, a logic- programming language originally designed for programming overlay networks. By using logic programming, the code for an ensemble of robots can be written from a global perspective, as opposed to a large collection of independent robot views. This greatly simplifies the thought process needed for programming large ensembles. Initial experience shows that this also leads to a considerable reduction in code size and complexity. An initial implementation of Meld has been completed and has been used to demonstrate its effectiveness in the Claytronics simulator. Early results indicate that Meld programs are considerably more concise (more than 20times shorter) than programs written in C++, while running nearly as efficiently.

[1]  M. Welsh,et al.  The Regiment Macroprogramming System , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[2]  W. McCarthy Programmable matter , 2000, Nature.

[3]  Jacob Beal,et al.  Infrastructure for engineered emergence on sensor/actuator networks , 2006, IEEE Intelligent Systems.

[4]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[5]  David E. Culler,et al.  Hood: a neighborhood abstraction for sensor networks , 2004, MobiSys '04.

[6]  Radhika Nagpal Programmable self-assembly: constructing global shape using biologically-inspired local interactions and origami mathematics , 2001 .

[7]  Padmanabhan Pillai,et al.  A 3D Fax Machine based on Claytronics , 2006, 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[8]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[9]  Ion Stoica,et al.  Declarative networking: language, execution and optimization , 2006, SIGMOD Conference.