We outline an extension of Java for programming
with distributed arrays. The basic programming style is Single Program
Multiple Data (SPMD), but parallel arrays are provided as new language
primitives. Further extensions include three distributed control
constructs, the most important being a data-parallel loop construct.
Communications involving distributed arrays are handled through a
standard library of collective operations. Because the underlying
programming model is SPMD programming, direct calls to MPI or other
communication packages are also allowed in an HPJava program.