Title: Goal: Programming Computational Matter
1GoalProgramming Computational Matter
- Develop engineering principles and programming
techniques for directing the behavior of systems
composed of myriad potentially unreliable and
inaccurately manufactured parts - Exploit such systems for implementing and
managing sensors and effectors
2Outcomes
- Coordinated action from massive assemblies of
sensors, actuators, and computation - Good collective behavior from bad parts
- Novel materials that enhance precision and
strength, using computation - Self-configuring mechanical systems
- ?? Biology ??
3Example
- signal processing surfaces
4Example
- Self-configuring mechanical system
5Example
- Something using biology/chemistry?
6Why now? - The opportunity
- Ultra-scale silicon
- molecular electronics
- biological subtrates for computing
- kernel technologies to build or grow vast numbers
of identical units at almost no cost - but we
dont know how to program them!
7Characteristics of Computational Matter
- too many elements to be individually programmed,
or even to be named. - variable interconnect, unknown a priori, possibly
time varying - imperfect elements and interconnect
- dead or sick on arrival
- flakey (perhaps gives the wrong result)
8Characteristics - II
- may be heterogeneous or homogeneous
- may include sensors or effectors
- communication mostly local
- but there can be wormholes
- may need to discover the topology
9Hard Problems
- how to specify desired global behavior using only
local interactions - how to specify the agents that must act without
the assignment of names - how to enforce acceptable global behavior in the
face of unreliable parts and interconnect - how to elicit prescribed geometric behavior
using only locally obtained topological
information
10Approaches to the hard problems
- how to specify desired global behavior using only
local interactions - build on organizational metaphors from physics
that exploit the spatial locality of the real
world - build on organizational metaphors from biology
that exploit the massive redundancy available in
the real world
11Example Growing a complex pattern like a plant
12Approaches to the hard problems
- how to specify the agents that must act without
the assignment of names - Use boolean combinations of markers and counters
to select agents intensionally rather than
extensionally. - Massive numbers of elements make this an
effective strategy.
13Approaches to the hard problems
- how to enforce acceptable global behavior in the
face of unreliable parts and interconnect - allow late binding of
- interconnect topology
- available resources
- build on organizational metaphors from biology
that exploit the massive redundancy available in
the real world
14Approaches to the hard problems
- how to elicit prescribed geometric behavior
using only locally obtained topological
information - Clues about the geometry can be extracted using
constraints that come from the physical embedding
of the system in the real world.
15Example
- The number of computational elements within a
particular hop-count radius gives an estimate of
the local scalar curvature - picture here
16Benefitsto be wordsmithed
- Cheap insanely big computers
- radically customizable manufacturing
- cheap, sophisticated, massive sensor applications
- spectacularly enhanced interfaces to the
biological and chemical worlds - new communities of researchers across computing,
biology, and chemistry
17Milestones- to be fixed
- Note need to build stuff in conventional
technology, short term goal - build interfaces between the different subtrates
18- Examples
- signal-proc,
- self-configuring mech sys
- biology example
- Milestones
- infrastructure
- links to application
19Transition
20END
- Stuff after here is extra
21Hard Problems
- Programming and design
- Naming in large dynamic spaces
- application design
- Discovering metaphors appropriate to a particular
substrate - specification
- compilation
22Hard Problems
- Imposing reliability
- Determining the relation between system
reliability and the error characteristics of the
components - Imposing structure
- performance predicting and performance debugging
- infrastructure development
23Hard Problems
- Stratification of the design and understanding
sensitivity to substrate characteristics, how
changes at one level effect changes at other
levels
24Approaches to the hard problems
25Milestones
- 3-year goals identifying metaphors for
particular substrates - tying to properties of
substrates differentiates this program - 5-years behavior of metaphors wrt properties of
substrates
26Goal
- To effectively program huge systems with rapidly
variable properties. - Computational manifolds
- Systems composed of billions of parts, changing
dynamically, too many to name, focus on
communications problem. - What happens 20 or 30 years from now when there
are zillions of nodes. What kind of naming and
addressing schemes could we use? - What infrastructure mechanisms to allow
programming these very large sets? - Naming is one of the problems that need to be
solved?
27Goal
- To develop engineering principles and programming
techniques for directing the behavior of systems
composed of myriad potentially unreliable and
inaccurately manufactured parts - To exploit such systems for computing, sensing,
and control applications
28Why now? - the Challenge
performance/cost
feature size
29How 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
30A 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.
31Biologically-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
32A new interdisciplinary community
Biology chemical engineering MEMS computation cont
rol
33Engineering-inspired biology
- Interfacing to the chemical world
- Molecular-scale manufacturing
- Microbial robotics
- Minimal organisms
34Computation 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
35Spectrum of specification
- degrees of specification
- of outcome
- of design
- of manufacturing process
36Diversity and redundancy
- in representations
- in methods
- in goals
37Assembly of information-rich molecular-scale
systems
38Some stuff thats missing
- Militarily relevant applications
- exciting applications
- compelling example
- specific challenges
- metrics
- what it takes to do it
- technical approaches
- expected outcome
39Amorphous computing is
- Not emergent behavior
- Not pretty pictures
- It is engineering of mechanisms with
prespecified, well-defined behavior
40Robust 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
41A 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
42- Not everything changes at the same time scale
- some things change slowly
43Another goal
- Applications of active materials to sensors.
- Specific example sensor arrays.
44Goal
- The engineering basis for designing effective
organizations for a given computational
substrate. - Variability, defect rate, all inputs to that.
45- 3-year goals identifying metaphors for
particular substrates - tying to properties of
subtrates differentiates this program - 5-years behavior of metaphors wrt properties of
substrates