This page is no longer kept current. Please refer to the BOOM project pages for more recent work.
We design high-level programming languages and runtime systems to make it easy to build complex distributed and parallel programs.
BOOM and Bloom
Our newest effort, BOOM, is an exploration of how data-centric programming methodology can make Cloud Computing an accessible platform for developer innovation. For an example, see our Eurosys '10 paper on BOOM Analytics or the more specific NetDB '09 paper on MultiPaxos and 2PC.
The language environment for BOOM is called Bloom. Bloom is based on a fully declarative logic language called Dedalus, which is described in a technical report, but is designed to be programmer-friendly.
Dated instructions for setting up the BOOM File System described in our Eurosys '10 paper.
The P2 project is complete, and the software no longer supported. Users interested in an Overlog runtime system should consider using the new JOL interpreter, and/or getting in touch with members of the BOOM team.
The P2 declarative networking system, and its language, Overlog, are targeted at the development of Internet overlay networks (multicast, distributed hash tables, etc.) and distributed systems protocols (Paxos consensus). As an example, see the Overlog code for the Chord distributed hash table, which emulates MIT's C++ implementation in 50-100x less code.
The DSN project is complete, and the software no longer supported.
DSN and its language, Snlog, are for use in wireless sensor network devices running the TinyOS operating system. Snlog makes it easy to program wireless network stacks and distributed applications in an embedded operating system.
Work funded in part by grants from the National Science Foundation, the Air Force Office of Scientific Research, and gifts from Microsoft, Yahoo and Intel.