The Challenge of Amorphous Computing • To develop engineering principles and programming techniques for directing the behavior of systems composed of billions of potentially unreliable and inaccurately manufactured parts • To exploit such systems for computing and control applications
Why now? - the Challenge performance/cost feature size
Why now? - The opportunity • recent astonishing developments in molecular biology and in molecular-scale fabrication • kernel technologies to build or grow vast numbers of identical units at almost no cost • but we cannot program it!
How can we program amorphous stuff? • organisms are composed of myriad cells that cooperate to achieve common goals • biology provides organizational metaphors for new engineering principles • examples from developmental biology illustrate this point
A botanical metaphor We organize a process in terms of “growing points.” They make structures that exhibit “tropisms” toward particular “chemical gradients.” The growing points may lay down materials. Materials may secrete pheromones that attract or repel other growing points. Growing points may split, die off, or join. Support for this abstraction may be programmed as a uniform state machine in each computational particle.
Biologically-inspired engineering • not biomimetics • behavior is “correct” if it is acceptable • multiple representations and redundant means of achieving goals • defects at one level can be compensated for by changes at another level • continuity of representations
A new interdisciplinary community Biology chemical engineering MEMS computation control
Engineering-inspired biology • Interfacing to the chemical world • Molecular-scale manufacturing • Microbial robotics • Minimal organisms
Computation is free • biological systems employ massive redundant computation • “wasteful” computation can be used to decrease the need for • strength of materials • precision of manufacture • reliability of communication
Emergent behavior Principled design Spectrum of specification • degrees of specification • of outcome • of design • of manufacturing process
Diversity and redundancy • in representations • in methods • in goals
END • extras after here
Some stuff that’s missing • Militarily relevant applications • exciting applications • compelling example • specific challenges • metrics • what it takes to do it • technical approaches • expected outcome
Amorphous computing is • Not emergent behavior • Not “pretty pictures” • It is engineering of mechanisms with prespecified, well-defined behavior
Robust systems • Fault-tolerance can be emergent • but can also be a result of designed behavior • choice of levels for modularity and redundancy • continuity of representations • unary is better than binary • this is the crucial feature of analog representations • noise may be OK • link to sensors and effectors
A scientific and technological effort to identify • methods for obtaining coherent behavior from the cooperation of large numbers of unreliable parts that are interconnected in unknown, irregular, and time-varying ways • techniques for instructing myriad programmable entities to cooperate to achieve particular goals • engineering principles and languages that can be used to observe, control, organize, and exploit the behavior of programmable multitudes