\section{Summary}

Through the simple examples in the chapter, we can see the programming
language presented here has the flexibility of a SPMD program, and the
convenience of HPF. The language encourages 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.

\begin{figure}[htb]
  \begin{center}
    \leavevmode
    \psfig{figure=HPspmdLayers.eps} 
    \caption{Layers of HPspmd model}
    \label{fig:hpspmd}
  \end{center}
\end{figure}

The overall structure of the system can be shown as figure
\ref{fig:hpspmd}, the centered DAD stands for Distributed Array
Descriptor, which is introduced previously. Around it, we have
different run time libraries. The Java interface is mainly concerned
here. Yet the Java binding is only an introduction of the programming
style.  (A Fortran binding is being developed.) It can be used as a
software tool for teaching parallel programming.  As Java for
scientific computation become more mature, it will be a practical
programming language to solve real application problems in parallel
and distribute environments.


% how about irregular
