I received degrees in Mathematics and Electrical Engineering from the University of Canterbury (in New Zealand). I worked for 5 years in Wellington doing various commercial programming projects. In 1981 I taught at Victoria University of Wellington and in 1982 moved to the University of Calgary in Alberta Canada. While on leave from the University of Calgary from 1989 to 1993 I helped found a software company, called Jade Simulations, where I functioned as Chief Scientist. In 1993 I returned to New Zealand and took up a position as Associate Professor here at the University of Waikato. In 2009 I became an Adjunct Professor in Computer Science. At present I am an Honorary Professor with the Department of Computer Science.
The main theme of my research is parallel and distributed systems. I have been involved for many years with efforts to implement a parallel discrete event simulation algorithm called TimeWarp. As part of this work I am collaborating with the Telesim project at the University of Calgary which is applying TimeWarp to simulating ATM (Asynchronous Transfer Mode) networks. I have been looking at how to use TimeWarp as the basis of a memory system for a distributed general purpose computer. As well I am working on lossless compression of text and the application of complexity based technques to learning (this is as part of the WEKA project). Another area of interest is logic programming where I am working on an implementation of a temporal logic programming language (called Starlog) and constraint systems for real arithmetic.