This project will develop a set of tools that will automatically map data and computation for HPF programs, thereby reducing the programming time and effort required for producing efficient and portable parallel programs. The system of tools will use the alignment-distribution graph as the internal representation of Fortran 90 (and HPF) programs and use graph-theoretic, linear- algebraic and discrete optimization techniques to determine alignment and distribution of arrays that minimize program completion time. The system will not be limited to the `owner- computes` rule often employed by HPF compilers, but will choose the computation rules that minimize running time of the program. The system will also provide a back-end for generating code for message passing systems, and a graphical user interface for debugging and visual feedback. The project will develop algorithms for inter-procedural layout analysis, and heuristics for reducing the complexity of analysis algorithms. The educational component of this project will develop undergraduate courses with laboratory emphasizing experiment design, measurement and use of statistical analysis.