The major contribution of this paper is the application of modern analysis
techniques to the important Message Passing Interface standard, work done i
n order to obtain information useful in designing both application programm
er interfaces for object-oriented languages, and message passing systems. R
ecognition of 'Design Patterns' within MPI is an important discernment of t
his work. A further contribution is a comparative discussion of the design
and evolution of three actual object-oriented designs for the Message Passi
ng Interface (MPI-1) application programmer interface (API), two of which h
ave influenced the standardization of C++ explicit parallel programming wit
h MPI-2, and which strongly indicate the value of a priori object-oriented
design and analysis of such APIs. Knowledge of design patterns is assumed h
erein.
Discussion provided here includes systems developed at Mississippi State Un
iversity (MPI++), the University of Notre Dame (OOMPI), and the merger of t
hese systems that results in a standard binding within the MPI-2 standard.
Commentary concerning additional opportunities for further object-oriented
analysis and design of message passing systems and APIs, such as MPI-2 and
MPI/RT, are mentioned in conclusion.
Connection of modern software design and engineering principles to high per
formance computing programming approaches is a new and important further co
ntribution of this work. Copyright (C) 2001 John Wiley & Sons, Ltd.