New! MIT 6.978: Biologically Motivated Programming Technology for Robust Systems
(Fall 2002)

This is the Amorphous Computing HomePage.

A colony of cells cooperates to form a multicellular organism under the direction of a genetic program shared by the members of the colony. A swarm of bees cooperates to construct a hive. Humans group together to build towns, cities, and nations. These examples raise fundamental questions for the organization of computing systems:

  • How do we obtain coherent behavior from the cooperation of large numbers of unreliable parts that are interconnected in unknown, irregular, and time-varying ways?
  • What are the methods for instructing myriads of programmable entities to cooperate to achieve particular goals?

These questions have been recognized as fundamental for generations. Now is an opportune time to tackle the engineering of emergent order: to identify the engineering principles and languages that can be used to observe, control, organize, and exploit the behavior of programmable multitudes.

We call this effort the study of amorphous computing.

The objective of this research is to create the system-architectural, algorithmic, and technological foundations for exploiting programmable materials. These are materials that incorporate vast numbers of programmable elements that react to each other and to their environment. Such materials can be fabricated economically, provided that the computing elements are amassed in bulk without arranging for precision interconnect and testing. In order to exploit programmable materials we must identify engineering principles for organizing and instructing myriad programmable entities to cooperate to achieve pre-established goals, even though the individual entities are unreliable and interconnected in unknown, irregular, and time-varying ways.

Us in the NEWS

Research and Demos

Overviews of the research can be found in the article
Amorphous Computing (Communications of the ACM, May 2000), our AI Lab Abstracts (2001), and the DARPA Presentation on Amorphous Computing slides (April 1998). The following pages discuss the different projects in more detail and provide demos for several of the projects.

Programming Paradigms

Infrastructure for an Amorphous Environment

Synthetic Biology

Models of Physics, Biology

Related Sites

HLSIM - the High Level Simulator

HLSIM is a simulator for an ensemble of `gunk' processors which allows programs to be written in (nearly) Scheme. The gunk processor is distinguished by having no input or output other than a short-range radio-like communications device, and possibly some local physical sensors and actuators. The need for HLSIM arises out of the desire to simulate thousands of identically-programmed processors running in parallel at a fine grained level of interleaving, without having to worry about the details of the interleaving.

back to Project MAC HomeBack to Project MAC Home Page