Project Supervision
UML modelling tool
Eclipse is the premier IDE for Java coding and is free software, but it lacks a UML modelling tool. The omission is deliberate,
because IBM wished to create a market for selling proprietory UML Eclipse plugins. This project aims to create an open source
UML plugin for Eclipse. The tool must: be open source, cross platform (Linux, Mac, Windows), use the SWT graphical library.
Ideally
it shuld support: IBM's UML format for interchange with other UML tools, 'round tripping', i.e. changes to the diagrams
immediately
change the code and vice-versa.
HEN network design tool
The Networks group has recently acquired funding to develop a large reconfigurable experimental testbed called HEN. This
consists of a lot of computers connected to managed switches. The computers can be configured by selecting an OS, software,
network config, while the switches are configured with VLANs in order to emulate any sort of network topology. Currently
everything is configured by editing a set of XML files. We would like to develop a graphical tool to make configuring HEN for
experiments easy.
Because HEN itself is rapidly developing, I suggest this project is split into three phases: 1. Talk to the HEN developers and
elicit
what features they intend for HEN to eventually have (as well as the usual requirements elicitation from potential users of the
tool).
2. Develop a GUI tool that enables configuration of these features. Keep the 'backend' of the tool modular so it can easily be
rewritten. 3. Look at the current state of HEN development and write a backend to enable the GUI tool to configure HEN in its
current
state. Step 3 may be propblematic and so will not be essential to getting a good mark.
The tool itself could be web based, or it could be written in Python with WxWidgets for the GUI, or you could be boring and
write it
in Java.
Game
No specific requirements for this one; just a note that I am interested in supervising entertainment based projects. There is
something of a bias against games in student projects, so all but the weakest students undertaking this project would be
expected
to design some original feature that is interesting from a research perspective, e.g. code your own networking code and run
performance tests on how it copes with packet loss, make a MMRPG that is entirely peer-to-peer, create a secure system for
electronic currency in the game, etc.
A 3D game will probably be written in C++ with Ogre3D. For 2D games there are more options.
Parallel Computing
We currently have two clusters each with about 90 nodes. If you would like to do a project involving parallelising a
tradionally linear algorithm we could arrange for your program to run on our clusters. Suggestions: distributed password
cracker.
Your Own Project
I am interested in projects suggested by students if they involve the following buzzwords:
- Java programming,
- Python programming
- network application programming,
- network performance testing,
- network Qos,
- software engineering: extreme programming,
- UML modelling,
- XML processing,
- relational databases,
- Linux,
- FreeBSD.
Past projects
Some projects I have suggested/supervised in the past which I may be persuaded to do again:
- Groupware system (replacement for Microsoft Exchange?)
- Collaborate website/wiki/messageboard/mailing list for Networks Research Group members to use.
- Linux (TC?) vs FreeBSD (ALTQ?) QoS comparison
- GUI tool to configure firewall and QoS on Linux, FreeBSD, Cisco IOS, etc.
- GUI tool to create Ant build files.
- Projects listed by Saleem Bhatti here
to develop the NRS QoS system.
|