School of Computer Science

Student projects

These projects can be adjusted for MSc , final year and mini projects.

My projects by-and-large involve development of good quality and non-trivial software products. The following are sample of topics that I am keen to supervise. But I am open to hearing about good ideas. To learn more about each of these projects pop in to my office or email me

Big data via Storm, Big data via Spark

We have a large number of projects suitable for Apache spark and storm. What are they? google them! Hot topics.

Filtering data for primary care research

The Health Improvement Network (THIN) database which consists of data from over 5 million patients across 600 general practices. Currently processing of data is carried out via imperative methods. The aim of this research is to develop declarative approaches allowing extraction and filtering of data to assist medical researcher. You will abstract existing imperative techniques into high-level primitives, produce API and algorithms for using them. This research is a joint project with colleagues at Medical School.

Modelling and execution of medical guidelines in BPMN

In this research you will work on modelling and implementation of the graphical representation of medical guidelines, These guidelines form the basis of care pathways which are frequently represented as flat flow diagrams but would benefit patients and care organisations if translated into the more functionalBPMN. You will learn about BPMN and using of it to model and execute care pathways. This research is a joint project with colleagues at Medical School.

Process mining for medical business processes

What is process mining? In a nutshell, it is about reverse engineering of business process models from the logs. It is a powerful technique for understanding, optimising and governing a number of application domains. We have used process mining in a number of projects with BT and the telecommunication industry. Now we wish to apply the same techniques to medical business processes to help us understand the movement of patients and resources around the system.
You will use PRoM and develop software and procedures to tackle crucial problems related to policies and method of management of diseases. This research is a joint project with colleagues at Medical School.

Failure diagnosis tool using Java programming language

The aim of this project is to build tooli as an Eclipse plugin. This tool provide user-friendly interface to draw a Petri nets models of the systems and identifying observable and unobservable events. Then the tool will be extended to produce dignosers automatically. A diagnoser is a piece of software that can detect faults in real-time automatically.

Automated Code Generation

A code generator is a program that writes code! This could be based on using Model Driven Architecture (MDA). In the past decade we have developed a large number of software products using MDA and our code generator SiTra. Check my software page for a sample of products that we have developed. How does it work? In a nutshell, you can use SiTra to map from one language to another.

Cloud Virtual Machine Programming: security via Virtual Machine Introspection (Joint supervision with HP Lab)

Breaking into a Cloud (private, commercial or G-cloud) can have a high payload due to the large amount of data available to be exploited. Conventional security methods, which are used to protect small systems , are dwarfed by the sheer size and complexity of the Cloud. Virtual Machine Introspection (VMI) is a method of allowing peeking through memory pages of a Virtual Machine (VM) to search for identifying malicious behaviour. It is never a good sign to come a cross a large number of credit card number in a memory page. If you are interested in operating systems (programming in C) let me know.

Security via complex event processing

Cloud is complex and large. How can we control it? For example if we build monitors that identify a Service Level Agreement (SLA) is violated and other monitor s that hints on possibility of malicious behaviour, how can we respond? It is not possible to rely on human users to control such large and distributed infrastructures. Check out Apache Drools and complex event processing software such as Stream Base or if you are leaning toward security check Splunk.

Prototype device to help patients with sensori-neural hearing loss (Dr Gillian Pearce)

Hearing loss can be due to loss of sensory hair cells on the cochlear. That leads to a frequency gap in the patient's audio spectrum. They cannot hear certain frequencies, and hence experience hearing loss or detriment. This project will involve writing software that enables the gap in the frequency to be compensated for by using FFT's and frequency shifts.