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:In other words, Self-assembling machines. Anyone interested in safety-critical systems and software, like yours truly, is naturally concerned with the issues of self-repair and introspection: how much a system can know about itself. But we don't usually take it to the next level: how systems self-organise from scratch.
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.
Monday, 16 May 2005
Thanks to reader Laserlight, here's a little item from MIT with great potential significance :