At the time the working group was created there were several known efforts towards the design of early MPI-like interfaces for Java with three fully functional but different implementations--mpiJava , JavaMPI , and MPIJ . The implementation of mpiJava is based on the use of native methods to build a wrapper to existing MPI library (MPICH). A comparable approach has been followed in the development of JavaMPI, but the JavaMPI wrappers were automatically generated by a special-purpose code generator. A large subset of MPI-like functions called MPIJ is implemented in pure Java within the DOGMA system for Java-based parallel programming. MPI Software Technology, Inc. announced a commercial effort to develop a message-passing framework and parallel support environment for Java called JMPI . Some of these ``proof-of-concept'' implementations have been available since 1997 with successful ports on clusters of workstations running Solaris, Windows NT, Irix, AIX, HP-UX, MacOS, and Linux, as well as the IBM SP2, SGI Origin-2000, Fujitsu AP3000, and Hitachi SR2201 parallel platforms.