MIT Proto

If you are looking for MIT Proto, the current preferred distribution point is http://proto.bbn.com

Following the departure of its directors from MIT, the Space Time Programming Group page is no longer active, and is being maintained for archival purposes, and as a secondary location for Proto distribution.

  • Jacob Beal is leading a spatial computing research team at BBN Technologies.
  • Jonathan Bachrach is building a research group at UC Berkeley.


About   |   Downloads   |   Publications

About MIT Proto

MIT Proto is a language and toolkit that makes it easy to write complex programs for spatial computers.

A spatial computer is a collection of devices distributed to fill space, where the difficulty of communicating between devices is strongly dependent on their geometric distance. Examples include sensor networks, robotic swarms, cells during morphogenesis, FPGAs, ad-hoc wireless systems, biofilms, and distributed control systems.

Proto is a language we have developed for programming spatial computers using a continuous space abstraction. Rather than describe the behavior of individual devices, the programmer views the space filled by the devices as an amorphous medium---a region of continuous space with a computing device at every point---and describes the behavior of regions of space. These programs are automatically transformed into local actions that are executed approximately by the actual network of devices. When the program obeys the abstraction, these local actions reliably produce an approximation of the desired aggregate behavior.

MIT Proto is our implementation of Proto, comprising a compiler, cross-platform virtual machine, simulator, code libraries, and tutorial material. MIT Proto is free, open-source software, licensed such that it can be used to create either free or proprietary projects.

MIT Proto has already been run on several platforms: Mica2 Motes, McLurkin's SwarmBots, the Topobo modular robotics platform, and Merakis on an iRobot Create robotic base (though the kernel implementations for most of these platforms are not included the current release).

Manuals, tutorials, and other documentation for MIT Proto are included in the distribution.


Snapshots of MIT Proto in action


Plane wave on 10,000 devices

Devices flocking together

Devices flocking in three dimensions

Devices computing a Voronoi partition, edges, and verices on a hexagonal grid.

A self-healing gradient reconfiguring after a change in source

Devices calculating the safest route, avoiding orange threats, from each point to the red dot in the upper left

Tracking a target observed at the orange nodes and routing data to the purple base station

Mica2 Motes running a gradient

This page last updated on August 28th, 2008