The Guide to Available Mathematical Software (GAMS) project of the National Institute of Standards and Technology (NIST) studies techniques to provide scientists and engineers with improved access to reusable computer software components available to them for use in mathematical modeling and statistical analysis. One of the products of this work is the GAMS system, an on-line cross-index and virtual repository of mathematical software . GAMS performs the function of an interrepository and interpackage cross-index, collecting and maintaining data about software available from external repositories and presenting it as a homogeneous whole. It also provides the functions of a repository itself (i.e., retrieval). However, instead of maintaining the cataloged software itself, it provides transparent on-demand access to repositories managed by others.
GAMS currently contains information on more than 9800 problem-solving software modules from about 85 packages found in four physically distributed software repositories (three maintained at NIST and Netlib). In addition to most of the software in the Netlib collection, GAMS cross indexes individual components in large multipurpose libraries such as IMSL, NAG, PORT, STARPAC and SLATEC, as well as capabilities of statistical analysis systems such as DATAPLOT and SAS. Both public-domain and commercial software is cataloged, and although source code of proprietary software products are not available through GAMS, related items such as documentation and example programs often are.
All problem-solving software modules in GAMS are assigned one or more problem classifications from a 736-node tree-structured taxonomy of mathematical and statistical problems developed as part of the project . Users can browse through modules in any given problem class. To find an appropriate class, one can utilize the taxonomy as a decision tree, or enter keywords which are then mapped to problem classes. Search filters can be declared which allow users to specify preferences such computing precision or programming language. In addition, users can browse through all modules in a given package, or all modules with a given name. Each module's abstract lists the retrievable objects associated with the module, such as documentation, examples, test programs, source code and dependencies. (More than 32,000 such objects can be retrieved.)
At the core of the GAMS system is a relational database of information about
available software. This database is maintained at NIST, which provides a
classification service for the repositories it indexes. The GAMS network
server provides this information to network clients using a specialized
protocol over TCP/IP connections. In addition, a gateway to the World Wide Web
has been developed using the Common Gateway Interface (CGI) facility of NCSA's