Research
As part of the CARWANs project, I have been working
with Anandha Gopalan on porting the
(α, t) protocol to the Sharp Zaurus SL-5500 PDA.
This project involves lots of kernel patching and compilation using BitBake by the OpenEmbedded group, and some coding in C on my part in order to provide the three real-time timers using only a single system timer.
This model Zaurus has only a single system timer. We needed to simulate three. To solve this problem, we wrapped the system timer in a simple API that would allow the existing (α, t) code to run basically unmodified.
The API uses a slightly modified FIFO (first in, first out) queue consisting of simple data records. Each record contains a time-to-live field, and a timer type field (we used C enumerated types for this).
There were some complex issues involved in testing the insertion and firing of events; see powerpoint slides in the Talks section for more information about these details, and about the process of porting the protocol in general.
The slides also contain a brief overview of the (α, t) protocol's basic functions without going into too much detail.