CSC9Z*
Available Projects

Warning The list of projects here gives ideas from staff (in alphabetical order). These projects are available in 2011/2012. The list will be continue to be updated until early April 2011 with new proposals. The following list is currently incomplete, with about 1 more proposal expected from staff.

Dr. Graham and Dr. Hussain expect to be on leave in Autumn 2011, and Dr. Shankland in Spring 2012. They are available to some extent, but would need to jointly supervise a project.

Warning Agree your choice of project with the supervisor, but do let the author of this page know once this is finalised.

TBA (To Be Announced) has the following meanings:

Collaboration Logo denotes a collaborative project with an external organisation (mainly companies). These projects are ideal opportunities for a student to gain industrially relevant experience, and perhaps even find a future employer. If there is competition for collaborative projects, some form of interview will be used to make the selection.


Crowd Dynamics

Supervisor: Dr. A. B. Bracciali

Student: TBA

Outline:

This project is about the use of a formal (programming) language to model the emergent behaviour of a crowd of independent individuals moving and interacting in a physical environment, e.g. an emergency egress. The goal of this modelling is to develop a virtual environment where different hypotheses about crowd behaviour can be tested, such as how an emergency egress is affected by a hurt evacuee obstructing a passage, by the choice of the width of the doors in the building, or by the evacuation strategy adopted. In general, these studies are intended to improve our ability to deal with risky situations (see for instance www.gkstill.com). These models rely on formal languages that are used to describe and program individual behaviour, and on mathematical machinery that defines how the crowd behaviour evolves over time. Such models are supported by software tools that allow crowd behaviour to be simulated by "executing" the program written when defining the desired model.

This project will focus on developing and experimenting with models of crowd dynamics, embedding specific behaviour of interest. An example could be to describe how the topology of a city plus features like traffic congestion and the presence/absence of restaurants and pubs can influence the gathering of people within the city.


Evolving Artificial Camouflage

Supervisor: Dr. D. E. Cairns

Student: TBA

Outline:

This project aims to investigate the evolution of camouflage patterns for different environments using an appropriate population-based optimisation technique such as genetic algorithms or particle swarm optimisation. It is proposed that texture blocks will be placed at a number of random points in pictures of different environments and then scored on their ability to blend with that environment. Parameters that control the colour and patterns of the blocks will be combined for the solutions that have a relative good level of fitness compared with their peers. This process will be repeated until minimal changes appear to be happening to the parameters. A comparison will then be made against natural camouflage patterns for animals or insects that live in the sampled environments.


Implementing/Evaluating Different Algorithmic Solutions to One or More Problems

Supervisor: Dr. M. M. Fayed

Student: TBA

Outline:

This project would be appropriate for a student who is a little less inclined to large programming projects, but is deeply curious about advanced algorithms, techniques, and associated theory. Surprisingly, there are branches of computer science that involve no programming at all!

One family of algorithms deals with error-correcting codes. One reason for these is that information may be stored or transmitted unreliably. Error-correcting codes ensure that information remains reliable. Another use is found in computational geometry, which tries to identify and answer questions related to geometry in n-dimensional space. It is strongly connected to computer graphics and spatial navigation, among others, and has recently found application in biology, chemistry, and physics.

The student would be expected to demonstrate learning through a (relatively) small program reinforced by a very high quality report that shows insight and critical analysis.


An Early OO Design Assistant

Supervisor: Dr. S. B. Jones

Student: TBA

Outline:

The Together tool offers assistance with specifying, designing and constructing an object-oriented system once candidate classes and associations are known. However, in practice the process starts rather earlier than that - possibly with a grammatical analysis of a written specification, combined with brainstorming. The first steps into Together record the outcome of this early process, but do not record how that outcome was arrived at, which is in itself an important component of the rationale behind the eventual system design.

So, the Early OO Design Assistant will provide an automated tool supporting the recording and presentation of the early process. Some thoughts: It will be given the informal textual description of the required system. It will allow the user(s) to select words/phrases and categorise them linguistically - this information will be recorded and displayed in a structured way. It will be possible to add words/phrases arising from brainstorming (noting which fall into that category), and to flag words/phrases already recorded as not being appropriate for further processing (without actually deleting them as that would break the "audit trail"). It will facilitate the grouping of items chosen as attributes or operations with classes, and with recording collaborations between classes - perhaps by offering a CRC card builder interface. It will be able to output a complete record of these thoughts and decisions in printed form. It would also be nice if the Assistant could output skeleton Java files, with embedded stylised comments that Together uses to record association information - so that the early design output could be imported directly into Together for the next phase of development.


Second Life in Real Life - Linking Virtual Worlds and Real Devices

Supervisor: Dr. M. Kolberg

Student: TBA

Outline:

Second Life (SL) is a popular virtual world environment with a very active user base. It is not only used for leisure but also has major companies setting up their "islands" to offer information and services. Furthermore, SL is used for educational purposes, and major universities are offering courses in this environment. SL offers a scripting programming interface which allows users to create objects with defined behaviour.

This project would be appropriate for a student with an interest in virtual worlds, (tele)communications and programming.


Servlet Services on the SIP Application Server

Supervisor: Dr. M. Kolberg

Student: TBA

Outline:

Like ordinary telephony, Internet telephony can provide services such as call blocking, call waiting, and call forwarding. However Internet telephony offers a more flexible range of choices such as filtering calls by the source address or source domain.

SIP (Session Initiation Protocol) is an increasingly popular standard for Internet telephony. So far there have been two main approaches to developing SIP services: CPL (Call Processing Language) and CGI (Common Gateway Interface). However, more recently a third approach has been developed: SIP Servlets.

This project is to investigate SIP Servlets. This will include developing some SIP Servlet services and deploying them on a testbed within the department. Particular emphasis will be placed on the new opportunities offered by SIP Servlets, such as the integration of communications with other computer and web applications.

This project would be appropriate for a student with an interest in (tele)communications and programming.


GUESS Visualisation Tool and Second Life

Supervisor: Prof. E. H. Magill

Student: TBA

Outline:

Multi-user virtual worlds such as Second Life provide a 3-D space shared by a number of avatars. The avatars interact with their environment and each other through text chat and voice communications. However this is not a fixed place - you can change it. Second Life allows you to create programmable in-world objects that let you produce a unique environment of your own choosing. You will find much more information on the Second Life web site.

The InterLife project is developing a private island on Second Life to provide a research educational space. In this space, data is collected on the position, orientation, and chat of the assembled avatars. This project will develop scripts for the GUESS visualisation tool to take the collected data and show the interactions among avatars over time.

This will require a student with a interest in virtual worlds and an interest in programming. The GUESS scripting language is based upon Jython.


Programming Wireless Sensor Networks

Supervisor: Prof. E. H. Magill

Student: TBA

Outline:

The recent PROSEN project and the current PAM project have developed middleware for Wireless Sensor Networks (WSN). The first uses a windfarm setting, while the latter focuses on monitoring patients with bipolar disorder. The final year project will investigate programming these networks to carry out processing on the collected data. The goal is not simply to collect data, but also to process it within the WSN.

A possible approach here would be the creation of a demonstration tool to aid the presentation of this technology at the Glasgow Science Centre. This would tie in with a project involving the Department, the Glasgow Science Centre, the Royal Scottish Academy of Music and Drama (RSAMD), and the University of Glasgow.

The project would use a Stirling lab that is equipped with a range of suitable equipment. This project would suit a student with an interest in communications and Java programming. An interest in alternative energy or healthcare would be advantageous, but a good imagination is essential.


Innerpeffray Library: books and borrowers, 1680-1968

Supervisor: Prof. E. H. Magill

Student: TBA

Outline:

This project has two aspects that might well form two separate projects:

  1. The construction/customisation of a suitable database. At the moment we are thinking of using MySQL, but there may be better options. This would link to the existing library catalogue (that uses software called Micromarc). Data included in the database would need to include all the information about the books and their borrowers, as well as (where possible) geographical co-ordinates (for places where the books come from and where they go to).

    This could also include the creation of a suitable web interface that would allow users to search data in all fields as well as combining searches to find information in many different ways.

  2. Visualisation would use the geographical co-ordinates stored in the database, creating a way of seeing the movement of books (from production to borrowers) visually. For example, Innerpeffray owns a book that was printed and published in Venice, then sold to booksellers in London, who sent it on to Edinburgh, from where it came to Innerpeffray. From the library, this book could then be traced through the borrower records to its various destinations in rural Perthshire. We would like to be able to show this book's journey through a computer visualisation that might be based on Google maps.


Modelling Disease Spread on A Spatial Network

Supervisor: Dr. S. Maharaj

Student: TBA

Outline:

This project will extend an existing model of epidemic spread on a simple grid network to other forms of spatial structure such as small-world and scale-free topologies. It will be interesting to see whether the network structure affects the dynamics of the epidemic and the effectiveness of various infection control measures (e.g. quarantine, vaccination, use of antiseptic gels, etc.). The project will involve programming in NetLogo and some Java, as well as the use of data analysis tools such as Mathematica or the R statistical package. Some background in mathematics (probability, statistics, ordinary diffential equations) would also be helpful.


A Spatial Extension to Process Algebra

Supervisor: Dr. S. Maharaj

Student: TBA

Outline:

Process algebras (e.g. CCS, CSP, LOTOS, PEPA) are tools used for modelling the behaviour of a number of concurrently running, interacting processes (e.g. devices on a network). However, most traditional process algebras have focused only on the interactions between processes and have ignored the structure of the underlying network connecting these processes. For example, in a process algebra model of the Internet, it is easy to model interactions such as sending or receiving packets between nodes, but much more difficult to model structure, such as which nodes are directly connected to each other.

This project will explore one way of adding spatial structure to process algebras. The proposed method is to translate the process algebra models into NetLogo, which is a programming language/tool designed for spatial simulations. The idea is that NetLogo can then be used to provide spatial structure, perhaps by providing a menu of different structures on which the original process algebra model can be superimposed. NetLogo can then be used to simulate the process algebra model on the chosen network structure, allowing the user to explore how the structure of the network affects the workings of the model.

This project would suit a strong programmer with an interest in formal modelling. CSC9P6 and CSC9YA would be useful.


Developing A Participatory Simulation Activity for Teaching

Supervisor: Dr. S. Maharaj

Student: TBA

Outline:

Participatory simulation is a computer-based shared activity in which a group of participants take part in simulating the behaviour of some system in order to understand it better. Each participant controls the actions of some component of the system, which interacts with other components controlled by other participants or by a computer. An example is a Traffic Gridlock simulation, in which each participant controls a traffic light. The group as a whole cooperates to make traffic flow efficiently through a city.

This project involves developing a participatory simulation activity using the HubNet system which is part of the NetLogo simulation tool.

The activity will be aimed at teaching, and will be designed so that it can be run effectively within one of the University/Department computer labs. The focus of the activity is left for the project student to decide. It could be aimed at teaching part of a module the student has taken (particularly in subject areas such as computing, maths, economics, biology, environmental science, or social sciences). Alternatively, it could be aimed at entertaining the high school students who visit on Department Schools Days.

This project would suit an imaginative student with good programming skills and an interest in teaching.


iPad/iPod Touch/iPhone Development

Supervisor: L. S. Smith

Student: TBA

Outline:

The aim of this project is to evaluate the iOS development environment by creating a number of applications. These might include:

The department has one set of equipment that can be used for this project. The department also has some local expertise, and there are quite a lot of good resources for learning about programming using Xcode on the web (e.g. www.thenewboston.com/?cat=34&pOpen=tutorial).


Further Development of Machine Learning Software

Supervisor: K. M. Swingler

Student: TBA

Outline:

This project was started by a 2010/2011 student, and currently provides a way of optimising the collection of debt for a bank. It uses machine learning techniques to work out the best way to approach each customer in turn. It was developed with a specific client in mind, and is tailored towards their data. This project will involve extending the current system to enable its use on any data from any client in the future.

The current program is written in Java, uses a MySQL database, and uses data mining techniques that will be familiar to anybody who has done CSC9T6 or CSC9YF. There is the possibility of turning the result of this project into a commercial product at the end of the project.


Goals and Policies for Home Care

Supervisor: Prof. K. J. Turner

Student: TBA

Outline:

Policies are rules for defining how a system should behave (e.g. 'when I forget to take my medicine, give me a spoken reminder', 'if I do not get up by 10AM, alert a neighbour'). The Accent policy system has been developed at Stirling for use in various applications:

In recent work, the policy system has been extended with goals as high-level objectives for a system (e.g. 'maximise user comfort', 'minimise energy consumption'). Goals are refined into policies so they can be executed.

The aim of this project is to investigate home care management based on goals and policies. This will require becoming familiar in detail with various aspects of the approach: goals, policies, conflict handling. (See the various papers on the Accent web page.) It will require the library of goals and policies to be significantly extended, and to be tried out in practice. Initially this will be done in a lab, but later it is hoped that it can be tried out in real homes.

This project would suit a student with an interest in home-based health/social care, and in the underlying telecare/telehealth technologies.


Digital Pen Input

Supervisor: Prof. K. J. Turner

Student: TBA

Outline:

Digital pens have become common as a way of capturing user input. Early pens made use of special paper, but more recent pens such as the Mobile NoteTaker work with plain paper. (This is marketed as the DigiScribble by ApCom in Europe.) This pen effectively creates an image of what the user has written. Software such as MyScript can then be used to turn natural handwriting into digital text.

The digital pen has a transmitter that links to a receiver. The receiver can be used unconnected, when it stores pen movements (e.g. handwriting, sketches) in its local memory. When the receiver is later connected via USB to a PC, the stored pages are uploaded.

Form-based input is common in many applications. Although MyScript has this capability, it requires licensing a commercial SDK (Software Development Kit). Pegasus provide an SDK for use with their digital pens. When the receiver is connected to a PC, this allows an application created with the SDK to track the movements of the pen. The Pegasus SDK requires DLLs and so is Windows-oriented. A demonstration application in C++ is provided, along with .NET code that should be usable with C# and Visual Basic. At the start of the project, it is suggested that the DLLs be wrapped for Java using JNI (Java Native Interface) so that subsequent development can then be in Java.

The aim of this project is to explore the possibilities of integrating pen-based input into a variety of applications. Although digital forms are one possible use, other uses such as freehand drawing should be investigated. Integration with MyScript might also be possible. The application domain could be almost anything (e.g. indicating which TV programmes to record, adding items to a shopping list, marking up a University timetable).

This project would suit a student with an interest in alternative forms of user interaction. The project is intentionally open-ended and exploratory, so the student should be willing to work in a flexible way.


Analysing Vexed! Puzzles

Supervisor: Prof. K. J. Turner

Student: TBA

Outline:

Vexed! is a popular puzzle game. Originally developed for PalmOS, it was subsequently ported for use on the web, Android, PocketPC and Symbian. Jexed is a port for Java. The Java and JavaScript versions can also be played online. The original source code from Vexed is available from SourceForge (and from the proposer of this project). About 2500 puzzles are available for Vexed (on the Palm).

The rules are simple. Blocks can be slid horizontally. They fall when they reach an empty column. Identical blocks annihilate each other when they touch. The goal is to eliminate all blocks. Despite these simple rules, the puzzles are quite addictive and can be very hard to solve.

An initial project has been undertaken on Vexed!. The goals of the new project are:

This project would be suitable for a student with an interest in Java-based games and graphical programming. Because this project concerns a game it may appear to be easy. However, the project is likely to require careful analysis and development of sophisticated algorithms.


A Java Diagram Editor

Supervisor: Prof. K. J. Turner

Student: TBA

Outline:

There are many commercial drawing programs such as CorelDraw, SmartDraw and Visio. There are also many open-source drawing programs such as Dia, JFig and InkScape. However, they all have strengths and weaknesses in terms of functionality, simplicity and portability.

The goal of this project is to create a Java-based editor for line diagrams that has the kinds of capabilities the supervisor has found useful in his own work:

JGraph supports creation of arbitrary graphs. JGraphPad is built on JGraph. The author has created a derivative of JGraphPad called Chive. The project should create a general solution that combines aspects of JGraphPad (which is specialised for graphs) and Chive (which is specialised for communications services).

Additional capabilities should include configurability for different applications such as communications services, network diagrams or UML diagrams. A plugin architecture should be created to allow diagrams to be manipulated by external programs.

This project would suit a student with an interest in Java graphical programming.


Graphical Animation of Formal Specifications

Supervisor: Prof. K. J. Turner

Student: TBA

Outline:

Lotos (Language Of Temporal Ordering Specification) is an international standard for formally specifying and analysing systems. Because of its mathematical nature, it is not very appealing to ordinary users. A non-specialist is unlikely to be able to understand a specification written in Lotos. The goal of this project is therefore to make specifications understandable by presenting their behaviour in a graphical and attractive manner.

A technique has been developed for graphically animating Lotos specifications. This links execution of a Lotos specification to a graphical on-screen display. A variety of animations has been created, e.g. of the solar system and of Brownian motion. The current approach uses Display PostScript for the graphical output, but this is possible only on NextStep/OpenStep systems. Instead the project should change to using Java for the graphical output.

A further goal of the project is to extend the range of graphical animations. Those currently implemented can be found in the online paper that discusses representing the N-Body problem in Lotos (i.e. how multiple objects physically interact with each other). This paper also contains some further ideas for graphical animation such as simulating a sailing race. However, there are many other possibilities such as animating the user interface to a consumer device such as a DVD recorder.

This project would suit a student with an interest in rigorous software development coupled with graphical programming.


Up Arrow Up one level to CSC9Z* (Honours Project)

Web Ken Turner Home   Email    Search Search Web Pages

Last Update: 30th August 2011
URL: http://www.cs.stir.ac.uk/courses/CSC9Z7/avail.html