Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas...
Transcript of Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas...
![Page 1: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/1.jpg)
Spatial Computing for Swarms
Jacob BealSeptember, 2009
![Page 2: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/2.jpg)
Agenda
● Spatial Computing● Survey of Existing Approaches● Proto & Amorphous Medium
![Page 3: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/3.jpg)
From one robot, to many
![Page 4: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/4.jpg)
From one robot, to many
![Page 5: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/5.jpg)
From one robot, to many
Robotic density is currently very low, but...
![Page 6: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/6.jpg)
Networked devices are filling our environment...
![Page 7: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/7.jpg)
Networked devices are filling our environment...
![Page 8: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/8.jpg)
Networked devices are filling our environment...
How do we program aggregates robustly?
![Page 9: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/9.jpg)
Spatial Computers
Robot Swarms Biological Computing
Modular RoboticsReconfigurable Computing
Sensor Networks
Cells during Morphogenesis
![Page 10: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/10.jpg)
More formally...
● A spatial computer is a collection of computational devices distributed through a physical space in which:● the difficulty of moving information between any two
devices is strongly dependent on the distance between them, and
● the “functional goals” of the system are generally defined in terms of the system's spatial structure
![Page 11: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/11.jpg)
More formally...
● A spatial computer is a collection of computational devices distributed through a physical space in which:● the difficulty of moving information between any two
devices is strongly dependent on the distance between them, and
● the “functional goals” of the system are generally defined in terms of the system's spatial structure
Notice the ambiguities in the definition
![Page 12: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/12.jpg)
(w. Dan Yamins)
Graphs
Crystalline(e.g. CAs)
Amorphous/Continuous
![Page 13: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/13.jpg)
(w. Dan Yamins)
Graphs
Crystalline(e.g. CAs)
Amorphous/Continuous
dens
ity
spac
e co
mpl
exi
tyjitter
grain size
![Page 14: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/14.jpg)
(w. Dan Yamins)
Graphs
Crystalline(e.g. CAs)
Amorphous/Continuous
dens
ity
spac
e co
mpl
exi
tyjitter
grain size
spatial computing
![Page 15: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/15.jpg)
Space/Network Duality
How well does the network cover space?
What space is covered well by the network?
![Page 16: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/16.jpg)
Tentative Mathematical Definition
● A spatial computer is any set of n devices s.t. ● Graph {V,E} with edge weights w(v
1,v
2)
● Manifold M, with distance function d– M is compact, Riemannian (may be stronger than needed)
● Position function p: V → M
● w(v1,v
2) = O(1/d(p(v
1),p(v
2)))
Examples: unit disc network, chemical diffusion
![Page 17: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/17.jpg)
Example: Target Tracking
IntruderGuard
![Page 18: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/18.jpg)
Example: Target Tracking
IntruderGuard
![Page 19: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/19.jpg)
Example: Target Tracking
IntruderGuard
![Page 20: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/20.jpg)
Example: Search & Rescue
I've found a victim!
The rescue bots are on
the way!
![Page 21: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/21.jpg)
How can we program these?
● Desiderata for approaches:● Simple, easy to understand code● Robust to errors, adapt to changing environment● Scalable to potentially vast numbers of devices● Take advantage of spatial nature of problems
![Page 22: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/22.jpg)
Agenda
● Spatial Computing● Survey of Existing Approaches● Proto & Amorphous Medium
![Page 23: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/23.jpg)
A Taxonomy of Approaches
Spatial
DynamicsGeometry
Uniform Viral
Non-Spatial
Non-Composable
![Page 24: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/24.jpg)
A Taxonomy of Approaches
Spatial
DynamicsGeometry
Uniform Viral
Non-Spatial
Non-Composable
![Page 25: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/25.jpg)
Approaches from Local Dynamics
Primitives describe only actions between devices and the neighbors they communicate with.
● Advantages: coherent and correct semantics● Disadvantages: programmer must figure out
how to marshal local dynamics to produce coherent large-area programs
![Page 26: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/26.jpg)
Proto: Computing with Fields
Beal & Bachrach
(def gradient (src) ...)(def distance (src dst) ...)(def dilate (src n) (<= (gradient src) n))(def channel (src dst width) (let* ((d (distance src dst)) (trail (<= (+ (gradient src) (gradient dst)) d))) (dilate trail width)))
neighborhood
device
DeviceKernel
evaluation
global to localcompilation
discreteapproximation
platformspecificity &optimization
![Page 27: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/27.jpg)
Other Uniform Approaches
● LDP/MELD (CMU Claytronics group)● Distributed logic programs● Local resolution leads to long-distance properties
![Page 28: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/28.jpg)
TOTA: Viral tuples
![Page 29: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/29.jpg)
Other Viral Approaches
● Smart Messages (Borcea)● Execution migrates to nodes of interest, found via
self-routing code packets
● Paintable Computing (Butera)● Consistent transfer, view of neighbor data● Code for install, de-install, transfer-granted,
transfer-denied, update
● RGLL (Sutherland)● Code for arrival, tick, collision, departure● Communication via collision
![Page 30: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/30.jpg)
Approaches from Geometry
Primitives describe large-scale geometric regions (e.g. “all devices on the left hill”)
● Advantages: coherent, easy to specify large-scale programs
● Disadvantages: generally easy to accidentally specify programs that cannot be executed correctly
![Page 31: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/31.jpg)
MGS
Meristem formation Turing pattern on torus
Michel, Giavitto, Spicher
![Page 32: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/32.jpg)
Regiment
● Streaming collection of data from regions● Spatial primitives:
– K-hop neighborhood– K-nearest nodes
● Composition:– Union/Intersection– Map/Filter
● Distributed execution as a compiler optimization
![Page 33: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/33.jpg)
Other Geometric Approaches
● Borcea's Spatial Programming● EgoSpaces● SpatialViews● Spidey● Abstract Regions● Growing Point Language● Origami Shape Language
![Page 34: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/34.jpg)
Non-Composable Approaches
Algorithms and techniques, generally based on geometry, but not part of a system of composable parts
● Advantages: powerful spatial ideas for that are good for inclusion in code libraries
● Disadvantages: developed as stand-alone ideas, and may have limited composability
![Page 35: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/35.jpg)
Field-Based Coordination
Mamei & Zambonelli
![Page 36: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/36.jpg)
Self-Healing Gradients
![Page 37: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/37.jpg)
Local Check-Schemes
Yamins
![Page 38: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/38.jpg)
Other Non-Composable Approaches
● hood (Whitehouse, et. al.)● nesC library for interacting with neighbors
● McLurkin's “Stupid Robot Tricks”● Swarm behaviors intended mainly for time-wise
multiplexing.
● Countless one-shot systems...
![Page 39: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/39.jpg)
Significant Non-Spatial Approaches
● “roll-your-own” (e.g. C/C++)● TinyDB
● Distributed database queries for sensor networks
● Kairos● Distributed graph algorithms
● WaveScript● Distributed streaming language● Follow-on to Regiment w/o the spatial primitives
![Page 40: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/40.jpg)
Summary
● Many approaches exist to programming pervasive applications for spatial computers
● Only approaches based on local dynamics currently offer predictable composition, correct execution, and spatial primitives
● Challenge: obtaining long-range coherent behavior from local dynamics
![Page 41: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/41.jpg)
Agenda
● Spatial Computing● Survey of Existing Approaches● Proto & Amorphous Medium
![Page 42: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/42.jpg)
Example: Target Tracking
IntruderGuard
![Page 43: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/43.jpg)
Geometric Program: Channel
Desti-nationSource
(cf. Butera)
![Page 44: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/44.jpg)
Geometric Program: Channel
(cf. Butera)
Desti-nationSource
![Page 45: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/45.jpg)
Geometric Program: Channel
(cf. Butera)
Desti-nationSource
![Page 46: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/46.jpg)
Geometric Program: Channel
(cf. Butera)
Desti-nationSource
![Page 47: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/47.jpg)
Geometric Program: Channel
(cf. Butera)
Desti-nationSource
![Page 48: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/48.jpg)
Geometric Program: Channel
(cf. Butera)
Desti-nationSource
![Page 49: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/49.jpg)
Geometric Program: Channel
(cf. Butera)
Desti-nationSource
![Page 50: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/50.jpg)
Why use continuous space?
Simplicity Scaling & Portability Robustness
(we'll come back to this in a bit...)
![Page 51: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/51.jpg)
Amorphous Medium
Continuous space & timeInfinite number of devicesSee neighbors' past state
Approximate with:Discrete network of devicesSignals transmit state
neighborhood
device
![Page 52: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/52.jpg)
Computing with fields
source destination
gradient distancegradient
<=
+
dilate
width
![Page 53: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/53.jpg)
Computing with fields
source destination
gradient distancegradient
<=
+
dilate
width
37
10
![Page 54: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/54.jpg)
Proto(def gradient (src) ...)(def distance (src dst) ...)(def dilate (src n) (<= (gradient src) n))(def channel (src dst width) (let* ((d (distance src dst)) (trail (<= (+ (gradient src) (gradient dst)) d))) (dilate trail width)))
neighborhood
device
DeviceKernel
evaluation
global to localcompilation
discreteapproximation
platformspecificity &optimization
Glob a
l Lo cal Di scre te
![Page 55: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/55.jpg)
Proto's Families of PrimitivesPointwise Restriction
Feedback Neighborhood
+ restrict
+
741
delay
48
any-hoodnbr
![Page 56: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/56.jpg)
Modulation by Restriction
source destination coord
channel
10
gradcast
10
(5, 7
)
![Page 57: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/57.jpg)
Why use continuous space?
Simplicity Scaling & Portability Robustness
150 devices2000 devices
![Page 58: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/58.jpg)
Diving into the details
Let's build this up using the Proto simulator, one piece at a time...
(break to work w. simulator)
![Page 59: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/59.jpg)
In simulation...
![Page 60: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/60.jpg)
Example: Search & Rescue
I've found a victim!
The rescue bots are on
the way!
![Page 61: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/61.jpg)
In simulation...
![Page 62: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/62.jpg)
Weaknesses
Functional programming scares people Programmers can break the abstraction No dynamic allocation of processes No formal proofs available for quality of
approximation in a composed program
(active research on last two)
![Page 63: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/63.jpg)
Summary
Amorphous Medium abstraction simplifies programming of space-filling networks
Proto has four families of space and time operations, compiles global descriptions into local actions that approximate the global
Geometric metaphors allow complex spatial computing problems to be solved with very short programs.
![Page 64: Jacob Beal September, 2009LDP/MELD (CMU Claytronics group) ... Advantages: powerful spatial ideas for that are good for inclusion in code libraries](https://reader030.fdocuments.in/reader030/viewer/2022040910/5e830e9e7bd21f2194038deb/html5/thumbnails/64.jpg)
Proto is available
http://stpg.csail.mit.edu/proto.html
(or google “MIT Proto”)
● Includes libraries, compiler, kernel, simulator, platforms
● Licensed under GPL (w. libc-type exception)