The classification system itself is here.
Classification systems have long been used to give structure to large bodies of information. A well-formulated system can improve understanding of the information as well as ease access to it, thus making the information more useful. The Dewey Decimal System, for example, provides a means for librarians to maintain a large collection of books. Since the system is subject-oriented, library users can quickly find books in a given subject area. Likewise, a subject-oriented classification system can be an effective means of directing users to appropriate mathematical and statistical software.
To be effective, such a classification system must have the following properties.
The classification system can be thought of as a pre-defined hierarchy of keywords. Since the entire universe of these keywords is visible to both developers and users the possibility of finding the correct software is improved. In addition, the tree structure shows explicit relationships among the set of keywords which can aid in users' understanding of them.
To use such a system, each piece of software must be assigned a class. Classification-based software selection systems permit users to incrementally refine their specification of the problem by using the classification system as a decision tree. When the most appropriate problem class has been selected by the user, software which contains the selected classification is presented.
Classification systems are not themselves free of problems. For example, they partition software much more coarsely than do keywords, and users may not be fluent in the terminology of the classification system. Nevertheless, we believe that the structure imposed by such systems improves both the user's access to information and the implementor's job of maintaining it.
The system used in GAMS has its origins in a software classification scheme devised in the 1960s by SHARE, the IBM Users Group. The SHARE scheme had a fixed two-level structure which led to very broad classes. Such a coarse structure was not suited to classifying very large software collections.
In 1975 John Bolstad proposed a substantial revision of the SHARE scheme which eliminated many of its weaknesses [9]. The Bolstad system was a multi-level tree-structured scheme. Unfortunately, it attempted to maintain compatibility with the SHARE scheme wherever possible and hence it inherited much of the SHARE system's illogical organization. Nevertheless, the scheme was a great improvement and versions of it were adopted for use by a number of groups, including NIST.
Many difficulties in using the Bolstad scheme surfaced at NIST while attempting to classify about 2500 subprograms, representing most of the widely-distributed mathematical software then available. As a result, many new classifications were added and some sections were completely reworked. The resulting scheme was used in the first GAMS software catalog [6] and was adopted for use in the documentation of the SLATEC Common Math Library.
In 1983 the classification system used in GAMS was completely revised and made available for public review [2]. This became known as version 1.0 of the GAMS Classification Scheme for mathematical and statistical software. The new system kept the Bolstad philosophy while providing an organization which more accurately reflected the then current state of mathematical and statistical software. In addition, many sections of the Bolstad scheme not directly related to mathematical or statistical software were deleted. Instead, the new scheme was viewed as a node in a larger scheme which encompassed all computer software. Minor modifications of this system appeared in [3] (version 1.1), [4] (version 1.2), and [9] (version 1.3).
The classification system was once again modified in 1989. The bulk of the changes occurred in the Statistics area, and the result was published in [5].
The GAMS taxonomy has been adopted for use by a number of institutions, including Amoco Production Research, C. Abaci (The Scientific Desk), Centro di Calccolo Elettronico Interuniversitario dell'Italia Nord-orientale (CINECA, Bologna), IMSL Inc., Konrad-Zuse-Zentrum fur Informationstechnik Berlin (ZIB), Lawrence Livermore National Laboratories, National Center for Atmospheric Research, NAG Ltd., SLATEC Common Math Library Subcommittee, University of Texas System Center for High Performance Computing.