Programming an Amorphous Computational Medium

Amorphous computing considers the problem of controlling millions of spatially distributed unreliable devices which communicate only with nearby neighbors. To program such a system, we need a high-level description language for desired global behaviors, and a system to compile such descriptions into locally executing code which robustly creates and maintains the desired global behavior. I survey existing amorphous computing primitives and give desiderata for a language describing computation on an amorphous computer. I then bring these together in Amorphous Medium Language, which computes on an amorphous computer as though it were a space-filling computational medium.

[1]  Ryan Newton,et al.  Region streams: functional macroprogramming for sensor networks , 2004, DMSN '04.

[2]  Attila Kondacs Biologically-inspired Self-Assembly of 2D Shapes, Using Global-to-local Compilation , 2003, IJCAI 2003.

[3]  Joseph M. Kahn,et al.  Wireless Communications for Smart Dust , 1998 .

[4]  Jacob Beal Persistent Nodes for Reliable Memory in Geographically Local Networks , 2003 .

[5]  Deborah Estrin,et al.  GHT: a geographic hash table for data-centric storage , 2002, WSNA '02.

[6]  David R. Karger,et al.  Analysis of the evolution of peer-to-peer systems , 2002, PODC '02.

[7]  Gerald Jay Sussman,et al.  Cellular Gate Technology , 1998 .

[8]  Radhika Nagpal,et al.  Paradigms for Structure in an Amorphous Computer , 1997 .

[9]  Ron Weiss,et al.  Engineered Communications for Microbial Robotics , 2000, DNA Computing.

[10]  Nancy A. Lynch,et al.  Rambo II: rapidly reconfigurable atomic memory for dynamic networks , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[11]  Carl Hewitt,et al.  The incremental garbage collection of processes , 1977 .

[12]  David E. Culler,et al.  Supporting aggregate queries over ad-hoc wireless sensor networks , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[13]  Ron Weiss,et al.  The Device Physics of Cellular Logic Gates , 2002 .

[14]  Frédéric Gruau,et al.  The Blob: A Basic Topological Concept for "Hardware-Free" Distributed Computation , 2002, UMC.

[15]  Jacob Beal A Robust Amorphous Hierarchy from Persistent Nodes , 2003 .

[16]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[17]  Daniel N. Coore Establishing a Coordinate System on an Amorphous Computer , 1998 .

[18]  Chris Hanson,et al.  Amorphous computing , 2000, Commun. ACM.

[19]  Alex A. Shvartsmanz Rambo: A Reconfigurable Atomic Memory Service for Dynamic Networks , 2002 .

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

[21]  Nancy A. Lynch,et al.  GeoQuorums: implementing atomic memory in mobile ad hoc networks , 2003, Distributed Computing.

[22]  Nancy A. Lynch,et al.  Virtual Mobile Nodes for Mobile Ad Hoc Networks , 2004, DISC.

[23]  Robert Morris,et al.  MIT Roofnet Implementation , 2004 .

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

[25]  V. Michael Bove,et al.  Programming a paintable computer , 2002 .

[26]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[27]  Jacob Beal,et al.  RamboNodes for the Metropolitan Ad Hoc Network , 2003 .

[28]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[29]  Daniel Coore,et al.  Botanical computing: a developmental approach to generating interconnect topologies on an amorphous computer , 1999 .