JavaParty is implemented by a pre-processing phase added to the Java compilers, EspressoGrinder [#!ESPRESSO!#] and Pizza [#!PIZZA!#]. JavaParty code is transformed into regular Java code plus RMI hooks. The resulting RMI portions are then fed into RMI compiler (stub and skeleton generator).
For example, the following program fragment
remote class B {
T x = I; // instance variable
T foo(V z) { P } // method
}
may generate
interface B_intf extends RemoteIntf {...}
class B_impl extends RemoteInstance implements B_intf {
T x = I; // instance variable
public T foo(V z) throws RemoteException { // method
toRemote(P)
}
}
JavaParty is important contribution to research on Java-based parallel computing. Compared to approach in this dissertation, we expect to suffer from some unavoidable overhead from the RMI mechanism, relative to direct message-passing. Also there is relatively little evidence that the remote procedure call approach is actually convenient for SPMD programming.