The construction of large software systems from existing components requires efficient access to possibly large collections of such components. In this paper, we present a content-based framework to organize this large collection of components in a semi-automatic fashion, according to an extensible user-defined ontology. Neural associative memories are used for fast, similarity-based access. Relevant characteristics of components are extracted and stored as a ``signature'' in such an associative memory, and during retrieval the closest matches to the query are indicated in very short time. In addition to content-based characteristics such as keywords, function and variable names, comments, and the location of the component in the class hierarchy, this method can be easily expanded to include usage characteristics, resource requirements, or other task- or customer-specific criteria.
Available at: http://works.bepress.com/fkurfess/8/