An Approach to the Classification of Domain Models in ... - CiteSeerX

8 downloads 0 Views 916KB Size Report
for the car rental problem. Certification level is an indicator of how rigorous the models are produced. To reuse existing software artifacts, no matter in what form,.
An Approach to the Classification of Domain Models in Support of Analogical Reuse Chung-Horng Department

Email:

Lung and Joseph E. Urban

of Computer Science and Engineering Arizona State University Tempe, AZ 85287-5406 {clung I jurban} @asuvax.eas.asu. edu

Abstract

other reason is that domain analysis is a study of relevant information in a problem area rather than just one particular system. As a result of the study, commonalities and reusable information within a domain can be identified in the process. The analysis can then be reused to build new applications which are also in the same problem domain. Thus, domain analysis may support reuse to a large degree and has the potential to receive high payoff.

This paper presents an approach to classify domain models in order to facilitate reuse through analogy. Domain analysis plays a critical role for systematic reuse, but domain analysis is difficult to perform, especially for new application areas. Analogical approach to reuse can support the domain analysis process by providing software products in a different but analogous domain. In order to achieve this goal, domain models need to be classified. This paper proposes a classification method for domain models. The method is an integration of the The enumerative hierarchy and faceted scheme. classification approach can help the domain analyst to locate an analogous domain to perform the modeling and analysis process. Moreover, the approach is more flexible and more descriptive than conventional classification methods.

Although domain analysis has the potential to promote large-scale software reuse, it suffers some barriers due to the complexity and the effort required. Domain analysis is generally suited to well-understood domains. But domain analysis is difficult to start for poor-understood problems or new application areas. Analogical problem solving is another approach to software reusability. Analogical problem solving transfers knowledge from past problems to new target problems that share significant similarities with the past problems in order to construct solutions to the target problems. Analogy is a topic of interests in many research disciplines, such as psychology, cognitive science, artificial intelligence, While domain analysis education, and philosophy. identifies commonalities across applications in a specific domain, analogical reasoning often occurs between different domains. There are many analogous examples in sciences, e.g., the analogy between the solar system and the structure of an atom.

1. Introduction Software reuse is recognized as an important research topic in software engineering. Software reuse has the potential to increase productivity, improve quality, enhance reliability, and shorten time-to-market. The problem in the current software community is not a lack of reuse, but a lack of well-defined systematic reuse [Prieto-Diaz 93]. Different approaches to software reuse have been reported in the literature. Among the approaches, domain analysis is advocated as a necessary step for effective reuse.

Therefore, analogy is not based on syntactical similarities between different systems but the implicit knowledge structure of the problems. Two problems may be different in syntax, and yet share a common knowledge structure. The reuse of problem solving experience and knowledge from one domain to another makes analogy an interesting and attractive approach. Moreover, analogy may facilitate the analysis for a new domain or a poorly understood domain.

There are two main reasons for utilizing domain analysis. Firstly, domain analysis emphasizes the reusability of analysis and design instead of just program code, The Permission to copy without fee all or parl of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association of Computing Machinery.To copy otherwise, or to republish, requires a fee and/or specific permission. SSR ’95, Seattle, WA, USA G 1995 ACM 0-89791 -739- 1/95/0004 ...$3.50

In order to support software reuse across different but analogous domains, the results of domain analysis must

169

be classified, especially the high-level software artifacts, such as domain models. A domain model is a representation of a domain that depicts objects and relationships, functions, and behaviors. The model identifies generic requirements or commonalities and differences of the problems in a domain. Classification in one of the most fundamental methods adopted in various disciplines of science and engineering. Classification helps people compare and understand different systems or areas.

Nevertheless, these approaches share a common purpose, which is to manage the identification, capture, and evolution of domain knowledge and make the information reusable when creating new systems in the same application domain. Wartik and Prieto-Diaz [Wartik 92] proposed a set of classification criteria in order to compare different domain analysis approaches. The reusable information generally represents a set of features common to a collection of existing and future applications in a problem domain.

Recently, classification has also been studied for software, either for low-level components or high-level artifacts. There are two major categories to classify software: The enumerative enumerated and faceted schemes. hierarchy approach suffers the problem of inflexibility, whereas the faceted scheme alone cannot adequately This paper specify complex application domains. describes a classification approach for domain models. The purpose of the classification is to facilitate the domain analysis process for new or not well-understood target domains through the retrieval of existing analogous domains. The classification is a hybrid of hierarchical and faceted schemes. In other words, the classification consists of a hierarchy of facets.

Domain analysis has been advocated as a critical step to support systematic software reuse [Prieto-Diaz 93], Domain analysis is related to several other research areas. These areas include requirements engineering, objectoriented methods, knowledge engineering, software factories, and library science. Prieto-Diaz and Arango [Prieto-Diaz 91a] have addressed those issues in the tutorial and have collected a set of articles specifically on domain analysis. The kinds of software products that domain analysis may produce include source code, design, specifications, objects, text, architectures, and domain models. An architecture defines basic system components and their relationships and interfaces. Architectures are used as generic development frameworks for a set of similar problems, so that the developer does not need to build a high-level design for each application within a domain. A domain model defines the functions, objects, relationships, and behaviors in a domain. The model identifies generic requirements or commonalities and differences of the problems within a domain.

The paper follows the concept studies

of analogy

engineering. software

with

of domain

Section

2, which

analysis.

in various

Section

Section disciplines

4 discusses

is an overview

of

3 introduces

the

and in software

methods

and

to classify

postulates a classification approach Lastly, Section 5 summarizes models.

for

the discussion of the paper and presents some future research directions. domain

2. Domain

Domain analysis can be viewed as an expansion of the conventional requirements analysis. The main advantage that domain analysis provides is flexibility. However, domain analysis suffers some barriers due to the complexity and a large amount of time required for development. Domain analysis is suited for stable, muture, and well-understood domains [Biggerstaff 92, Arango 93]. For new domains, analysis may be difficult to start. Furthermore, commonalities of various levels also exist among different application domains. Therefore, domain analysis may suffer the same problem that requirements analysis has been suffering, i.e., lack of flexibility to support reuse for similar applications. Analogy analysis, presented in the next section to overcome the problem, broadens the scope of analysis for different but analogous application domains. Through analogy, reuse of various of levels of software is possible across domains.

Analysis

Greenspan, et al. [Greenspan 82], Borgida, et al. [Borgida 85], Curtis, et al. [Curtis 88], and Johnson, et al. [Johnson 92] addressed the importance of incorporating “real world knowledge” (domain knowledge) into the process of requirements analysis. However, they only focused on a particular system instead of a class of applications. Neighbors [Neighbors 84] was one of the first researchers to define domain analysis as being “the activity of identifying the objects and operations of a class of similar systems in a particular problem domain. ” Kang, et al. [Kang 90] defined domain analysis as “the process of identifying, collecting, organizing, and representing the relevant information in a domain based on the study of existing systems and their development histories, knowledge captured from domain experts, underlying theory, and emerging technology within the domain. ” There

were

several

approaches

discussed in the literature, 87, Cleveland 88, Arango

e.g.,

to [McCain

domain

3. Analogy Analogical problem solving is a process of transferring knowledge from past problem solving experiences to a new problem that share significant similarities with the past problem. The transferred knowledge is then used to construct solutions for the new problem. Analogy is a powerful problem solving and learning mechanism that

analysis

85, Prieto-Diaz

89, Shlaer 89, Bailin 90, Kang 90, Campbell 91, Devanbu 91, Lubars 91, Simos 91]. These approaches have different perspectives on the process and the products on domain analysis.

170

has been

studied

science, Several

in the areas of psychology,

artificial articles

intelligence,

education,

[Kedar-Cabelli

88, Hall

cognitive

and philosophy. 89, Leishman

Bejar

91] have surveyed or discussed Analogy also plays a vital areas.

90,

analogy in those role in scientific

similarity

between

evolved

from

approaches

[Michalski

have

been

also

support This

the amount

classification

of water

John-Steiner

flowing

through

[John-Steiner

presented

a number

inferences

as a scientific

explaining

analogical

the concept

of analogy

systems

management

and

has been

software

applied

to

engineering

[Silverman 85a, Silverman 85b, Finkelstein 88, Miriyala 89, Maclean 91, Neal 90, Maiden 92, Lung 93, Maiden 93, Harandi aspects models, software

93, Lung

94].

These papers

discuss

various

and rules domains.

or

strategies

for

different

accepted

application

[Finkelstein

88]

presented

patient

monitor

Maiden

and Sutcliffe

the air traffic systems Similarities categories,

that there

domains.

system

the similarities

among

approach

with examples.

and the flexible

the

of Software

Maiden

[Maiden

are different, These

hierarchy.

The hierarchy

Two

syntactically

similar

meet the demands

may not

different

in syntax.

hierarchy

drawing

application

knowledge

analogy

structures

between

two

much

are the different

domains.

This paper does required to draw areas. The perspectives

not address how or what features are an analogy between different problem

papers just listed above presented on the issue. Instead, the paper

how to classify the application domains in support the analogy analysis and identification

for domain

the universe

in

of knowledge

more

complex

domain

than

of domain various domains.

In faceted

classification

since

software

may consist

distinguish application

expansion

models

and evolution

of flexibility

models,

is even more

domain parts.

of several

are a A

to represent

embedded

schemes

models Moreover,

sub-domains.

is adequate

features

in

[Prieto-Diaz

or

different

9 lb],

parts

or components are described by a set of standard terms or facets; each facet describes a key aspect of the software. These approaches are more descriptive and extensible than the enumerative methods. However, the faceted

different discusses order to process.

classification

approach

is mainly

determining

and selecting

approach

complexity

and uncertainty.

models.

designed

for

software

For software products in the early phase of the life the approach alone has a major problem of the appropriate Poulin

facets due to the

and Yglesias

[Poulin

93] also reported some empirical issues encountered in utilizing the faceted classification scheme. The authors advocated a combination of classification techniques to

4. Classification

support

Classification or clustering analysis is central to human reasoning and problem solving capabilities. Classification in “the construction of from featural information,

complex object

knowledge clusters, and

category structure” [Hanson 83]. Classification is used to group similar entities together to develop a set of clusters, so that the similarity

an aspect a classification

the track of enumerative The science.

of continuous

parts. cycle,

is useful structures

et al. [Mineau

the research in such as software Although these

library

divides

The identified analogous domains can then be reasoned to facilitate the domain analysis process for the new problem The next section addresses the classification area. for domain

Classification

is, however,

in

The consideration

important

key

Similar

of the

relationship.

of software.

complex

an

support

illustrates

The major problem with the approach is the inflexibility. For software, a flexible classification is required that can

be analogous. On the other hand, two domains may share similar knowledge structures even if the domains are to

method

hierarchical

manufacturing

domains

4.3

all generate

follows

schemes

an approach in

93], Mineau,

there

approaches

software

that

share some important commonalities. can be further distinguished into three namely, syntactical, semantic, and pragmatic

similarities.

models

Section

First,

of

4.2 presents

4.1 Overview Schemes

common.

to

into classes that include all possible compounded classes [Prieto-Diaz 87]. These classes are then organized in a

system.

92] also have showed

sub-sections.

domain

Finally,

and Sutcliffe

schemes

components

overview

Section of

analogy.

enumerative

Finkelstein

alarm

several an

software

approaches

the

between

and the burglar

[Maiden

controller

are similarities

For example,

of

schemes.

classification

software

has

conceptual

b].

provides

classification It is generally

Lately, for

analysis

to

94] and Bhansali [93] have pioneered classifying high-level software artifacts, architectures and domain models.

of analogy. The aspects include procedural role of analogy in the design of software, derivation from analogous applications, types of

knowledge required, selection of analogous

83].

classification

Clustering

methods

adopted

consists

4.1

to the

in science.

Recently,

section

Section

at a given [Biela91]

of examples method

a pipe

85] and Biela

is low.

reuse [Prieto-Diaz91

discovery or invention. One example is the analogy between electricity and water flow in a pipe. In this case, voltage is like the water pressure, and current is similar to time.

clusters numerical

within

a cluster

is high,

while

the

171

software

classification.

Facet

Description Broad

Application

problem

inventory

area

1

control,

library

Domain Layer

Examples

I

domain

Resource

reusable,

The type of key objects

Type

Domain

High

level description

Abstraction

domain

Function

Key system

consumable

scheduling,

of primary

allocation

characteristics J

Layer

Relation

2

functions

Classes of semantic

Class

check_out, I reserve relations

return,

class inclusion,

for key

ca&e-

purpose

objects

safety,

Purpose

Main

Trigger

The type of triggering

design goal

Complexity

The degree of complexity

p roductivity

automatic, neridic

mechanism

manual,

J application Layer

The expected

Size

3

medium,

low

size of the

high, medium,

low

of the generated

high, medium,

low

software

application

domain

Certification

The quality

rating

Level

domain

Figure

high,

of the

domain

models

1. Hierarchy

4.2 Integration of Enumerative and Faceted Scheme

of Domain

Model

Facets

Domain

Hierarchy

by

concept

Poulin

and

classification namely, above layers.

of the article Yglesias,

is similar to that proposed a combination of i.e.,

Two

methods.

enumerative

classification

hierarchy

and

facets,

of a set of facets.

Figure

The hierarchy

three layers.

facets.

Each layer

1 illustrates

also represents

different

consists levels

presented

layer

are used as classifiers.

to

model

adopted

by Maiden

and Sutcliffe

similar

requirements The concept

proposed

data models

by Maiden group

is similar

by Bhansali

presented

application and key facts

in [Mineau

in this paper is similar

and Sutcliffe,

to the

[Bhansali 94].

93] The

to the idea

i.e., classes of domain

are identified by the key domain facts or characteristics. Each class consists of several application domains which share similar high-level generic abstractions.

of of of

Currently, abstractions,

abstraction. Facets in the first

proposed used

of domains.

facet approach

described

the concept

currently

classes

and generic

methods,

are

based on high-level

problem-class

are integrated. The approach consists of various Each level in the hierarchy, in turn, is composed

hierarchical

93]

domains about

The main

abstractions

[Maiden

defined

The usage

some commonly encountered mainly in the general business

in the paper to demonstrate

1 shows those domain

of an application domain facet is to ensure that applications in the same domain are grouped together in the classification stage. In this way, applications in the

Obviously, continuously

abstractions

the set of generic

domain area, are

the feasibility. and their

domain

Table

descriptions.

abstractions

will

as more research and experiment in Some areas like data base this area is conducted. management systems, networks, programming languages, and software engineering environments are considered as supporting systems instead of domain abstractions. The facet of domain abstractions is primarily used to select some analogous domains to facilitate the domain analysis process of the target if there is no existing products of the same domain available in the library.

same domain are always retrieved first for the target during the analogy phase. Critical objects or resources are then categorized. Grosz [Grosz 92] defined different types of resources. The categories include consumable resources (for instance, the product in the inventory system) and reusable resources (for example, books in a library). Consumable types are further composed of perishable (fresh products in a grocery) and nonperishable (hardware). Reusable objects are distinguished as

Facets

renewable objects (books in a library or video tapes in a rental store) and repairable objects (cars or airplanes). An object can also be characterized by more than one feature.

in

evolve

layer

2 primarily

serve

to

bridge

the

gap

between the generic domain abstractions and features in specific application domains. These facets are actually abstractions of software products developed in the domain

172

Table Some Representative

-nnrn v...

Object

2; n

-...

.

A h~frnotinn -w ...,.. .“UU

Amount

Control

I

This abstraction reached.

supports

an object

Abstractions

This abstraction

an analogy

for domains

amount

will

level

be ordered

Flv.m”l.c -(.u,,.~.w.

warehouse

room temperature

or

control

supports

and leaving

an analogy records

for domains

as objects

personnel system,

an environment.

Scheduling

This abstraction

supports

administration,

an analogy

for domains

that deal with scheduling objects in order to get a maximum productivity or efficiency with limited resources. Object

that monitor

supports

the moving

ensure the correct Object

Allocation

This abstraction that allocate

Object

for domains in a space to

positions. supports

an object

manufacturing vehicle trucks)

systems,

(aircraft, buses, dispatching

ATC,

airspace

navigational

systems,

manufacturing

an analogy

to another objects

for domains

object

(usually

are returned

after

systems

library

systems,

rental,

reservation

systems

car

(hotel,

airline)

of time.

This abstraction

Distribution

an analogy of objects

an agent). The allocated a period

zoo

control

systems

This abstraction

Positions

information student

animals Object

stock control,

is

is signaled.

that keep track of objects entering

I

when a minimum

A predefine

added, or a warning Recording

Domain

Tbw-rintinn -Vuw. .yuu..

that resupply

Object

1

supports

an analogy

for domains

that collect mass objects in a central location then distribute the objects into prespecified

and

parcel

delivery

systems,

goods distribution applications

destinations. Periodic

Object

This abstraction

[nitiating

for domains

banking

systems,

that periodically report or verify the status of an object, or issues some operations to other objects.

supports

an analogy

vehicles

(aircraft,

trucks,

cars) maintenance, recording inventory

periodic report, salary

systems Object Coordination

This abstraction that monitor

supports

an object

an analogy

for domains

class (vehicle),

object Simulation

signal

systems,

synchronize and coordinate other objects (traffic lights) to increase the efficiency or safety of the 3bject

traffic

control

traffic

management

systems

class (vehicle).

This abstraction

supports

an analogy

that simulate real world problems resources and analyze results.

for domains

by controlled

discrete

simulation,

continuous simulation, computer systems simulation

3bject

This abstraction

Combination

that collect objects

modeling functions

phase.

A

in the domain.

function

supports

individual

for update,

facet

The relation

objects analysis,

represents class

an analogy

depicts

and combine

between

two

entities

[Herrmann

those

or control.

traffic

management

systems, (POS)

words,

key

analogy

point-of-sale

systems

may be processed

differently

for different

types of relations. Bejar, et al. [Bejar 91] derived a taxonomy to group semantic relations. Detailed discussion of the classification of semantic relations is beyond the scope of this paper. With the taxonomy, th relations can be decomposed into common aspects that the systems are sharing and aspects that the systems differ,

the

type of semantic relations for critical objects. Relations between objects have been recognized as basic in analogical problem solving. Empirical evidence supports that comparison and evaluation of relations is a commonly used and effective approach to judge similarities

for domains

Thereby, relations can be better understood reasoning can be facilitated.

86, Chaffin

881. Studies in cognitive science also indicate that different relations ma~ be processed differently. In other

173

and analogical

Specific

Facet type car rental

Application

Facet Descriptions

problem

Domain Resource Layer

vehicle:

Type

reusable,

user: customer,

1

staff

I

repairable

agent

agent

Domain Abstraction

object

allocation

Function

users can check outheturnlreserve

vehicles

staff can search/manage/ttpdate/verify Relation

Class

user: vehicle staff

Layer

services

The system

allows

The system

calculates

fleet

Object Recipient

user

The system provides

Purpose

vehicle

Instrument

vehicle—Agent: — Agent:

staff

2

— Agent:

to allow

users to rent vehicles.

staff to keep track of vehicle the rental

fleet.

cost for users.

~ Trigger

Figure2. Purposes

or

information 85,

system

transfer

Holyoak

prioritized

goals from

design

goals.

Facet Descriptions

heavily

influence

a base to a target

The

89].

will

Specific

purpose Two

in

different

forthe

the

2 lists

domains

for the

concept,

but different

“maintain [Garot

goals.

safe, orderly,

87].

In FMS,

For ATC,

and expeditious

may have

the major

concern

quality

difference and problem

of traffic”

is how to schedule

Triggering

describes

the main

emphasis

cause of system

triggering

in

domains

need different library problem

with

complexity

one

of

artifacts, the

no matter

major

is an

are produced.

factors

in what that

a domain

contains

To form,

must

be

a set of sub-domains,

the iterative

process

can be applied

to examine

appropriate

facets.

For

the ATC

example,

and select consists

of

Thus, the ATC may include A FMS also contains sub-

domains.

The major

control

planning, [Lee 93].

scheduling,

monitoring,

4.3 Illustration Domain Models This

plays in some applications.

different

software

the models

method

level

functions

for

the FMS

and real-time

are

control

dynamics.

levels

may

design approaches. For example, and the car rental system have similw

the key

section

of the

explains

Classification

the task to classify

a target

of

domain.

The first step is to fill out the top two layers of a hierarchy of facets, as demonstrated in Figure 1, Layer 3 is this

Facets in the third layer are general software attributes. These attributes reveal another aspect of the domain and are used to bridge the gap between the domain and a Two specific application or design alternatives. analogous

rigorous

design

Certification

machine interface [Hunt 87]. several domain abstractions.

periodic triggering is a special case of automatic it is explicitly listed because of the important

role that periodic

is

to a simpler

problem.

several major functional elements. Those elements are planning, controlling, system, data managing, and man-

Presently, a distinction is made among automatic, manual, and periodic triggering for main domain transitions. Although triggering,

of how

In cases where

the main goal is to

will lead to different solving.

developer

rental

considered.

and coordinate machine stations to gain a high productivity rate and machine utilization, and at the same time reduce throughput time [p. 174, Talavage 88]. The significant reasoning

car

reuse existing

system (FMS) object monitoring flow

the

indicator

similar static structures and dynamic characteristics, but different goals. For example, the air traffic controller (ATC) and the flexible manufacturing presented in [Maiden 92] have a similar

Problem

lead the software

[Kedar-Cabelli

layer

Car Rental

figure will be examined and filled out after phase. For the car rental problem, Figure

the analysis 2 illustrates

those facets for the top two layers. A

domain

abstraction,

may since

consist a domain

of

more may

than include

one

domain

smaller

sub-

domains. The car rental problem shown above is limited to a specific task: manage the system to rent vehicles to customers. The problem can be expanded to include vehicle maintenance tasks. In other words, the system will keep a maintenance record for each vehicle and periodically signal the need for specific inspection or

features like checkout, return, and search. General library problems usually need a more sophisticated data base management system than can rental systems due to the larger volume of books than cars. The difference may

174

maintenance

work

the

boundary

domain

domain

for the vehicles.

abstraction,

as listed

which

in Table

domain

will

is enlarged

yield

1.

In such a situation,

For

to

different

features

include

is the periodic

The

another

expansion

hierarchy

for the new domain

abstraction.

Up

in

another

the

library

object

initiating

structure.

Figure

of

problem

approach.

The

the

of facets

specifically

object

this

point

abstraction

domain

information

level

have been identified.

analysis

generic

must

to facilitate further artifacts. A bridge

between

the

domain Figure

facts

some specific

reuse of existing reusable needs to be established

domain

or features.

a

The generic

with

abstraction

The

concept

and

3 is a domain

to a class of analogous domain independent

domains. features

abstraction

in

will

features

Reservation

in

reserve

the

is then deemed

for this class, the domain

since

rental for

design

as a domain-specific

feature

scratch

is not included is totally

domains,

then those domains

and design for this particular for the new domain.

Reuse

some

an object.

and

But the

For

example,

The analysis be facilitated

then

solutions into

flexible

models of

process by

or and

domains.

domain

reasoning

Classification

models

because

the

analogous

for the new target

and specific

architectures,

supports

similar

comparing

to analogous

generic

and improving.

also

of

leads

to

the adaptability

is

leverage

than

and domain

current

approaches

in

analysis.

5. Conclusion Directions

in

and

Future

Research

new to the

is needed.

sharing

in the same group.

to

problem

already embedded in the hierarchy. Adaptation is an important but often neglected processing stage in analogy [Keane 94]. In addition, the approach gives the analyst or

The newly

This

designed software artifacts are hence stored in the library. If the fact has been previously identified for some classified

to all

is that of time.

If the fact horn

problem

domain

can

more

For example,

a period

this characteristic

abstraction.

reuse library,

car

a vehicle

specific

a domain.

retrieval

domains.

more

can

in

keep evolving

of

analogy

the

are

a user can renew

and

software

of

which

generic

The second level

models

designer

customers

features

in both the car rental

applications

dependent, one

key

of this

abstraction,

domain

domains

common

This level represents within the domain

independent.

the

illustration

a domain

library systems may adopt different renewal as demonstrated in Figure 4. The reuse library of

abstraction. Domain-specific features are identified during the analogy process. These features lead to a subset of domains sharing the features. This level is domain but is application

problem, modeling

different policies

existing of Figure

problem,

identification

3.

The top level

a simple

shows

features

Classification

specific

is illustrated

some

to different

in the future

applications.

rental

same feature is not allowed in the airline reservation problem. The next level reveals features that are specific

to

high

car

in the same category.

For instance,

the library

this

level

and

the

a generic/specific

4 represents first

classified

domains.

values

However,

are at too

be provided

guidelines software

generic

facet

knowledge

abstractions

for specific

abstraction

domain

to guide the designer

and design

domain

to bereused

a generic

and specific

alone is not sufficient

reuse more

domain

process,

has been generated

forthetarget

because

the

and

yield

allocation,

domains represents

to

problem

the same feature

are

of existing

analysis

fact is then highly

possible

paper

described

the potential

of software

analogy.

Software providing

analogy can facilitate domain analysis tasks by analogous application areas which has been

previously presented

well analyzed and designed. The paper an approach to classifying high-level software

products a hybrid

in support of software analogy. The approach is of enumerative hierarchy and faceted scheme

approaches. For instance,

the hotel

the fact of reservation. examine reservation problem

management

system

The fact will

guide the designer

existing features

application in common.

is grouped

together

domains As a result, with

the hotel

also features to

More

that have the car rental reservation

software

problem under the same characteristic of reservation. After the identification of domain-specific features, the next level depicts the differences between applications in the same domain. For instance, different rental companies may have different levels can further specific

features.

reservation policies. be decomposed into For

example,

tools

feature

may be divided into two groups: one for car rental and hotel applications, the other one for airline reservation systems. As more research is conducted and more practical domain analysis .is performed, the classification will be more rigorous and have more accurate information.

175

and empirical

studies

are needed

classify domain models. to facilitate the retrieval

artifacts.

and

support different

The bottom two several layers of

the reservation

research

to effectively are necessary

Also,

repositories

an environment are

the analogy process representations.

required

in order

Supporting tools and storage of with to

integrated

systematically

and transformation

between

domain independent

\

.--”

I

I

domain dependent, application independent

feature

Figure

3. Hierarchical

domain abstraction

1

feature

...

View

of Analogous

Domains

m

and Applications

user checks outheturns staff manages/rrpdates/verifies/searches

... domainspecific features

‘?

‘?

applicationspecific features

@5Ex!!El Q

timing restrictions

Figure

4, An Illustration

176

of Domain

Hierarchy

References

[Greenspan 82] S. J. Greenspan, J. Mylopoulos, and A. Borgida, “Capturing more world knowledge in the requirements specification, ” m “ Proc. of Int’1 Conf on Software Engineering, 1982, pp. 225-234.

[Arango 89] G. Arango, “Domain analysis from art to engineering discipline,” in Proc. of the 5th Int’1 Workshop on Soflware Spec@cation and Design, 1989, pp. 152-159.

[Grosz 92] G. Grosz, “Building information system requirements using generic structures, ” in Proc. of [he 16th Int’1 Computer Sof~are & Applications Conf (COMPSAC), 1992, pp. 200-205.

[Arango 93] G. Arango, E. Schoen, and R. Pattengill, “A process for consolidating and reusing domain knowledge,” in Proc. of the Int’1 Con on Software Engineering, 1993, pp. 231-142.

[Hall 89] R. P. Hall, “Computational approaches to analogical reasoning: a comparative analysis, ” Artificial Intelligence, VOI. 39, no. 11, pp. 39-120, May 1989.

[Bailin 90] S. C. Bailin, J. M. Moore, R. Bentz, and M. Bewtra, “KAPTUR: Knowledge acquisition for preservation of tradeoffs and underlying rationales,” in Proc. of the 5th Knowledge-Based Sofiware Assistant Conf, 1990.

[Hanson 83] S. J. Hanson, “Conceptual clustering and categorization,” in Machine Learning: An Art@icial Intelligence Approach, vol 3, Y. Kodratoff and R. Michalski, Eds., Morgan Kaufmann Publishers, pp. 235-268, 1983.

[Bejar 91 ] I. I. Bejar, R. Chaffin, and S. Embretson, Cognitive and Psychometric Analysis of Analogical Problem Solving, Springer-Verlag, 1991.

[Harandi 93] M. T. Harandi, “The role of analogy in software reuse, ” in Proc. of 1993 ACM/SIGAPP Symposium on Applied Computing, 1993, pp. 40-47.

[Biela 91] A. Biela, Analogy is Science: From a Psychological Perspective, Peter Lang, 1991.

[Herrmann 86] D. J. Herrmann and R. Chaffin, “Comprehension of semantic relations as a function of the definitions of relations, ” in Human Memory and Cognitive Capabilities: Mechanisms and Pe~ormances, F. Klix and H. Hagendorf. Eds., Elservier Science Publishers B. V., North-Holland, 1986, pp. 311-319.

[Bhansali 93] S. Bhansali, “Architecture-driven reuse of code in KASE,” in Proc. of the 5th Conf on Sof~are Eng. & Knowledge Eng., 1992, pp. 100-109. [Biggerstaff 92] T. J. Biggerstaff, “An assessment and analysis of software reuse,” in Advances in Computers, vol. 34, 1992, pp. 1-57.

[Holyoak 89] K. J. Holyoak and P. Thagard, “Analogical mapping by constraint satisfaction,” Cognitive Science, vol. 13, pp. 295-355, 1989.

[Borgida 85] A. Borgida, S. Greenspan, and J. Mylopoulos, “Knowledge representation as the basis for requirements specifications,” Computer, pp. 82-90, April 1985.

[Hunt 87] V. P. Hunt and A. Zellweger, “Strategies for future air traffic control systems,” Computer, vol. 20, no. 2, pp. 19-32, Feb. 1987.

[Campbell 91] G. Campbell, N. Burkhard, J. Facemire, and J. O’Connor, Synthesis Guidebook, Technical Report SPC-91122MC, Software Productivity Consortium, Hemdon, VA, 1991.

[Johnson 92] W. L. Johnson, K. M. Benner, and D. R. Harris, “Applying domain and design knowledge to requirements engineering,” ACM SIGOIS Bulletin, vol. 13, no. 2, pp. 48-57, /w& 1992.

[Chaffin 88] R. Chaffin and D. J. Herrmann, “The nature of semantic relations: a comparison of two approaches,” in Relational Models of the Lexicon: Representing Knowledge in Semantic Networks, M. W. Evens, Ed., Cambridge University Press, 1988, pp. 289-334. [Cleveland 88] J. C. Cleaveland, “Building generators,” IEEE SofMare, pp. 25-33, July 1988.

[John-Steiner 85] V. John-Steiner, Mind: Explorations of Thinking, University Press, 1985.

application

[Kang 90] K. C. Kang, et al. Feature-oriented domain analysis (FODA) feasibility study, Technical Report CMU/SEI-90-TR21, 1990.

[Curtis 88] B. Curtis, H. Krasner, and N. Iscoe, “A field study of the software design process,” Commun. of the ACM, vol. 31, no. 11, pp. 1268-1287, NOV. 1988.

[Keane 94] M. T. Keane, “Analogical asides on case-based reasoning,” in Lecture Notes in Artficial Intelligence, Topics in Case-Based Reasoning, vol. 837, Springer-Verlag, 1994.

[Devanbu91] P. Devanbu, R. Brachman, P. G. Selfridge, and B. W. Ballward, “LaSSIE: a knowledg-based software information system,” Commun. of the ACM, vol. 34, no. 5, pp. 34-49, May 1991. [Finkelstein requirements Sept. 1988.

Notes of the of New Mexico

[Kedar-Cabelli 85] S. Kedar-Cabelli, “Purpose-directed analogy,” in Proc. of Cognitive Science Society Conf, 1985, pp. 150-159.

88] A. Finkelstein, “Re-use of formatted specifications, ” Software Eng. J., pp. 186-197,

[Kedar-Cabelli 88] S. Kedar-Cabelli, “Analogy - from a unified perspective, ” in Analogical Reasoning, D. H. Helman, Ed., Kluwer Academic Publishers, 1988, pp. 65-104.

[Garot 87] J. M. Garot, D. Weathers, and T. Hawker, “Evaluating proposed architectures for the FAA’s advanced automation system,” Computer, vol. 20, no. 2, pp. 33-46, Feb 1987.

[Lee 93] Y. K. Lee and S. J. Park, “OPNets: an object-oriented high-level Petri net model for real-time system modeling,” J. of Systems Software, vol. 20, no. 1, pp. 69-86, Jan. 1993.

177

[Leishman 90] D. Leishman, “An annotated bibliography of works on analogy, ” Int’1 J. of Intelligent Systems, vol. 5, no. 1, pp. 43-82, March 1990.

[Prieto-Diaz 87] R, Prieto-Diaz, “Domain analysis for reusability, ” in Proc. of the Ilth Int’1 Computer Software & Applications Conf (COMPSAC), 1987, pp. 23-29.

[Lubars 91] M. D. Lubars, “Domain analysis and domain engineering in IDeA, ” in Domain Analysis and Software Systems Modeling, R. Prieto-Diaz and G. Arango, Eds., IEEE Computer Society Press, Los Alamitos, CA, 1991, pp. 163-178.

[Prieto-Diaz 91a] R. Prieto-Diaz and G. Arango, Eds., Domain Analysis and Software Systems Modeling, IEEE Computer Society Press, Los Alamitos, CA, 1991. [Prieto-Diaz 9 lb] R. Prieto-Diaz, “Implementing faceted classification for software reuse,” Commun. of the ACM, vol. 34, no. 5, pp. 89-97, May 1991.

[Lung 93] C. H. Lung and J. E. Urban, “Integration of domain analysis and analogical approach for software reuse, ” in Proc. of 1993 ACM/SIGAPP Symposium on Applied Computing, 1993, pp. 48-53.

[Prieto-Diaz reusability,”

[Lung 94] C. H. Lung, An analogy-based domain analysis methodology, Ph.D. Dissertation, Dept. of Comp. Sci. and Eng., Arizona State University, Tempe, AZ, 1994.

software

[Shlaer 89] S. Shlaer and S. J. MeHor, “An object-oriented approach to domain analysis, ” Sof2ware Enginering Notes, vol. 14, no. 5, July 1989, pp. 66-77.

[MacLean 91] A. MacLean, V. Bellotti, and R. Young, and T. Moran, “Reaching through analogy: a design rationale perspective on roles of analogy,” in Proc. of the Conf on Human Factors in Computing Systems, 1991, pp. 167-172.

[Silverman 85a] B. G. Silverman, “The use of analogs in the innovation process: a software engineering protocol analysis,” IEEE Trans. Systems, Man, and Cybernetics, vol. SMC- 15, no. 1, pp. 30-44, Jan./Feb. 1985.

[Maiden 92] N. A. M. Maiden and A. G. Sutcliffe, “Exploiting reusable specifications through analogy,” Commun. of the ACM, vol. 35, no. 4, pp. 55-64, April 1992.

[Silverman 85b] B. G. Silverman, “Software cost productivity improvements: an analogical view,” Computer, 18, no. 5, pp. 86-96, May 1985.

[Maiden 93] N. A. M. Maiden and A. G. Sutcliffe, “Requirements engineering by example: an empirical study,” in Proc. of IEEE Int’1 Symposium on Requirements Eng., 1993, pp. 104-111.

and vol.

[Simos 91] M. A. Simos, “The growing of an organon: a hybrid knowledge-based technology and methodology for software reuse,” in Domain Analysis and Soflware Systems Modeling, R. Prieto-Diaz and G. Arango, Eds., IEEE Computer Science Press, Los Alamitos, CA, 1991, pp. 204-221.

“Reusable software component [McCain 85] R. MaCain, of 5th AIAA/A CM/NASA/IEEE construction, ” in Proc. Computers in Areospace Conf, 1985, pp. 125-135. [Michalski 83] R. Michalski and observation: conceptual clustering, ” Artificial Intelligence Approach, vol Michalski, Eds., Morgan Kaufmanrr 1983.

93] R. Prieto-Diaz, “Status report: IEEE Sof~are, pp. 61-66, May 1993.

[Talavage 88] J. Talavage and R. G. Hannam, Flexible Manufacturing Systems in Practice: Applications, Design, and Simulation, Marcel Dekker, Inc., New York, NY, 1988.

R. Stepp, “Learning for in Machine Learning: An 3, Y. Kodratoff and R. Publishers, pp. 331-363,

[Wartik 92] S. Wartik and R. Prieto-Diaz, “Criteria for comparing reuse-oriented domain analysis approaches,” Int’1 J. of Soflware Eng. and Knowledge Eng., vol. 2, no. 3, pp. 403432, Sept. 1992.

[Mineau 94] G. W. Minuau and R. Godin, “Automatic sturcturing of knowledge bases by conceptual clustering, ” to appear in IEEE Trans. of Data and Knowledge Eng.. [Miriyala 89] K. Miriyala and M. T. Harandi, “Analogical approach to specification derivation, ” in Proc. of 5th Workshop on Sofmare Specification and Design, 1989, pp. 203-210. [Neal 90] L. Neal, “Support for software design, development, and reuse through an example-based environment, ” in Proc. of the 5th Conf on Knowledge-based SofWare Assistant, 1990, pp. 176-182. [Neighbors 84] J. M. Neighbors, “The Draco approach to constructing software from reusable components, ” lEEE Trans. on Soflware Engineering, vol. 10, no. 5, pp. 564-574, Sept. 1984. [Poulin 93] J. S. Poulin and K. P. Yglesias, “Experiences with a faceted classification scheme in a large reusable software library (RSL),” in Proc. of the 17th Int’1 Computer Software & Applicatfins Conf (COMPSAC), 1993, pp. 90-99.

178

Suggest Documents