tic lexicon that was developed at the Cognitive Sci-
ence Laboratory at Princeton University (Fellbaum,
1998). It groups synonymic words (synonyms) of the
English language in synonym sets (called synsets).
Amongst others, the following semantic relations
connect synsets: hypernyms / hyponyms (is-a, is-a in-
vers) and holonym / meronym (part-of, part-of invers).
For each synset, WordNet provides definitions or ex-
ample sentences. Words with different meanings par-
ticipate in distinct synsets.
Figure 2 illustrates the general structure of re-
quirements documents defined with RSL and how
ambiguity problems of natural language are solved.
Terminology#1, for example, contains the term Cus-
tomer while Terminology#2 and #3 both contain the
term Client. However, Customer of Terminology#1
and Client of Terminology#2 both link to the same
synset, i.e. they are synonyms while the Client of Ter-
minology#3 links to another synset, i.e. the two terms
Client have a different meaning, they are homonyms.
Terminology #1 Terminology #2 Terminology #3
Requirements Specification #1
Client
Customer
Client
WordNet
Client, Customer: someone
who pays for goods or services
Client: a person who seeks
the advice of a lawyer
Requ. Spec. #2 Requ. Spec. #3
1. Client wants to sign up for show.
2. System checks availability of show.
3. System shows time schedule.
4. Client chooses time.
5. System shows sign-up dialog.
6. Client cancels sign-up for show.
1. Client wants to sign up for show.
2. System checks availability of show.
3. System shows time schedule.
4. Client chooses time.
5. System shows sign-up dialog.
6. Client cancels sign-up for show.
1. …
2. The Customer changes the order
of items.
3. …
1. …
2. The Customer changes the order
of items.
3. …
Person […]: (a human being) […]
Figure 2: Relations between Requirements Specification,
Terminology and WordNet.
3 ONTOLOGY CONSTRUCTION
In order to use the classification facilities as they are
described in the next section, we had to represent the
requirements specifications and their links to Word-
Net as a DL-model, using ontology languages like
OWL (OWL, 2004) or KRSS (Patel-Schneider, 1993).
Such languages provide facilities to define concepts
and roles (or sometimes called properties) between
two concepts. A concept (given with a unique name)
indicates the set of individuals that belongs to it, and a
role indicates a relationship between concepts. Con-
cepts and roles are combined via constructors. Typi-
cal constructors are those of ALCH I F , i.e. Attribu-
tive Language with universal restrictions, existential
qualification, concept intersection (ALC ), role hier-
archy (H ), inverse roles (I ), and functional properties
(F ). As we will see in the next section, we use ALC
for gaining a tractable description logic.
With these constructors, we can define a special-
ization relation between concepts, which provides su-
perconcepts and subconcepts in a taxonomy. Fur-
thermore, AL allows to distinguish between prim-
itive (i.e. necessary) and defined (i.e. necessary
and sufficient) concepts, indicated with implies and
equivalent, respectively.
The question is now, how to use these ontology
representation facilities in order to represent require-
ments specifications such that similar specifications
have short taxonomical distances after classification.
For this task, we examine particular aspects of re-
quirements specifications in the following and de-
scribe how they are represented.
Mapping the RSL Metamodel. The RSL meta-
model consists of 127 classes, sub- and superclasses
and several associations between them. For example,
the class SVOSentence has a generalization relation to
ConstrainedLanguageSentence and the association sub-
ject to class Subject and predicate to class Predicate (see
Figure 1). The mapping is straightforward: classes of
the metamodel are represented with concepts, gener-
alization relations are represented with specialization
relations, and associations are represented with roles.
Furthermore, the associations of a class in the meta-
model define the class, i.e. if an object with such re-
lations exists, then it belongs to that class and if an
object belongs to a class it has the relations of that
class (see Figure 3, upper part).
Although navigation across associations is bidi-
rectional in the RSL metamodel, we do not use in-
verse roles in the DL-model since the similarity com-
putation only requires roles directing down from the
concept representing the requirements specification to
the synsets of WordNet. Likewise, we can avoid a role
hierarchy because only a flat hierarchy of associations
is given in the metamodel. Finally, functional prop-
erties are not needed for defining concepts because
they relate a class to a primitive type not to another
concept. Thus, we can use the description logic lan-
guage ALC instead of the more complex language
ALC H I F .
The mapping described above provides concepts
and roles, which have direct correspondence to
the classes and relations of the RSL metamodel.
The concepts representing the classes of the RSL
metamodel form the upper model of our ontology.
The concepts representing the elements of specific
requirements specifications are modeled as special-
izations of these concepts, thus, they form the lower
part of our ontology.
ONTOLOGY-BASED SIMILARITY OF SOFTWARE CASES - Applying Ontology Reasoning to Software Retrieval
185