You might not trust a computer with the potentially dangerous job of running a chemical plant or oil platform, but as a society we do trust computers to work for us on similar, safety-critical situations all the time. Modern society is almost totally reliant on software-based infrastructure.
This demands modelling and programming languages and techniques that facilitate and ensure quality. The reality of industry, however, is that various modern programming features found useful in other sectors of the software industry are often left out on the grounds of safety.
An international effort from industry and academia has addressed this issue by producing a high-integrity real-time version of perhaps one of the most popular programming languages ever: Java. Safety-Critical Java achieves a compromise between safety and an ambitious novel intake on a programming model: it combines a safe use of object orientation and real-time programming.
It lacks, however, the support for program development and verification now widely available for Java. At York, we have been tackling this problem for a while, but have been concentrating on a subset of Safety-Critical Java that restricts the use of parallelism. While this is a useful step, getting rid of restrictions is our goal. We want to provide techniques to support programming in a more comprehensive set of Safety-Critical Java, and fully support industry in this bold step: using Java in a novel domain of application.
We don't have a solution to this problem, but we do have a fully-funded PhD studentship that could support you while you attack it.
You'll be supported in your work by two experienced academics at York (Dr Ana Cavalcanti and Professor Andy Wellings). You'll be put through York's established programme of PhD training. The start date for the project is flexible from October, 2012, and you'll receive a tax-free stipend of £13,590 p.a. for 3 years. You'll come out of the project with excellent software engineering skills in area that is becoming more and more relevant every day: real-time systems and program verification.
The successful applicant will have a first or 2.1 in computer science or a strongly related discipline, along with a keen interest in programming and a proven ability to write and present. Good social skills, genuine sympathy for the difficulties faced by computer users, and a rigorous engineering mindset will be very valuable. Standard EPSRC eligibility criteria apply (see EPSRC's eligibility conditions for more details).
If you have any questions about this studentship, contact Dr Ana Cavalcanti. To apply, go to http://www.york.ac.uk/study/postgraduate/apply/ (in the "Funding Information" section of the form, please state "AOS CASE Studentship"). The deadline for applications is 29 June 2012.