Mike Holcombe - MSc Projects 2006-7

WMLH-1. Simple Formal Methods tool – Eclipse plug-ins.

Key words: Eclipse, formal methods

Description

This is a series of related projects to develop further the ADEPT environment which has been funded by IBM and is used within Genesys. The tool will also be used in the Eclipse environment for the Crossover (1st year undergraduate) and Software Hut (2nd year undergraduate) projects.

Eclipse is an international movement, strongly supported by many large companies such as IBM, which develops and promotes an open source IDE. This has the facility for incorporating plug ins to support various types of design, program and test activities in a coherent manner.

See http://www.genesys.shef.ac.uk/eclipse

http://www.dcs.shef.ac.uk/campus/eproj/msc2005/abs/m4rb.htm

and http://www.eclipse.org/

The concept is to allow users to build a simple editor for formal specifications which will connect with the X-machine editor that already exists as an Eclipse plug-in. Simple basic types will be combined using constructors into more complex types. Functions and relations suitable for using as transitions in X-machines will be included.

The key aspect is that it should be flexible and easy to use.

Resources

No specific requirements other than access to PCs, eclipse and Java.

Reading

Start with the Eclipse pages on Genesys.

Module Links

Genesys

Back to top 


Project description.

WMLH-2: easyTest. SSIT, ISS

Testing is the most expensive part  of the software development process consuming at least 50% of time and money in any typical project. Yet,
despite this, testing is rarely dealt with in any detail, if at all, in programming courses. New approaches to software development, such as
eXtreme Programming (XP) require you to write your tests FIRST, before starting to code and to run these tests regularly on the code as you
develop it. This gives you much more confidence that your code is good. However, it is not easy to write tests and if the tests are poor the
code will also be poor (buggy).
 
This project will create an on-line test support system, easyTest, which will be both a learning tool and a practical test tool. The focus is a
'learn and do' approach for use in a first Java programming course.
 
Part of the tool will be some simple pages of information and guidance on how to write simple tests with many examples and a practical and
structured approach to thinking about simple programs and classes in order to create tests. The second part will be an integrated tool which
will store tests and provide a mechanism for applying these to the developing code with minimal effort.
 
There is already a popular program for running tests in this way – Junit - and we will build on this. This is available from: 
www.XProgramming.com
 
The final product should be a powerful aid to novice programmers that will guide them in writing tests and provide a friendly environment so
that they can do their testing as they try to develop their code. The tool must support programmer activity and not 'get in the way'
 
Resources.
K. Beck, "eXtreme programming explained - embrace change" Addison-Wesley.
M. Holcombe, Notes on XP - from supervisor.


Back to top


Project description.

WMLH-3 Software Hut resource and publicity page. SST, ISS

The Software Hut is an innovative project carried out by all 2nd year undergraduates in the Department. It is similar in concept to the Maxi project in that there are real clients, usually from local businesses and other organisations. The project is to construct a web page which will present some of the achievements of the software hut, examples of systems built and clients, a facility for prospective clients to send in project requests and as much good marketing content as we can find.
Included in the site would be videos of students taking part in the project, interviews with exyternaal business clients and material from IBM and Accenture.
 
Resources.
 
Information Provided by supervisor.


Back to top


Project description.

WMLH-4 Smart card specification

As part of the Grand Challenge in computing project we have been asked to develop a formal specification using X-machines of the smart card system Mondex.
 
This will involve using a combination of X-machines (general finite state machines) and simple discrete maths to develop this specification and carry out some analysis and test set generation.
 
Resources.
 
Information Provided by supervisor.


Back to top