Home
Schedule
Publications and Talks
Flask
Quasioquoting for GHC
Other Software
TinyOS on FreeBSD

Geoffrey Mainland: Software

This software is Copyright © Harvard University and should have the Harvard License attached. If you download any of the code here, I would appreciate an email letting me know that you're using it and what you're using it for. Feel free to contact me if you have any questions, but these are not "official" releases so expect to be mostly on your own :)

Also check out the macroprogramming page for information on the research agenda ultimately driving the creation of most of this software.

Subversion Repository Access

My repositories can be publicly viewed using WebSVN here. You will need to login with the name guest and the password guest.

Flows

I've been working on a multi-hop publish/subscribe routing protocol for sensor networks. The flows code is very new and somewhat incomplete, but it is regularly run on motelab so it does work on real hardware. The goal of this project was not to come up with a new protocol per se, but to provide a specific application interface to help support macroprogramming systems. A visualization application is included that allows interactive control of applications using the flow protocol as they are run on motelab. This tools is written in Python and requires py-gtk.

This code requires NesC 1.2 and a version of TinyOS that supports NesC 1.2 (currently it is built with TinyOS 1.1.15).

The flow code is available via subversion from:
    http://senseless.eecs.harvard.edu/repos/fiji/runtime/tinyos-1.x/

Fibers

Fibers allow a limited form of cooperative multi-threading on the TinyOS platform in which there can be a single blocking task. BlinkFiber is a version of Blink adapted to use fibers.

fiber.tar.bz2
BlinkFiber.tar.bz2

Abstract Regions

The code from our NSDI '04 paper on abstract regions is available upon request. There are two implementations, Matt Welsh's and mine. My implementation includes a version of GPSR built on abstract regions.

Geoffrey Mainland