Abstract
We address how to write programs for distributed computing systems in which the network topology can change dynamically. Examples of such systems, which we call ensembles, include programmable sensor networks (where the network topology can change due to failures in the nodes or links) and modular robotics systems (whose physical configuration can be rearranged under program control). We extend Meld [1], a logic programming language that allows an ensemble to be viewed as a single computing system. In addition to proving some key properties of the language, we have also implemented a complete compiler for Meld. It generates code for TinyOS [14] and for a Claytronics simulator [12]. We have successfully written correct, efficient, and complex programs for ensembles containing over one million nodes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ashley-Rollman, M.P., Goldstein, S.C., Lee, P., Mowry, T.C., Pillai, P.: Meld: A declarative approach to programming ensembles. In: Proc. of the IEEE Int’l Conf. on Intelligent Robots and Systems (October 2007)
Bachrach, J., McLurkin, J., Grue, A.: Protoswarm: A language for programming multi-robot systems using the amorphous medium abstraction. In: Int’l Conf. in Autonomous Agents and Multiagent Systems (AAMAS) (May 2008)
Beal, J., Bachrach, J.: Infrastructure for engineered emergence on sensor/actuator networks. IEEE Intelligent Systems 21(2), 10–19 (2006)
Ceri, S., Gottlob, G., Tanca, L.: What you always wanted to know about Datalog (and never dared to ask). IEEE Transactions on Knowledge and Data Engineering 1(1), 146–166 (1989)
Chu, D., Tavakoli, A., Popa, L., Hellerstein, J.: Entirely declarative sensor network systems (2006)
Culler, D., Estrin, D., Srivastava, M.: Guest editors’ introduction: Overview of sensor networks. Computer 37(8), 41–49 (2004)
De Rosa, M., Goldstein, S.C., Lee, P., Campbell, J.D., Pillai, P.: Programming modular robots with locally distributed predicates. In: Proc. of the IEEE Int’l Conf. on Robotics and Automation (2008)
Dewey, D., Srinivasa, S., Ashley-Rollman, M.P., De Rosa, M., Pillai, P., Mowry, T.C., Campbell, J.D., Goldstein, S.C.: Generalizing metamodules to simplify planning in modular robotic systems. In: Proc. of Int’l Conf. on Intelligent Robots and Systems, Nice, France (September 2008)
Dewey, D., Srinivasa, S., Ashley-Rollman, M.P., De Rosa, M., Pillai, P., Mowry, T., Campbell, J.D., Goldstein, S.C.: Generalizing metamodules to simplify planning in modular robotic systems. Technical Report CMU-CS-08-139, Carnegie Mellon University (2008)
Funiak, S., Ashley-Rollman, M.P., Pillai, P., Campbell, J.D., Goldstein, S.C.: Distributed localization of modular robot ensembles. In: Proc. of the 3rd Robotics Science and Systems (2008)
Goldstein, S., Campbell, J., Mowry, T.: Programmable matter. IEEE Computer (June 2005)
Intel Corporation and Carnegie Mellon University. Dprsim: The dynamic physical rendering simulator (2006), http://www.pittsburgh.intel-research.net/dprweb/
Kothari, N., Gummadi, R., Millstein, T., Govindan, R.: Reliable and efficient programming abstractions for wireless sensor networks. In: PLDI 2007: Proc. of the 2007 ACM SIGPLAN conference on Programming language design and implementation, pp. 200–210. ACM, New York (2007)
Levis, P.: TinyOS Programming. UC - Berkeley (2006)
Loo, B.T., Condie, T., Garofalakis, M., Gay, D.E., Hellerstein, J.M., Maniatis, P., Ramakrishnan, R., Roscoe, T., Stoica, I.: Declarative networking: language, execution and optimization. In: Proc. of the 2006 ACM SIGMOD int’l conf. on Management of data, pp. 97–108. ACM Press, New York (2006)
Madden, S.R., Franklin, M.J., Hellerstein, J.M., Hong, W.: Tinydb: an acquisitional query processing system for sensor networks. ACM Trans. Database Syst. 30(1), 122–173 (2005)
Nagpal, R.: Programmable Self-Assembly: Constructing Global Shape Using Biologically-Inspired Local Interactions and Origami Mathematics. Ph.D thesis, MIT, MIT AI Lab. Technical Memo 2001-008 (2001)
Newton, R., Morrisett, G., Welsh, M.: The Regiment macroprogramming system. In: Proc. of the Int’l conf. on Information Processing in Sensor Networks (IPSN 2007) (April 2007)
Pfenning, F., Schürmann, C.: System description: Twelf - a meta-logical framework for deductive systems. In: Proc. of Int’l Conf. on Automated Deduction, pp. 202–206 (1999)
Whitehouse, K., Sharp, C., Brewer, E., Culler, D.: Hood: a neighborhood abstraction for sensor networks. In: Proc. of the 2nd int’l conf. on Mobile systems, applications, and services, pp. 99–110. ACM Press, New York (2004)
Yim, M., Shen, W.-M., Salemi, B., Rus, D., Moll, M., Lipson, H., Klavins, E., Chirikjian, G.S.: Modular self-reconfigurable robot systems [grand challenges of robotics]. IEEE Robotics and Automation Magazine 14(1), 43–52 (2007)
Zaniolo, C., Arni, N., Ong, K.: Negation and aggregates in recursive rules: the LDL++ approach. In: Ceri, S., Tsur, S., Tanaka, K. (eds.) DOOD 1993. LNCS, vol. 760, pp. 204–221. Springer, Heidelberg (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ashley-Rollman, M.P., Lee, P., Goldstein, S.C., Pillai, P., Campbell, J.D. (2009). A Language for Large Ensembles of Independently Executing Nodes. In: Hill, P.M., Warren, D.S. (eds) Logic Programming. ICLP 2009. Lecture Notes in Computer Science, vol 5649. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02846-5_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-02846-5_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02845-8
Online ISBN: 978-3-642-02846-5
eBook Packages: Computer ScienceComputer Science (R0)