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
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
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
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
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
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
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
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
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
|