Harold Abelson, Thomas F. Knight, Gerald Jay Sussman, and friends
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. But this paper argues that 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. We call this effort the study of amorphous computing.
Amorphous computing is inspired by the recent astonishing developments in molecular biology and in microfabrication. Each of these is the basis of a kernel technology that makes it possible to build or grow huge numbers of almost-identical information-processing units, with integral actuators and sensors (e.g. MEMS), at almost no cost. Microelectronic components are so inexpensive that we can imagine mixing them into materials that are produced in bulk, such as paints, gels, and concrete. Such ``smart materials'' will be used in structural elements and in surface coatings, such as skins or paints.
Engineers will use smart materials to reduce the need for strength and precision in mechanical and electrical apparatus, through the application of computation. It will be possible to coat a building or a bridge with ``smart paint'' that reports on traffic loads and wind loads, that monitors the integrity of the structure, that resists buckling, or even heals small cracks by shifting material around. It will be possible to make a clean room with ``active skin,'' lined with cilia, that can push dirt and dust into a corner for removal. It will be possible to make a wall that can sense vibration (and move slightly on its own) to monitor for intrusion or to actively cancel noise.
Because amorphous computing will provide means to amass and control computing agents at prices comparable to the raw material costs, we expect to invent ways to use amorphous systems to attack previously impossible simulation problems. Because amorphous computing gives us the means to coordinate information from vast numbers of distributed sensors and to use it to control equally vast numbers of distributed effectors, we can use amorphous computing to build systems that have unprecedented responsiveness to their environment.
To exploit the potential of these technologies will require new insights into the programming and organization of systems that have so many parts that they cannot even be named. There are principles from physics, mathematics, and biology that we can bring to bear. For example, to report a crack in a bridge a smart-paint coating must name locations on the bridge. We can generate solutions of differential equations to construct coordinate patches, and combine these to build a description of the global geometry of the bridge. This bootstrap process determines the geometry of the smart paint, even though we started with no a priori knowledge of the actual positions or orientations of communicating neighbors beyond the assumption of local communication.