a method of forming self-healing patterns on amorphous computing agents a preliminary proposal
TRANSCRIPT
A Method of Forming Self-Healing Patterns on Amorphous Computing
Agents
A Preliminary Proposal
The Amorphous Computing Group
Amorphous Computing Many identical “agents” Mass produced – Not reliable and no global
clocks or beacons. “Throw at a problem.” Connected in changing, unpredictable ways. Goal: Coherent, robust behavior to achieve
jobs
Motivation
Researchers’ inspiration from living thingsExamples of life from engineering standpoint: Bees build a hive Wolves hunt in packs People build civilizationsMost impressive: Cells, roughly identically programmed, create
us
Why Now?
Abundance of Microelectronic devices and MEMS
Cilia clean rooms Smart paint Sound cancellation
Why Now?
Advances in biotechnology We are able to “reprogram” genetic
information of cells Can grow quickly and cheaply Don’t have concepts to allow us to engineer
how life does Yet good processors, mobile, sensing.
Research at MIT
Biology: Morphogenesis and self assembly as inspiration.
- Use insights to understand biological phenomena
Sensor Networks: Amorphous computers. More from a CS perspective.
Specific Project Area
Radhika Nagpal, Daniel Coore: Complex Pattern formation.
Fixed agents Made of lines and endpoints.
Importance Differentiating function Determine distance and orientation
Healing Lines
Lauren Clement – Self-healing lines Agents in line die – reform line Nagpal deals only with points and lines
Ex. Of How to Build a Line
Fixed, randomly placed agents. Build a line connecting two given points Idea of gradient to tell distance Constant local communciation:
- Random ID
- Successor ID
- Line?
- Gradient value
Ex. How to Build a Line
Endpoint A initiates gradient Each agent determines max gradient value,
stores “successor ID” Gradient reaches Endpoint B, line back
propagates.
Successor
Grad = 35
Grad = 41
Self-Healing Method 1
Endpoint A never stops outputting gradient Gradients and successor ID’s expire Line redrawn over and over Advantages: Can handle multiple gaps, good
for large gaps Disadvantages: Redraw whole line when gap
Self-Healing Method 2
Only send gradient value once and then forget
When break detected, successor listens, predecessor initiates gradient.
Advantages: Good for small holes Disadvantages: Cannot handle multiple
breaks with one gradient
My Project
Extend Clement’s algorithms to deal with multiple lines.– Requires sending, receiving, storing multiple
gradients
Way to choose method
- Gradient to tell size of gap. Integrate into Nagpal’s compiler.
And if possible
Enable Nagpal’s compiler to output to MICA Motes 4MHz Processor, wireless radio communication,
sensors, batteries, TinyOS
Technical Risks
Able to get number of motes (>= 50)
- $, production ability Able to drive LED’s on motes. Able to get Nagpal’s algorithm to program
motes (too much work?)
Milestones
Find out detailed specifications for MICA Motes. March 2003. Understand algorithms and existing code for Nagpal’s compiler
and Clement’s self-healing methods. April 2003. Full design with a design document. July 2003. Obtain motes. August 2003. Have first draft of code ready for testing. October 2003. Have final version of code working: December 2003. Have the motes tested running the programs produced by the
compiler: February 2003. Have thesis written and finished: April 2003.
Resources Required
Motes, LED’s Access to code and the people who wrote it HLSIM simulator