9311759 Brinch Hansen The goal of this project is to develop a new programming methodology for computational science based on programming paradigms for multicomputers. The research is guided by a precisely defined paradigm concept: A programming paradigm is defined as a class of algorithms that have the same control structure. For every paradigm, a general program is developed that implements the common control structure on a multicomputer. From the general program, two or more model programs are derived that illustrate the use of the paradigm to solve specific problems. The general problem includes a few unspecified data types and procedures that vary from one application to another. A model program is obtained by replacing these data types and procedures with the corresponding data types and procedures from a sequential program that solves the same problem. The essence of the programming methodology is that a model program has a parallel component that implements a paradigm and a sequential component for a specific application. The clear separation of the issues of parallelism and the details of application is essential for writing model programs that are easy to understand. So far, only a fraction of the possible paradigms have been studied. This project would follow up a preliminary investigation of regular computations with a study of irregular computations that require dynamic load balancing. ***