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:
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.
Infrastructure for an Amorphous Environment
Models of Physics, Biology
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.