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. However, instead of maintaining the cataloged software itself, it provides transparent on-demand access to repositories managed by others. 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.
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. At the core of the GAMS system is a relational database of information about available software.