Through the simple examples in this chapter we have tried to illustrate that the programming language presented here provides the flexibility of SPMD programming, and much of the convenience of HPF. The language helps programmers to express parallel algorithms in a more explicit way. We suggest it will help programmers to solve real application problems more easily, compared with using communication packages such as MPI directly, and allow the compiler writer to implement the language compiler without the difficulties met in the HPF compilation.
The overall structure of the system is shown in Figure 1.9. The central DAD stands for the Distributed Array Descriptor. Around it, we have different run-time libraries. The Java interface is most relevant here. But the Java binding is only an introduction of the programming style. (A Fortran binding is being developed.) Initially, the Java version can be used as a software tool for teaching parallel programming. As Java for scientific computation becomes more mature, it will be a practical programming language to solve real application problems in parallel and distributed environments.