Making effective use of high performance computers requires considerable expertise in diverse areas such as computer architecture, algorithms, numerical analysis, and applied mathematics. The need for insights in all of these arenas is a serious stumbling block to a researcher whose primary interest is in a particular physical application. An essential key to making high performance computers generally usable in today's fast-paced research environment lies in the development and dissemination of reusable software that encapsulates the expertise of computer scientists and numerical analysts.
A wealth of reusable software for solving recurring mathematical and statistical problems is already emerging. Unfortunately, the volume of this software and its distribution over labyrinthine computer networks has made it quite difficult for the average user to locate appropriate tools.
The Guide to Available Mathematical Software (GAMS) is a centralized software resource maintained for scientists at the National Institute of Standards and Technology (NIST). GAMS functions like a management and retrieval system for a large central software repository. However, instead of maintaining the cataloged software itself, it provides a seamless cross-index to multiple repositories managed by others. The term virtual software repository has been used to describe systems of this type.
The steadily increasing collection of software indexed by GAMS now numbers more than 9,200 software modules in about 60 mathematical and statistical software packages available from four physically-distributed software repositories, including the well- known netlib collection of public-domain research software maintained jointly by Oak Ridge National Laboratory, AT&T Bell Laboratories, and the University of Tennessee at Knoxville. Users access GAMS anonymously by logging in to a server system on the Internet. Searches based upon problem classification, keyword, or name may be used to locate appropriate software, after which items such as abstracts, documentation, examples and source code can be retrieved. Both generic and networked (X11) graphical user interfaces to GAMS have been developed.
The classification-based retrieval technology used in GAMS is not unique to mathematics and statistics. The system itself can be easily reconfigured to foster the reuse of software in any application field.
Future directions for the GAMS system include support of the system as a public Internet resource, development of networked GAMS clients and servers, development of improved classification schemes, and research in alternate search mechanisms, including domain- dependent expert system methodologies.
GAMS is a component of an experimental software exchange being coordinated for the HPCC by the NASA Goddard Space Flight center. The experiment facilitates the development and evaluation of multiple approaches to the problem of software reuse in pursuit of an open non-proprietary architecture to facilitate the emergence of a national software exchange. Click here to go to the HPCC National Software Exchange (NSE).