Computer Similarity in a Reuse Library System: An AI-based Approach

Thumbnail Image


TR_91-6.pdf (1.5 MB)
No. of downloads: 431

Publication or External Link







This paper presents an AI-based library system for software reuse, called AIRS, that allows a developer to browse a software library in search of components that best meet some stated requirement. A component is described by a set of (feature,term) pairs. A feature represents a classification criterion, and is defined by a set of related terms. AIRS also allows for the representation of packages, that is, logical units that group a set of related components. As with components, packages are described in terms of features. Unlike components, a package description includes a set of member components. Candidate reuse components (and packages) are selected from the library based on the degree of similarity between their descriptions and a given target description. Similarity is quantified by a non-negative magnitude (called distance) that represents the expected effort required to obtain the target given a candidate. Distances are computed by functions called comparators. Three such functions are presented: the subsumption, the closeness, and the package comparators. We present a formalization of the concepts on which the AIRS classification approach is based. The functionality of a prototype implementation of the AIRS system is illustrated by application to two different software libraries: a set of Ada packages for data structure manipulation, and a set of C components for use in Command, Control, and Information Systems. Finally, we discuss some of the ideas we are currently exploring to automate the construction of AIRS classification libraries.