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.
|
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.