I belong to the following research groups:
I am a Research Associate with seven years experience in the field of programming language and language runtime systems. I have a specific interest in the implementation and expression of concurrency in programming languages. Presently I am working with Scott Owens on memory models for relax consistency shared memory concurrency.
I am somewhat eclectic and enjoy exploring new applications of Computer Science. At present I am working on research in the following emerging areas:
- Hardware transactional memory
- GIS and OpenStreetMap for mapping ecosystem services and environmental modelling
- GIS and OpenStreetMap and indoor mapping for augmented reality
- Programming abstractions for augmented and mixed-reality applications
A few pieces of research software I have written or worked on:
I have worked on a number of projects and maintain a number of collaborations:
- I work with Richard Jones on the MirrorGC project, exploring algorithms for concurrent and parallel garbage collection and memory management.
- I worked on the CoSMoS project exploring modelling techniques for complex systems, and the RMoX project developing operating system components in the occam-pi programming language.
- As a Research Fellow in the Environment department at the University of York working on models of ecosystem services for Defra and Natural England.
My doctoral research focuses on runtime technology for process-oriented programming. As part of this I have worked on maintain the KRoC occam-pi toolchain, specifically developing its multicore runtime and LLVM backend. I have done work on the Transterpreter virtual machine interpreter for occam programs, and used it for teaching at Kent.