Plan-X Project
Overview
If the network is the computer, how do we program it?
The aim of the Plan10 Framework Project is to develop a software platform for value-oriented programming supporting transparency of distibution and mobility of data and applications.
Existing programming platforms, such as J2EE and .Net, are based on an object-oriented programming model, which is complemented with services for distributed applications and mobile code. If data and software are supposed to work when migrated, replicated for availability and performance, and updated subject to transactional guarantees, then it is likely that significant amounts of programmer activity and application code is expended on computer science machinery such as replication, caching, memory management, concurrency control, data synchronization, transactions, handling of network errors and so forth.
The goal of the Plan-X project is to develop a software platform (consisting of a programming model and middleware services) where program and data, once running on one machine, can subsequently be distributed on a network of machines and moved about on those machine, even while the client programs are executing and software and data migrate. The purpose of this is to allow the programmer to focus on the application at hand, and leave all the computer science machinery to the software platform.
Central to the programming model is the clear separation between immutable data (which is cheap in distributed systems) and mutable data (which is expensive). Immutable data, or values, are addressed using names referring, in a unique fashion, to the data itself and not the location of the data. The advantage of this is that data can be freely shared, cached, and replicated, and transparency of mobility is built into the programming model.
Papers
The following Master's Theses have been written on the XML Store component of the Plan-X framework.
- Tine Thorn, Anders Baumann, Mikkel Fennestad, A Distributed, Value-Oriented XML Store, Master's thesis, ITU, 2002.
- Kasper Bøgebjerg Pedersen and Jesper Tejlgaard Pedersen, Value-oriented XML Store, Master's thesis, ITU, 2002.
- Mads Pultz, Garbage Collection in Distributed Value-Oriented Storage System, Master's thesis, DIKU, 2003.
- Bjørn Elo Petersen and Jonas Engedal Andersen, Concurrency Control and Merging in XMLStore, Master's thesis, ITU, 2004.
- Thomas Ambus, Multiset Discrimination for Internal and External Data Management, Master's thesis, DIKU, 2004.
Software
An experimental release of Thomas Ambus's Koala XML Store is available for download. This in the early stages, so please exercise care and don't forget to report issues to us. It builds upon the earlier Bøgebjerg XML Store by Kasper Bøgebjerg Pedersen.
Another XML Store implementation, by Tine Thorn, Anders Baumann, and Mikkel Fennestad, is also available. This implementation is based on the Chord protocol. Please note that the interfaces to the XML Stores are different.
Meetings
Dates for Plan-X meetings in January-June 2005 (13:00-15:00, each given day):
- Febuary 3rd, 2005
- Febuary 10th, 2005 (14:15, at ITU, meeting room 3A08)
- March 3rd, 2005
- March 17th, 2005
- March 31th, 2005
- April 14th, 2005
- April 28th, 2005
- May 12th, 2005
- May 26th, 2005
- June 9th, 2005
The meetings will take place outside N203 (Fritz's office). There is a standard agenda unless another is announced through the mailing list.
Discussion
There is an open mailing list for Plan-X discussions. You can subscribe to it via the web interface at http://miming.diku.dk/mailman/listinfo/plan10 or by sending email to plan10-request@diku.dk with the subject "subscribe". You can read previously posted messages at the associated email archive.
Courses/Seminars/Projects
Courses/seminars
None presently.
Past courses/seminars
- Seminar: Peer-to-Peer Storage Systems (ITU, Spring 2004)
- Project seminar: Software technology for distributed and mobile applications (DIKU, Spring 2003)
- Seminar: Issues in distributed and mobile data and software (DIKU, Fall 2002)
Projects
People
- Thomas Ambus (DIKU)
- Anders Baumann (work done while at ITU)
- Mikkel Fennestad (work done while at ITU)
- Fritz Henglein (DIKU - Supervising schedule)
- Ken Friis Larsen (ITU)
- Henning Niss (ITU)
- Kasper Bøgebjerg Pedersen (work done while at ITU / DIKU)
- Jesper Tejlgaard Pedersen (work done while at DTU)
- Mads Pultz (DIKU)
- Peter Sestoft (KVL / ITU)
- Jesper Honig Spring (DIKU)
- Tine Thorn (work done while at ITU)
Thomas Ambus)