Mike Holcombe - 3rd year Projects 2004-5

WMLH-1: XP story tool.
WMLH-2: Virtual reality and biology.
WMLH-3: Art agent.
WMLH-4: Model checking X-machins.

WMLH-5: Pair programming support environment.


Project description.

WMLH-1: XP support environment – ADEPT (Agile Development Environment for Programming and Testing).

Key words: testing, Java, X-machines.

Description

eXtreme Programming (XP) is a lightweight methodology that eliminates the design stage and concentrates on the evolutionary delivery of requirements driven by a carefully constructed set of test cases. The test sets are run almost continuously and tools are required to support this process. Another feature is that the story cards are used to estimate the resources needed to implement the story.

A tool is needed to exploit informatuion containd in stories in the format of the cards used (see the notes used in COM2070 ) and to generate estimates and test sets from the information in the cards.

We are being funded by IBM under the Eclipse open source programme to build plug ins to achieve this. This project will be to develop ADEPT further and build on what we have already developed.

This project requires programming ability.

Resources

No specific requirements other than access to PCs and Java.

Reading

Module Links

COM221 - Software engineering practice.


Back to top


Project description.

WMLH-2: Virtual reality and fertilization biology.

Key words: 3D graphics, Virtual reality.

Description

The Department has recently acquired a Virtual reality system, specifically a Fakespace reFlex RAVEII. This is located in Research Lab 2 on the first floor.

It is a sophisticated system with a large screen several meters square and with a vairety of devices such as data gloves and wands that allow almost immersive virtual reality interactions. See http://www.fakespace.com/products.shtml#

The system is being used by biology researchers who are interested in manipulating 3 dimensional representations of parts of insects. In particular, the project will determine the 3D spatio-temporal pattern of very long insect sperm in eggs. The project, called CRUMBS, involves taking a set of 2 dimensional microscopic sections (tiff images) and assembling them into a 3 d image that can be measured, rotated and manipulated in the RAVEII. Previous work on this project has involved SGI software called CRUMBS. This project looks to create similar software and data manipulation abilities for the software platform used in RAVEII. The joint supervisor is Dr. Rhonda Snook, Animal and Plant Sciences. For an example of these types of analyses, please see: Snook, R. R., and T. L. Karr. 1998. Only long sperm are fertilization-competent in six sperm-heteromorphic Drosophila species. Current Biology 8: 291-294.

See http://www.itg.uiuc.edu/publications/forums/1998-12-03/

The joint supervisor is Dr. Rhonda Snook, Animal and Plant Sciences. http://www.shef.ac.uk/aps/staffrhondasnook.html

Resources

No specific requirements other than access to PCs and the RAVE.

Reading

Papers from the supervisor.

Back to top



Project description.

WMLH-3: Art agent.

Key words: Java.

This looks at intelligent agents in the context of a single agent which could generate artistic graphical images. The project will consider how a simple series of strategies for constructing graphical images could be defined and then some feedback loop introduced which provided some artistic evaluation (based on simple rules) so that the image could be adapted or extended to provide an image which was in some sense pleasing.

Previously we have looked at an agent to create pictures in the style of Piet Mondrian which involved studying Mondrian's detailed theory of art appreciation. We tried to capture some of his rules in the agent and this has laid the foundation for further work. Another abstract artist who created a detailed theory was Paul Klee and we have looked at this, his pictures involve a more extensive pallette than Mondrian's and so present an interesting challenge and there is scope for more on this. Another interesting artist is Jackson Pollock and was the subject of a 2003-4 project (A. Guyon)

This project requires programming ability.

Resources

No specific requirements other than access to PCs and probably Java.

Reading

Module Links


Back to top



Project description.

WMLH-4: Model checking X-machines.



You may have met X-machines in the Software Hut, they are an easy to use extension of finite state machines with internal memory and are proving very useful in software developmenbt – we use a versoin in our version of eXtreme Programming (XP).

Model checking is concerned with automatically analysing state machine based systems and could be very a powerful way of checking that a particular X-machine that has been developed has some of the properties that are desired. The apporach we will take is based on a PhD thesis by G. Eleftherakis and involves the use of a simple logic for describing certain types of queries. Something like – is there a state where the property P holds, or there is not path such that every state on that path has property P?

We will use Eleftherakis' algorithms and definitions to build an environment where such model checking is possible, using, for example, some of the prolog tools and the large X-machine models built by him and his colleagues.

Skills: Prolog or a OO programming language essential

Resources

G. Eleftherakis, Formal verification of X-machine models, PhD thesis, University of Sheffield, 2003 http://www.dcs.shef.ac.uk/~wmlh/EleftherakisThesis.ps

J. Burch, E. Clarke, et al. Model checking 1020 states and beyond, Symposium on Logic in Computer Science, 1990

E. Clarke, E Emerson et al, Automatic verification of finite state concurrent systems using temporal logic specifications, ACM Trans. Programming Languages and Systems, vol 8, 1986, pages 244-263.


Back to top



WMLH-5: Pair programming support environment. (Personal proposal by a specific student)



During last years software hut module, a number of experimental XP team were 
required to pair program. This has lead to the idea of having a concurrent 
editor, where two or more people can work on the one document simultaneously. 
The project will include devising a protocol for concurrent editing and 
messaging so that the participants in a session can chat to each other, as 
well as writing an implementation for this protocol, probably in Java or C++. 
There are a number of features that could be added after the core 
functionality is in place and working. This project should be functional on 
any IP network. 
It will also involve writing a server to maintain the concurrency of the 
document and an editor that can connect to that server and update the 
document. This could be either a standalone application or a plugin for the 
Eclipse IDE.

Skills: Java programming language essential

Resources

Eclipse web site Eclipse web site

Books on Extreme programming.Books on Extreme programming.


Back to top