UWA Logo Computer Science & Software Engineering
Chris McDonald's project ideas
   CSSE homepage  |  csentry

Dr Chris McDonald chris@csse.uwa.edu.au

Chris currently holds the appointments of senior lecturer in the School of Computer Science & Software Engineering at The University of Western Australia and adjunct professor in the Department of Computer Science at Dartmouth College, New Hampshire.
Chris has recently taught in the areas of computer networking, operating systems, computer & network security, computer architecture, distributed systems programming at The University of Western Australia and Dartmouth College and, together with these areas, his research interests include network simulation, ad-hoc & mobile networking, and programming language implementation.

The projects below are offered as suggestions for new Honours and Masters students. If you have other, related, project ideas then please contact me. If you're considering a project in any area of computer systems, please take the time to first read the following two papers. They should get you thinking!

Project ideas

  1. Wireless Network Monitoring
    Effective monitoring of wireless network traffic, using commodity hardware, is a challenging task due to the limitations of the hardware. IEEE 802.11 networks support multiple channels, and a wireless interface can monitor only a single channel at one time. Thus, capturing all frames passing an interface on all channels is an impossible task, and we need strategies to capture the most representative sample. The competing goals of effective wireless monitoring are to capture as many frames as possible, while minimizing the number of those frames that are captured redundantly by more than one monitoring station. Both goals may be addressed through effective sampling strategies coordinating the activities of neighbouring monitoring stations.

    This project will employ Dartmouth College's MAP (Measure, Analyse, and Protect) software architecture, and Linksys WiFi access points, in the CSSE building, develop processes for rapid deployment and monitoring of the architecture itself, refactor some of the software and exchange protocols, and develop analysis software to detect traffic analomies.

    Enough project ideas for two or more students here, for students who enjoy software design and coding.

  2. Navigating by WiFi
    An increasing number of mobile handheld devices, such as the iPod Touch and the Nokia N-series, provide Internet connectivity through wireless ethernet (WiFi). Some higher-end models also provide GPS receivers to provide accurate location information, but GPS fails in a number of environments, including urban canyons and the interior of buildings. This is precisely where WiFi can exhibit great advantage - in environments containing many WiFi access points, such as the UWA campus or much of Perth's CBD.

    This project will investigate the suitability of WiFi for navigating around WiFi-dense environments, such as the UWA campus or the Perth CBD, focussing on mapping WiFi regions, predicting the locations of access points and mobile devices, and developing a location-aware applications such as WiFi driven tourist guide-books.

  3. Supporting a TCP/IP stack and internet infrastructure in cnet
    The cnet network simulator enables experimentation with a variety of data-link layer, network layer, and transport layer networking protocols in networks consisting of any combination of wide-area-networking (WAN), local-area-networking (LAN), or wireless-local-area-networking (WLAN) links. It executes and oversees user-written protocols within a single UNIX process, without requiring threaded or concurrent execution of protocols. cnet provides a minimal event-driven, non-preemptive environment in which data frames may be written to and read from simulated physical media, and timers are used to periodically undertake tasks.

    This environment is almost sufficient to support an RFC standards compliance TCP/IP protocol stack (it may be necessary to permit blocking operations, or preemption within cnet). A number of independent projects, such as uIP provide small, but standards compliant, protocol stacks for embedded devices and wireless sensor networks. This project will evaluate available TCP/IP protocol stacks, and incorporate one of them in the cnet simulator.

    Keywords: internetworking, protocol simulation.

  4. An Execution Sandbox for Encryption Algorithms
    "Doing for encryption, what MATLAB does for matricies ...."
    There are a growing number of both symmetric and asymmetric encryption algorithms whose implementations are freely available. Most publicity surrounding encryption algorithms focuses on the time required to "crack" these algorithms by brute-force techniques. With the rapid emergence of mobile communication devices powered by batteries alone, an area of greater importance is the execution speed and resource requirements of these algorithms.

    This project will develop an encryption algorithm sandbox to enable experimentation with, and analysis of, modern encryption algorithms. The project will first collect and "sanitize" implementations of freely available encryption algorithms so that they may be executed within the sandbox. Encryption schemes under test will be specified by a small language indicating the composition and order of evaluation of the encryption algorithms. All algorithms, probably implemented in C, will be compiled to an internal pseudo-code so that their execution may be accurately profiled. The sandbox will generate and deliver plaintext blocks and streams, verify the encryption and decryption processes, and automatically instrument and report on their execution for comparison.

    Keywords: Encryption algorithms, software instrumentation.

Top of Page Valid HTML 4.01 Transitional