Text only

CM30076 / CM30082
Individual Project

Further Project Ideas

These ideas are late submissions, and have been suggested by our Research students. Where an appropriate supervisor is available, their name is included. For those without an appropriate supervisor it is up to you to find a supervisor from the list of supervisors who is willing to take on the project.

An IDE for ASP
Background - ASP (Answer Set Programming) is an up and coming field in logic programming. Programs consist of a series of logical rules which are then put into a solver, which produces a list of 'possible world views' that are consistant with the information provided by the rules. It has a lot of potential for tasks such a knowledge representation, scheduling, planning, data mining, etc.
At the moment a number of solvers exist but there are very few support tools to help programmers. This project would involve creating an integrated development environment for answer set programming.
It is envisaged that this would be done by combining existing tools (most of which are command line based) with a suitable GUI. For example, integrating Smodels, lparse, noMoRe, DLT, DLV and IDEAS would give solvers, visulisation and debugging. The application would have to be able to be run under GNU/Linux and ideally under windows as well. As well as the practical issues there are a number of interesting research questions such as how to minimise cognitive load when working with large amounts of highly structured data and how to ensure consistance between what is modeled by each atom in the system.
Skills required - Knowledge of GUI programming on GNU/Linux and (ideally) windows, familarity with a variety of different approaches to devlopment environments and support tools. Some understanding of HCI issues as relating to programming would be useful.
Supervisor - Dr Marina De Vos
Planning front end for ASP
Background - ASP (Answer Set Programming) is an up and coming field in logic programming. Programs consist of a series of logical rules which are then put into a solver, which produces a list of 'possible world views' that are consistant with the information provided by the rules. One popular application of ASP is in planning and scheduling problems. However implementing these can be somewhat daunting to users without any knowledge of ASP. This project is to create a suitable GUI to help convert between intuitive concepts, such as the dependance between tasks, number of staff, amount of resources, etc. and ASP. It is envisaged that the user would have a way of specifying the number of people, tasks, resources, objects, location and time steps involved in a plan as well as the dependancies between them and then have the tool generate a suitable plan of action.
Skills required - Knowledge of GUI programming, basic understanding of the concepts of logic programming and scheduling problems.
Supervisor - Dr Marina De Vos
Music classification based play lists
Background - Almost all 'jukebox' software includes play lists which can be sorted by artist, album, etc. However it is impossible to set such programs to play 'more music like this' or 'over the next X tracks, go from music like Y to music like Z'. This project aims to add this functionality by using existing algorithms for music classification and comparison to allow the program to work out how 'near' particular tracks are to each other. Ideally this would be implemented as a plug in to XMMS and be able to handle a variety of popular formats such as MP3, FLAC, CDDA and WAV.
Skills required - Diverse taste in music and interest in developing digital audio tools.
Supervisor - Prof John ffitch
Database based filesystem
Background - One of the current trends in operating system development is towards using database techniques in implementing file systems. HPF+, ReiserFS, BEFS, NTFS all use some concepts and the long awaited WinFS is alleged to be full database orientated. This project is to create a translator between file system calls and SQL commands, using LUFS or FUSE. This could then be used to prototype different concepts and interfaces to both filsystems and databases, allowing the contents of database based web sites to be edited with standard tools and complex searches of files to be performed quickly using SQL.
Skills required - Some knowledge of SQL, Linux, filesystems and either C or Python.
Supervisor - ???
Peer to peer backup system
Background - With the capacity of hard drives increasing so drastically, removeable media is fast becoming an inefficient and expensive method of backing up data. Larger companies can afford off-site storage facilities which offer the most secure forms of back up but this is beyond the means of most home users. This project is to develop a peer to peer remote back up system. Users donate certain amounts of their storage capacity and gain the same amount of backup space distributed between other users.
Issues such as redundancy (so that multiple copies of each file are stored in different places), checksums, encryption and automation will be critical. Platform independance, integrety checks, anonimity controls and bandwidth controls would also be useful.
Skills required - Some knowledge of peer to peer applications, networking or cryptography would be an advantage.
Supervisor - ???