My research advisors are
Dr. Greg Lavender
and
Dr. Harrick Vin
The focus of my project is to discover high level abstract programming
features that are common in network programming. Intel's IXP1200 network
processor has six mutlithreaded microengines. It is currently programmed
in microengine C, which is a very low level environment. The long term
goal is to build a higher level programming language which will provide a
friendlier programming environment to developers.
Links
Intel IXP1200 network processor
Sun's Chip Multi-Threading processors
Shangri-La Paper Repository
Click Website
Network System Designs book
webpage
Fox Project
Internet RFCs
SML docs
SML/NJ Website
Edoardo
Biagioni's webpage. Author of the TCP in SML Paper
Design of
Foxnet paper
Tar
file source code for Fox Net
IP
Packet Header
IP checksum
References
How to set up a packet stream to be
received in the IXP simulator
Header compression RFCs
1977
2507
2509
3095.
Code
based on rfc 1977.
IPv4 IPv6 interoperability RFC
2766.
Code.
What am I doing this week?
3/17 - 3/23: Reading Concurrent Object Oriented Programming by Gul Agha
3/24 - 3/30: Reading Concepts & Notions for Concurrent Programming by Greg
Andrews and Fred Schneider. My notes on the paper
3/31 - 4/14: Reading the Rainier doc.
4/15 - 4/21: Finding and reading papers on Click.
4/22 - 4/28: Reading The
Click Modular Router by Kohler, Morris, Chen, Jannoti and Kaashoek.
Reading
Programming language techniques for modular router configuration.
5/12 - 5/19: Writing a program to run on the IXP simulator to understand
interprocessor communication. Microprocessor 0 constructs packets from
mpackets, signals microprocessor 1 which keeps a count of the number of
packets received.
receive.c
count.c
5/20 - 6/2: Reviewing Haskell: map, fold, zip, zipwith, scan, monads,
continuations
6/3 - 6/9: Reading about the
Fox Project at CMU.
Structured TCP in
SML
6/10 - 6/18: Reading the Network Systems Design book and learning SML.
6/19 - 6/28: Training and working for First Bytes Summer
Camp
6/29 - 7/15: Comparing SML to NCL (notes) and
FPL
7/16 - 7/22 : SML program reads binary input and returns IP header.
README
double.sml
binaryInput.sml
ipdatagram.sml
packet.sml
7/23 - 7/30 : Writing short SML programs and functions.
demux.sml
7/31 - 8/3: The problem with the previous version of demux is that it
takes a list of functions. Since all the elements of a list must be of the
same type, all the functions must have the same input and output type.
Using tuples instead of lists for input in
demux3.sml allows different
types of inputs but the number of functions is fixed.
8/4 - 8/8: In SML, signatures can be used to restrict the types allowed in
a structure
struct_general.sml.
Signatures can also be used to provide the interface, letting
structures provide the implementation
sig_general.sml
8/9 - 8/17: On vacation
9/4 - 9/10: Reviewing code for IPv4 IPv6 interoperability. State
diagrams for main program and IPv4 to
IPv6 translation.
9/11 - 9/17: Written object-oriented interfaces for address translation
address
IPv4address
addressPair
addressTranslator
addressTranslatorList
addressOutofRangeException
incorrectAddressTypeException
9/18 - 10/18: Writing the IPv4/v6 tranlation code in an object-oriented
model, using Java.
12/15: Finished writing the IPv4/v6 translator in Java. Created a general
package containing superclasses and interfaces that would be useful in
network programming. code.tar.gz paper.zip
Contact
Tazeen Dhedhi
tazeen@alumni.cs.utexas.edu
Last updated: March 07 '05