Carnegie Mellon University Website Home Page
 

Programming Claytronics with Locally Distributed Predicates (LDP)

Locally Distributed Predicates (LDP) approaches the distributed programming problem using pattern-matching techniques. LDP provides programmers the ability to specify distributed state configurations, based on combinations of the state found on connected subgroups of catoms. The LDP runtime automatically detects occurrences of these distributed configurations, and triggers user-specified actions in response to the detection event.

LDP also allows for the expression of distributed event sequences (through the use of automated history and temporal operators), as well as the expression of particular shapes (through topological restrictions). These facilities, combined with an array of mathematical and logical operators, allow programmers to express a wide variety of distributed conditions. As with Meld, LDP produces dramatically shorter code than traditional high-level languages (C++, Java, etc.).

LDP is descended from work on distributed debugging, and as such its strengths lie in the ability to efficiently detect conditions on variably-sized groups of modules, interface easily with existing low-level code, and easily express a large numbers of common distributed programming idioms. LDP has been used to implement several motion planning algorithms, as well as a variety of low-level utilities such as gradient fields and distributed aggregation.


Publications and Documents



Programming Modular Robots with Locally Distributed Predicates,
    Michael De Rosa, Seth Copen Goldstein, Peter Lee, Jason D. Campbell, and Padmanabhan Pillai. In Proceedings of the IEEE International Conference on Robotics and Automation ICRA '08, 2008.
Generalizing Metamodules to Simplify Planning in Modular Robotic Systems,
    Daniel Dewey, Siddhartha S. Srinivasa, Michael P. Ashley-Rollman, Michael De Rosa, Padmanabhan Pillai, Todd C. Mowry, Jason D. Campbell, and Seth Copen Goldstein. In Proceedings of IEEE/RSJ 2008 International Conference on Intelligent Robots and Systems IROS '08, September, 2008.
Distributed Watchpoints: Debugging Large Modular Robotic Systems,
    Michael De Rosa, Seth Copen Goldstein, Peter Lee, Jason D. Campbell, and Padmanabhan Pillai. International Journal of Robotics Research, 27(3),March, 2008. Also appeared as Distributed Watchpoints: Debugging Large Multi-Robot Systems, (icra07).
Declarative Programming for Modular Robots,
    Michael P. Ashley-Rollman, Michael De Rosa, Siddhartha S. Srinivasa, Padmanabhan Pillai, Seth Copen Goldstein, and Jason D. Campbell. In Workshop on Self-Reconfigurable Robots/Systems and Applications at IROS '07, October, 2007.
Distributed Watchpoints: Debugging Large Multi-Robot Systems,
    Michael De Rosa, Seth Copen Goldstein, Peter Lee, Jason D. Campbell, Padmanabhan Pillai, and Todd C. Mowry. In Proceedings of the IEEE International Conference on Robotics and Automation ICRA '07, April, 2007.
Distributed Watchpoints: Debugging Very Large Ensembles of Robots,
    Michael De Rosa, Seth Copen Goldstein, Peter Lee, Jason D. Campbell, and Padmanabhan Pillai. In Robotics: Science and Systems Workshop on Self-Reconfigurable Modular Robots, August, 2006.