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.


webdesign by xoe