Anthony J H Simons, MA PhD

Senior Lecturer in Computer Science

You are here: Simons Home / Teaching / Projects / Dissertation /
Department of Computer Science
Verification and Testing Research Group
UG | SpaceKit | The XML Olympics | The JWalk Marker | The CatWalk Tester | Sheffield Cloudbase |
MSC | Generate Java from Models | Generate C# from Models | Sheffield Cloudbase |

Dissertation Projects

This is a growing list of possible projects for bachelor's students and master's students. Please choose a project from one of the following lists, depending on your undergraduate (UG) or masters (MSC) programme. I would most like to supervise students in groups, working on related projects.

Undergraduate Projects

AJHS-UG-1: SpaceKit

Summary: This project aims to create a detailed Java model of the components used in current space launchers, which a non-expert could use to build a simulation of a rocket and its flight profile. The kind of spacecraft components in the SpaceKit will include tanks, engines, propellants, rocket stages and payloads. The SpaceKit will realistically simulate the physics of rocket science, including the mass of the vehicle, the thrust of different kinds of rocket engine, aerodynamic characteristics of assembled rockets, etc. A Java Swing visual application will graphically demonstrate the flight profile of assembled rockets.

Suitability:MEng/BEng Aerospace Engineering

Skills: Java, space physics, propulsion, aerodynamics

AJHS-UG-2: Java XML Olympics

Summary: This project aims to find out which is the best Java XML processor, in terms of memory consumption, speed of processing, package features, XPath capability, validation capability, simplicity of use, etc. Possible candidates include Java DOM, Java SAX, JDOM, JAXB, Jaxen and Sheffield's local contender, JAST. The project must design experiments that can thoroughly evaluate the capabilities of each package, in terms of competition events that each package does best. Some packages may be entered for more than one event. The end results should be publishable as a paper in a journal like Software Practice and Experience.

Suitability:BSc ITMB; MComp/BSc Enterprise Computing

Skills: Java, XML

AJHS-UG-3: The JWalk Marker

Summary: The aim of this project is to develop an automatic marking tool for student Java assignments, using the same validation engine as used by the JWalk software testing tool. The tool will allow a teacher to train a test oracle on the correct implementation of a class, then the tool will automatically grade student attempts to implement the same class. The tool may support marking single pieces of work, or a whole class of submissions, that were downloaded from MOLE in a compressed format. The tool should have the same look-and-feel as the current JWalk tool suite. Care should be taken so that the range of marks awarded for partially correct solutions is sensible.

Suitability:MComp/BSc Computer Science, Software Engineering, Artificial Intelligence, Enterprise Computing

Skills: Java, state machines, software testing, MOLE2

AJHS-UG-4: The CatWalk Tester

Summary: The aim of this project is to build CatWalk, a software testing tool to perform equivalence partition testing of Java classes. The tool will follow similar design principles to the JWalk state-based testing tool that dynamically analyses a compiled Java class and works out how to exercise all of its methods in different interleaved orders, to reach all of the different states of the test-object. However, the aim of CatWalk will be to exercise every argument category that causes each method to branch and behave differently. A means should be chosen to cover the behaviour of the test-object in the fewest tests.

Suitability:MComp/BSc Computer Science, Software Engineering, Artificial Intelligence, Enterprise Computing

Skills: Java, state machines, software testing

AJHS-UG-5: Sheffield Cloudbase

Summary: Sheffield Cloudbase is an ambitious project to use the new Virtual Server capability in the department to build a Cloud computing facility for the department. Many kinds of project are possible, from providing Infrastructure-as-a-Service, Platform-as-a-Service up to Software-as-a-Service. The external programmatic API to these Cloud services should follow a common design in Java; and top level services should be accessible over the web by end-users. All aspects of the Cloud should be secure, and a facility included for monitoring usage and charging customer accounts. See Heroku as an example.

Suitability:1-3 students studying: MComp/BSc Computer Science, Software Engineering, Artificial Intelligence, Enterprise Computing

Skills: Java, XML, Web-programming, Tomcat, MySQL

Equipment: The DCS Virtual Server facility

Masters Projects

AJHS-MSC-1: Generate Java from Models

Summary: Model-driven engineering is a growing field in which software systems are generated from models, rather than programmed in code. This project aims to build a two-step translation from a high-level object-oriented model, to executable code generated in Java. The first step will be a model-to-model transformation, resulting in a low-level Java model. The second step will be code generation in Java. All models will be in XML. All transformation code will be written in Java. This project is allied to the ReMoDeL research project.

Suitability:MSc Advanced Computer Science, Software Sys. and Internet Tech., MEng Advanced Software Engineering

Skills: Java, XML, model transformation

AJHS-MSC-2: Generate C# from Models

Summary: Model-driven engineering is a growing field in which software systems are generated from models, rather than programmed in code. This project aims to build a two-step translation from a high-level object-oriented model, to executable code generated in C# on the .NET platform. The first step will be a model-to-model transformation, resulting in a low-level C# model. The second step will be code generation in C#. All models will be in XML. All transformation code will be written in Java. This project is allied to the ReMoDeL research project.

Suitability:MSc Advanced Computer Science, Software Sys. and Internet Tech., MEng Advanced Software Engineering

Skills: Java, XML, model transformation

AJHS-MSC-3: Sheffield Cloudbase

Summary: Sheffield Cloudbase is an ambitious project to use the new Virtual Server capability in the department to build a Cloud computing facility for the department. Many kinds of project are possible, from providing Infrastructure-as-a-Service, Platform-as-a-Service up to Software-as-a-Service. The external programmatic API to these Cloud services should follow a common design in Java; and top level services should be accessible over the web by end-users. All aspects of the Cloud should be secure, and a facility included for monitoring usage and charging customer accounts. See Heroku as an example.

Suitability:1-3 students studying: MSc Advanced Computer Science, Software Sys. and Internet Tech., MEng Advanced Software Engineering

Skills: Java, XML, Web-programming, Tomcat, MySQL

Equipment: The DCS Virtual Server facility

Regent Court, 211 Portobello Street, Sheffield S1 4DP, United Kingdom