The GUM (and GranSim) approach seems particularly promising and needs further study. It is hoped that the implementation details of these will map easily to the parallel Ginger implementation using threads. It is hoped that the conversion into Java threads should not be too difficult. The real problem could be disentangling the essential thread model from the intricacies of the GUM implementation. A possible outline of steps to follow:
A longer term goal could be to look at Reppy's implementation of CML and see whether any improvements of the thread model are possible.