Using Case Based Reasoning to Locate and Match Object Oriented Classes and Libraries
Original Publication Date: 1994-Dec-01
Included in the Prior Art Database: 2005-Mar-28
Johnson, VM: AUTHOR [+2]
An approach is described for defining Object Oriented (OO) class definitions as cases so that Cased Based Reasoning (CBR) can be used as a tool to locate desired class definitions from a database of existing class definitions, or to compare one set (library) of class definitions to another.
Using Case Based Reasoning to Locate and Match Object
is described for defining Object Oriented (OO)
class definitions as cases so that Cased Based Reasoning (CBR) can be
used as a tool to locate desired class definitions from a database of
existing class definitions, or to compare one set (library) of class
definitions to another.
Reasoning (CBR) is a technology that can be adapted
to locate existing class definitions in a database of known classes
or to compare the contents of two class libraries. A different
approach is used for each problem. First, a single level approach is
described. In this approach, each class definition is established
as a case by defining a standard set of properties which describe the
class. A user searches to see if a class already exists by providing
a (sub)set of these search properties. The CBR engine then compares
these properties against all known cases (classes) and identifies
potential matches for the specified properties. Each possible match
has a calculated score associated with it which indicates the
closeness of the match. If necessary, a user interface prompts the
user for additional input to allow more refined matching. Additional
input increases the score of some potential matches and decreases the
score of others.
approach is termed multiple level searching.
intended to allow sets of classes to be matched to sets of classes.
(Note that searching for one class is a subset of this general
problem.) In this approach classes, attributes, methods, and
relationships are each represented as cases in the CBR database
rather than each class being represented by a single case entry.
This approach allows searches to independently match different
aspects of classes definitions, and to build on information acquired
from previous matches to eventually find the best match for a class
definition, or a set of class definitions.
wishes to locate an existing class they provide a
set of search properties or search cases. These are mapped, if
necessary, to a set of search cases which together describe the
specification of the desired class definition. The CBR engine then
compares these classes against all known cases (classes) and
identifies potential matches. If no strong matches exist for the
class description, the user can incrementally select matches for
attributes, methods, and relationships. As matches for these
portions of a class are selected, the strength of the match for the
desired class definition will increase until the best match for the
specified class is found. This is accomplished by recording
attributes, methods, and relationships as alias (synonym) property
values in the cases that are being searched for. By first
finding/selecting matches for attributes, methods, and relationships,
the scores for matching classes can be increased until suita...