My research topics to date include model checking of Petri Nets (in particular, compositional reachability checking) and functional programming languages (specifically, methods of implementing IO).

Compositional model checking of Petri Nets:

My PhD research focussed on compositionally checking reachability in systems modeled by Petri nets. My PhD thesis Compositional specification and reachability checking of net systems is available online, and includes the work from three papers I co-authored:

IO in functional programming languages:

My masters research project investigated methods of implementing input/output (I/O) in functional programming languages: report (PDF).