Fortran 90 is the actual standard in terms of data parallel language for scientific computing. To develop a data parallel algorithm on a distributed memory machine, programmers generally use the High Performance Fortran (HPF) extension of Fortran 90, in particular the data-mapping directives. The goal of the HPF-Builder graphical environment is to free the HPF programmers of all the syntactic constraints due to the data mapping. All the data distribution and alignment are insured in an interactive and visual way. HPF templates and processors become the visual support for alignments of arrays and distributions on grids of processors. HPF-Builder automatically generates the corresponding HPF directives and inserts them in the Fortran 90 source code, which results in an HPF code.i Introduction With the emergence of parallel and massively parallel machines, in which the memory is physically distributed on a large number of processors, new parallel programming techniques have appeared. To preserve the knowledge base, a programming model similar to the vector model was proposed: the data parallel model. Here, vectors or matrices are distributed across all the processors.Parallel operations are processed simultaneously by the processors. Here again, regular structure handling, involving only regular communication diagrams between processors, has benefited from the growing power of these new machines.The expression of parallelism at the data level has the advantage of maintaining a single control flow. A data parallel algorithm consists of a sequence of elementary instructions applied to scalar or parallel data; an instruction is initiated only if the previous instruction has ended. In the case of data parallel operands, this is when all elementary data have been processed. This strong constraint of sequentiality does not have to be implemented by parallel compilers provided that the global semantics of the program are guaranteed.Data parallel extensions of Fortran 90 promote arrays to first-class citizens of the language and propose restructuring operations for these parallel entities (gather, scatter). Compilation for distributed memory machines relies on the notion of data distribution by the use of mapping directives. These directives specify sets of elementary data that should be allocated on the same processor. High Performance Fortran (HPF) (Schreiber, 1996; High Performance Fortran Forum, 1993) is an example of this approach and seems to be becoming the most popular language for data parallel scientific programming.A distributed data parallel algorithm designer usually starts from a Fortran 90 code and inserts HPF directives respecting the HPF syntactic rules. The Fortran 90 parts express the data parallel algorithm itself, and the HPF directives ensure the mapping of the data without semantic contribution. The effects of these directives are essential in balancing the parallel processing and communications. The programmer has to insert by hand all these mapping directives. Therefore, the scientific programmer m...