Potential PhD topics

Below is a list of topics for which I am currently looking for PhD students. Some of these topics are quite specific, while others are more open-ended and open to refinement into a specific topic. These should give you an idea of what I am interested in as a basis for further discussion. See also my notes on PhD study for more information.

I'm interested in the applications and foundations of model-driven engineering (MDE). I am also interested in computing education and empirical approaches to software-engineering research.

Applications of MDE

I am interested in the application of MDE principles to, and in particular the development of domain-specific languages for, a diverse range of different and complex domains. Below are some examples, but other application areas are also of interest.

Application of model-driven engineering to agent-based modelling

Agent-based modelling (ABM) has a large amount of technical complexity, but is often used by domain experts who want to develop a dedicated model and simulation, without deep technical knowledge. DSMLs should be able to help here.

Optimisation in model-driven engineering

Optimisation is an important technique in a wide range of domains, yet it is still woefully undersupported in MDE. We are currently developing a tool for integrating MDE and optimisation techniques and I am looking for more PhD students to help develop this tool in a number of directions.

Application of model-driven engineering to AI planning

AI planning is a very powerful tool for enabling computers to make decisions about the steps to take to achieve a particular goal. It can benefit from MDE to improve the ways in which AI plan specifications are expressed and created.

Application of model-driven engineering to robotics

Robotics is a domain with particular challenges in expressing the complex physical structure and control requirements of robots as well as their adaptations at a high level while maintaining the ability to translate this into low-level constructions that can be used successfully to control and manage a robot.

Foundations of MDE

Foundations of MDE I am interested in include the use of graph transformations for verification and modularity.

Modularity in domain-specific languages

In prior work, we have developed methods for soundly composing DSLs whose semantics are provided operationally using graph-rewriting rules. I am looking for PhD students developing tool and automated verification support on top of this.

Sound reuse of model transformations

We have previously identified fundamental problems in the reuse of model transformations. This PhD project aims to develop a reuse mechanism that takes model and transformation semantics into account for transformation reuse.

Computer Science Education

I'm looking for PhD students to support my research in computer-science education.

Understanding how students learn to program

We have been doing some initial work using qualitative studies to improve our understanding of how students learn programming. More work is needed in this area and I am looking for PhD students to help with this work.

Automated assessment of programming tasks

We are developing Nexus, an on-line platform for the automated assessment of programming assignments. I look for PhD students who want to help develop the platform and assessment / feedback technology and want to help develop empirical evaluations of the platform and approach.