My research interests include Distributed Systems, Networking, Concurrent Programming Models and Mechanisms, Programming Language Implementations.

My students, colleagues (specifically Profs. Anjan Bose and David Bakken) and I work in the areas of middleware for power grid communications (see the pages for the GridStat project and pages for the TCIP project). I am also working on issues related to use of functional programming in distributed systems and real-time systems.

The current students associated with the research are:

Past students include:

One project I am working on is extending the scheduler in the Concurrent ML system to support priority and rate based scheduling, and to support discrete-event simulation. A patch file giving the Standard ML of NJ 110.59 release discrete simulation capability is available here. To use it, download and install the SMLNJ 110.59 release. Change to the base directory of the smlnj installation (just above the src directory) and run

   patch -p1 < smlnj110.59-3.sim.patch
then run
   config/install.sh
which will rebuild the installation with the simulation patches.
Note: The reorganization of the SMLNJ source files that occurred for the 110.60 release (and later) requires a slightly different patch procedure. Change to the base directory of the smlnj installation (the directory containing config, cml, eXene, etc. as subdirectories). Run
   patch -p2 < smlnj110.59-3.sim.patch
then
   config/install.sh
to rebuild. I intend to provide an updated patch file when needed to track changes in the SMLNJ release.