System configuration

My research is focussed on the configuration and management of large computing infrastructures.

I am particularly interested in the "system configuration languages" which are used in practice for specifying and deploying large configurations. Most of these languages have been developed with much less rigour than programming languages, but they are now used in very complex ways to manage the critical infrastructure underlying every large installation. I am currently interested in constraint-based approaches, semantics of configuration languages, provenance and security, and general usability. I am also interested in the deployment of the resulting configurations, including automated planning, and agent-based approaches to distributed configuration management.
h publications h the LCFG configuration tool

I am particularly keen to bridge the gap between research and practice, and I have collaborated with HP, Microsoft, and the European DataGrid, as well as smaller companies such as Flexiant.

Teaching & learning

I am also involved in the occasional project applying informatics to teaching and learning. For example:
h Helping students to write readable code
h Asking the Right Question
h Orchestrating the student experience with social media tools