40979_DataEngineering_Dec1983_Vol 6_No4 - Welcome to sites ...

0 downloads 0 Views 5MB Size Report
In “A Review of the Prospector Project,” Reiter provides a summary of the ...... john) is true. Note that this is not an assignement. (Prolog is assignment free), but a.
Missing:
DECEMBER 1983

a

VOL.6

NO.4

quarterly bulletin

of the IEEE computer technical committee

society

Database eeri Contents Letter from the Chief-Editor

1

A Short Introduction to

3

Expert Systems

J. Clifford, M. Jarke, and Y Vassiliou Knowledge Engineering and Fifth Generation Computers

17

K. Furukawa and K. Fuchi

Logic Programming

and Relational Databases

20

Process

30

K. Parsa)’e

The

Knowledge Engineering

J. McDermott A Review of the

Prospector Project

.

38

.

J. E. Reiter An Orthodontic Case

Based

on a

Study Instruction Relational Database System

System 46

Y Kanamori and J.

Sugawara Expert Systems for Business Applications —A Research Project at New York University Y Vassiliou, M. Jarke, and J. Basic Decisions about Linking System with a DBMS: A Case

50

Clifford

an

Expert 56

Study -

I4ue Implementation of Rules in Relational Data Base Systems M. Stonebraker, J. Woodfihl, and E. Anderson Applications of Artificial Intelligence in the Knowledge-Based Management Systems Project

-

aM.E.

-

-

-

-

G. Wiederhold and J. Milton

65

75

Technical Committee

Chairperson, on

Database

Engineering

Professor P. Bruce Berra

Dept.

Associate Editors,

International Advisors

Database

Engineering

Database

Batory

Prof. Francois Bancilhon

Prof. Don

of Electrical and

INRIA

T.S. Painter HaIl 3.28

Computer Engineering

University

Domaine de Voluceau—ROCQUENCOURT

of Texas

111 Link Hall

Austin, Texas

Syracuse University Syracuse, New York (315) 423-2655

(512)

Engineering

B.P 105—78153 LE CHESNAY CEDEX France

471-1593

13210 Prof. Fred

Prof. Stefano Ceri

Lochovsky

di

Elettronica,

K52-282

Dipartimento

IBM Research

Politecnico di Milano

5600 Cottle Road

P

San Jose, California 95193

Milano, Italy

Dr. David Reiner

Prof. Yoshifumi Masunaga University of Information Science Yatabe-Machi, lbaragi-ken, 305, Japan

Computer Corporation of America 4 Cambridge Center Cambridge, Massachusetts 02142 (617) 492-8860

za

L. Da Vinci 32, 20133

Prof. Daniel Menasce

Department of Information Science Prof.

Editor-in-Chief, Database

Engineering

Dr. Won Kim IBM Research K54-282

Randy

Pontificia Universidade Catolica

Katz

de Sao Vicente

Dept. of Electrical Engineering and

Rua

Computer Science University of California Berkeley, California 94720 (415) 642-8778

225-CEP 22453 Rio de Janeiro

Marques

Brazil

5600 Cottle Road Dr. Dan Ries

San Jose, Calif. 95193

(408)

Computer Corporation of America 4 Cambridge Center Cambridge, Massachusetts 02142 (617) 492-8860

256-1507

in the Database

Database

Membership

of the IEEE

Committee is open to individuals who demonstrate willing ness to actively participate in the various activities of the

Engineering Bulletin is a quarterly publication Computer Society Technical Committee on Database Engineering. Its scope of interest includes: data structures and models, access strategies, access control techniques, database architecture, database machines, intelligent front ends, mass storage for very large data bases, distributed database systems and techniques, database software design and implementation, database utilities, database security and related areas.

Engineering

Technical

TC. A member of the IEEE

IC

as a

Society may join from at least a

Computer Society may join the Computer participating member, with approval

full member. A non-member of the

one

participating

as a

officer of the TC. Both

a

full member and

member of the TC is entitled to receive the

quarterly bulletin

of the TC free of

charge, until further

notice. Contribution to the Bulletin is

solicited. News

hereby

items, letters, technical papers, book reviews, meeting previews, summaries, case studies, etc., should be sent to the Editor. All letters to the Editor will be considered for

publication

unless

accompanied by

trary. Technical papers

Opinions expressed

are

a

request

to the con

directed to any of the editors.

unrefereed.

in contributions

are

those of the indi

position of the TC on Computer Society, or

vidual author rather than the official

Database

the IEEE

Engineering, organizations with which the author may

Membership applications and requests for back issues Computer Society, P.O. Box 639. Silver Spring, MD 20901. Papers and comments on the technical contents of Database Engineering should be should be sent to IEEE

be affiliated.

Letter from the Chief-Editor

This

issue

focuses

about

expert

a

topic

which

and

systems

straddles

into the most voluminous

turned

issue

database

systems.

As

the

issue

disciplines, it has history of Database Engineer

different

two

in the

expert system is generally defined

An

ing.

is

on

to be

a

computer program which

explicitly represented knowledge and inference procedures to solve problems in some specific domain which have traditionally depended on As I suspect many of the readers of Database Engineering human experts. uses

may not

be

serve

how

database

them

brief

a

as

with

with

familiar

all

expert systems3 I wanted this issue to expert systems and then

introduction

systems may systems

expert

be or

to

first

to

indicate

of

more intelligent by either connecting by augmenting them with some expert system

made

techniques. The

first

three

are

papers

intended

to

introduce

some

fundamental

(knowledge-based) systems. The “Short Introduction Expert Systems” by Clifford, Jarke and Vassiliou provides an overview aspects the

of

expert

architecture

research.

of

expert

“Knowledge

In

and

systems

Engineering

outlines

and

Fifth

directions Generation

of

to

of

current

Computers,”

and Fuchi, leaders of Japan’s 5th generation computer project, provide a rationale for their choosing a Prolog-based logic programming language as the basis of the next generation of computer systems and then give an overview of the Fifth Generation Computer project in Japan. Par saye gives a brief introduction to the Prolog language and indicates the relationship between Prolog and relational databases in “Logic Program ming and Relational Databases.” The next three papers were selected to provide some concrete examples of expert systems, including two of the best-known expert systems current ~IcDermott, in “The Knowledge Engineering ly in use, Ri and Prospector. discusses the first Process,” steps involved in constructing expert sys tems and then relates them to the Ri computer configuration assistant sys In “A Review of the Prospector Project,” Reiter provides a summary tem. the of outstanding features of the Prospector geological exploration assistant system and discusses what has been learned from the project. An Orthodontic Case Study Instruction System Based on a Relational Data base and describes an System,” by Kanamori, Masunaga, Sugawara, instructional system which, due to the domain of expertise it addresses, does is conventional not have the This inference a capabilities.

Furukawa

non-invited paper. The question of addressed

how

in the next

database

four papers.

systems may be made

Vassiiiou, Jarke,

more

intelligent

is

and Clifford outline

project in expert systems and describes some architectural In “Basic in bridging expert systems with database systems. Decisions A Case Study,” about Linking an Expert System with a DBMS: Lafue cautions that the choice of an implementation language for expert systems depends on applications and that sometimes it may be better to a

research

alternatives

extend

expert

Stonebraker,

systems

Woodfill

and

into

database

Andersen

describe

management how

systems.

Then

existing relational database system may be made more intelligent by incorporating a rules sys Another proposal for making database systems more intelligent is to tem. The results of this make use of the semantic knowledge about the data. line

of

research

are

summarized

in

“Applications

Knowledge-Based Management Hilton, and Sagalowicz. gence

in

the

1

an

of

Artificial

Intelli

Systems Project” by Wiederhoid,

It

has

been The

issue.

a

pleasure

cooperation

rendously busy, Adrian

Walker,

Michael

has

been

Prof.

Stonebraker

publication

1984 with an

issue

issue

on

an

the

received

authors from

truly gratifying.

who

contributed to

this

them, who I realize are hor I owe special thanks to Dr.

Vassiliou, Prof. Gio Wiederhold, and Prof. providing me with leads to the authors who con

for

issue.

schedule

issue

work with

have

Yannis

tributed papers to this

Our

to

I

on

for

1984

Statistical

is

as

follows.

Databases.

Randy

Don

Then Dave on Engineering Design Databases. Operating System support for Database Systems.

Won Kim

October, 1983 San Jose, Calif.

2

Batory

Ka~z will

Reiner

will

open

follow with will

do

an

A SHORT

Jim

INTRODUCTION TO EXPERT SYSTEMS

Clifford, Matthias Jarke,

Computer Applications

and

and

Yannis Vassiliou

Information Systems •Area

Graduate School of Business Administration

New York

University

generally accepted view among researchers in Artificial Intelligence that the 1980’s will witness a tremendous upsurge in the successful number of applications of Al expertise to real-world list of the technologies that are expected to be the on systems. High in the are or marketplace applied expert, knowledge-based, systems. of a number of expert system companies, often in close formation The collaboration with major academic Al research centers, attests to the the in belief of economic this transfer. viability growing technology Although there is yet to be developed a formal theory of what constitutes an expert system, there are some general features that can It

is

a

be identified.

expert system (ES), by definition, is a computer system which attempts to act like a human expert in some limited application For decades people domain. have certainly been building computer that have to be systems attempted expert in their field of application no one has purposefully (unless maliciously) built a system that intended to bungle its job! There are perhaps two aspects to an was expert system that distinguish it from more traditional computer overall architecture, and method of development. systems: An

--

An

expert system architecture consists of two interacting a components: “knowledge base” and an “inference engine.” The knowledge base contains all of the information that a human expert would normally need to carry out the desired task. This knowledge base itself is usually divided~ into the two first sub—components, facts Smith is or 35 years containing specific, “ground” (e.g., “Mary old”), and the second containing more general principles, rules, or “If a person is single then that problem-solving heuristics (e.g., has which from accumulated no come spouse”), empirical person observations technical of domain. An important the or knowledge feature of ES’s is that both of these knowledge bases are stored in assertion some declaratively language, and not buried somewhere in This that code. the means computer knowledge incorporated into the is accessed the system easily by users, and potentially more easily The second component in modified or extended. ES is an a general inference that is of decisions engine capable making from, purpose answering questions about, and determining the consequences implied by the knowledge that is built into the system.

3

The other unusual aspect of expert systems is the manner in which The architecture of an ES in a way dictates the they are constructed. often—quoted motto of ES researchers that “in the knowledge lies the power.” What this slogan means is that the knowledge base component of an

ES

contains

application.

In

all

of

the

practice,

domain-specific

information

for

the

because of the declarative nature of this

Al and the power of the languages that have been developed for these systems, this has led to an Incremental approach to ES development. Working in small teams of about 3 people, and a consisting minimally of the domain expert, a programmer, knowledge engineer, a small prototype ES is developed, usually in a The system isthen successively refined in a matter of 2 or 3 months. the human process of examining its behavior, comparing it to that of expert, and correcting its reasoning processes by modifying Its This process continues until the system performs at a knowledge base. of At level expertise that approximates that of the human expert. this point the system is ready for evaluation in the field. However, just as a human expert never stops developing or expanding his/her expertise, the ES is structured to facilitate continued growth and expansion of its capabilities.

knowledge base,

aspects of the structure and are addressed, and directions of Other comprehensive references on the current research are indicated. Barr and Feigenbaum 1982, Buchanan 1981, Davis 1982, subject are: Duda 1981, Gevarter 1982, Hart 1982, Hayes-Roth 1981, Hayes-Roth et al 1983, Michie 1980, Nau 1983, Stefik et al 1982L this short paper,

In

of

range

1.0

basic

some

expert system applications

ARCHITECTURE OF EXPERT SYSTEMS

long time, artificial intelligence has concentrated on the of procedural techniques and representations such as heuristic search methods and problem transformation techniques. These too have general to solve real world problems in specific proven domains. Therefore, the focus has shifted to the representation and use of domain knowledge to guide search processes more efficiently. For

a

development

The observation

that human domain experts use domain knowledge as meta-knowledge (knowledge about the scope of one’s knowledge and knowledge about how to use one’s knowledge) efficiently has led to idea of extracting knowledge from a human expert into a knowledge the The knowledge base is therefore at the heart of’ base expert any It is a storehouse of knowledge in the form of specific facts system. in frames of structure the reference that and general rules, or expert’s experience and expectations. well

as

To

relates

exploit the knowledge, an inference engine is required that a problem description to the stored knowledge in order to

analyze a certain situation synthesize a solution for

configuration). theorem

system,

Such

an

(e.g.,

in

medical

specific inference engine

problem

a

can

be

diagnosis) or to (e.g., a computer a

pattern

matcher,

prover, or network search mechanism customized for one expert or it may exist already in the compiler of a corresponding

representation language such as OPS-5 Forgy 19801, Prolog Even in Kowaiski 1979], or EMYCIN van Melle 1979]). the latter

knowledge

4

additional control mechanism may be some case, the number of inferences to be made. third

The

of

of

an

expert system

contains

number

a

The two most important seem interfaces for various purposes. interface for knowledge acquisition through which the expert

user

to be

major component

to cut down

required

an

update, and check knowledge in the intermediary can insert, knowledge base, and an interface through which end-users can get As a windfall profit, the stored consultation from the expert system. expertise can sometimes be made available to train new human experts. or

2.0

an

KNOWLEDGE REPRESENTATION AND

INFERENCE PROCEDURES

The knowledge base may require the description of facts about of classification and activities; relationships, specific objects, of and generalization hierarchies; general relationships between object and activity classes; and of meta-knowledge about the scope, Just importance, precision, and reliability of the stored knowledge. research has database as developed multiple representations for specific facts, many techniques exist to represent the more general knowledge required for expert systems.

“good” knowledge representation should support the tasks of acquiring and retrieving knowledge as well as of reasoning. Factors in account to taken into be that have evaluating knowledge tasks include: representations for these three A

and

of

1.

naturalness, uniformity, represéntat ion;

2.

degree to which knowledge is embedded in procedural code;

3.

the

11.

of knowledge retrieval and the heuristic power inference procedure (heuristic power is defined as the reduction of the search space achieved by a mechanism).

the

the

and

flexibility

of the

the

(declarative)

explicit

the

modularity

understandability

or

knowledge base;

efficiency

of the

Below, four major knowledge representation techniques related

examination of

2.1

mechanisms

inference

will

be

briefly

knowledge representation is given

reviewed. in

and A

their

thorough

Mylopoulos 1980].

Production Rules

19771 have been the most form representation in expert systems. knowledge popular out three Chandrasekaran 1983] points interpretations of the function First is the of rules in expert systems. interpretation of rules as a A has the form rule typically programming language Rules

Davis, Buchanan,

and Shortliffe

of

if X

then Y.

It can be used

in

computations

in different ways. 5

On

one

hand,

In

a

data-driven

or

forward

On

other

the

establishing

chaining).

hand,

try to match a given possible action Y. “prove” a hypothesis Y by further analysis (backward

chaining approach,

situation to the condition X one

in order can

try

to

one

can

infer

a

to

the preconditions X through Combinations of both methods

are

also sometimes used.

perhaps require a pattern matching process, (substitute constants or other variables for to variables in the pattern to be matched) identify the applicable If there is more than one of in rules a given problem situation. Control those, one has to be selected for further processing first. for rule structures application can be distinguished by their flexibility of rule choice into irrevocable (“hill—climbing”) or and tentative, by the sequence of analysis in depth-first with backtracking or breadth—first with parallel graph search Nilsson 1980]. Both

approaches

combined with unification

for tools rules used be as can description Secondly, problem-solving heuristics, replacing a more formal analysis of the In this sense the rules are thought of as “rules of thumb,” problem. incomplete but very useful guides to make decisions that cut down the These rules are input to an size of the problem space being explored. expert system by the human expert, usually iteratively and perhaps by to means of an interactive program that guides and prompts the expert task and this make easier, perhaps does some limited consistency checking.

Finally, rules have been proposed as in some sense a simulation By this claim, rules are cognitive behavior of human experts. not just a neat formalism to represent expert knowledge in a computer of

the

but rather

a

model of actual human behavior.

organization of the yet transparent There is control over the search processes inside the knowledge base. currently no satisfactory formal solution to this problem but a number of ad-hoc programming tricks have been developed. A

stored

2.2

problem with rule-based techniques is knowledge in a way that permits

First-Order Precise

take

the

Logic

knowledge

form

the

efficient

can

be stated

of first-order

as

assertions

predicates advantage

over

objects that equality

with functions and

of Kowalski 1979]. Logic has the offering a sound and It is also purely declarative and complete set of inference rules. For of therefore allows multiple uses of the same piece knowledge. are inference usually transformed in a predicates purposes,

quantifier-free

normal

form called clausal

form.

illustration, Prolog’s McDermott 1980, van Emden and inference 1976] procedure is based on the resolution in clausal theorem In order to prove a principle Robinson 1965]. its negation is added to the set of knowledge clauses or form, If the thus augmented conjunction of clauses can be shown “axioms”. to be contradictory, the theorem has been proved. As an

Kowalski

6

A major problem with general first-order logic as a knowledge representation is again the difficulty to express control structures To reduce that efficiently guide the use of a large knowledge base. such problems, practical tools such as the logic programming language Prolog use the subset of definite (Horn) clauses rather than full these clauses are interpreted in a first-order Furthermore, logic. to backward chaining in production rules, procedural way similar leading to a more efficient search process while reducing somewhat the in of a interpretation possible nonprocedural generality interpretation.

2.3

Networks

Quillian 1968,

Schubert 1976] 1979, applications (e.g., natural Nevertheless, a number language processing) than in expert systems. of expert systems rely on network formalisms, among them very large systems such as INTERNIST Pople 19831, Prospector Hart et al 1979], Networks are a natural and efficient Brown et al 1981]. and SOPHIE Nodes describe knowledge. objects, concepts, or way to organize whereas arcs define the relevant relationships. situations Reasoning corresponds to network traversals along the arcs or to pattern A large number of exact matching of problem descriptions and subnets. The disadvantages of and heuristic mechanisms exist for these tasks. from of formal stem the lack semantics this approach making verification of the correctness of reasoning very difficult. Semantic networks

seem

2.L~

to

be

more

popular

in

other

Brachman Al

Frames

knowledge is based on experience and expectations adapted previous situations and general concepts to a specific problem. Frames a Minsky 1977, Schank 1972, 1975, Bobrow 19771 provide to such experiential knowledge by offering so-called slots structure which can be filled with type descriptions, default attached values, etc. Frames are a general and powerful procedures, very It may be difficult, however, to representation form. specify their meaning precisely as well as to implement them efficiently. Much

from

2.5

Multiple Knowledge Representations

should It clear be by now that no one of the knowledge In very representation methods is ideally suited for all tasks. complex systems using many sources of knowledge simultaneously (e.g., Erman et al. 1980]), the goal of uniformity may speech recognition have to be sacrificed in favor of exploiting the benefits of multiple knowledge representations each tailored to a different subtask. Similar to the interdisciplinary cooperation of several human experts, the necessity of translating among knowledge representations becomes a problem in such cases. The need

interfaced

for

with

translation also other

occurs

software

when

systems,

systems.

7

an

e.g.

expert database

system is management

3.0

USER INTERFACES

Interacting with the consultation, knowledge expert systems that are now being developed: acquisition, andtraining. Of course not every system allows these three types of interaction, nor is this interaction always facilitated by means of automated tools. Nevertheless the basic expert system has architecture that emerged has shown itself to be capable of at In this section will we least these modes of interaction. give a Interaction brief overview of these three types. There

3.1

are

at least

three distinct modes of

Consultation

primary mode of interaction is the consultation session, the wherein expert system is used to solve the problem for which it There are really two forms that this interaction can was constructed. the In take. simplest case some member of the user community, not necessarily the expert, presents a problem to the system and requests the system apply its expertise to generate a solution. that Assuming the it is capable of understanding problem statement and then of solving the problem, the system responds to the user with the solution and everyone is happy. The

If the

user

is

unhappy with

the

solution, of

uncertain

“how”

as

to

its

the

system “why” or typically enter into a second form of the consultation mode of use and request an explanation of the steps that the system has followed to achieve the generated result. this most In cases explanation takes the form of’ a formatted presentation of the chain of rules that were activated by the This in Inference explanatory reaching the solution. engine conventional systems, and is capability is a major advantage over more facilitated by the architectural feature of a clear separation between the knowledge base and the Inference mechanism.

validity,

has reached

3.2

or

its

desirous of

an

explanation

conclusion, the

user

can

Knowledge Acquisition

expert system is the knowledge and heuristics knowledge acquisition process, transferred are used by the human expert in the problem-solving task This Into the dialogue is the knowledge base of the expert system. In most the least understood process in expert system paradigm. mediated is by a systems this interaction is not automated, but rather “knowledge engineer” Feigenbaum 19801 whose job it is to (a) pick the and human of the brains principles, expert for the knowledge, this translate heuristics used to solve the problem at hand, and (b) into the form(s) information communicated required by the is being representation language(s) within which the expert system implemented. A second form of

with

interaction

the

wherein the

-

guidelines available for how to facilitate this generally recognized that this is a long and process. communication skills, tedious process, requiring good conceptual and considerable patience, and experience. Moreover, it is this knowledge acquisition process which is iterative, continuing throughout not only There

are

very few is It

8

of the

during all of its useful life. On advantage of expert systems the ability to grow and over engineered systems learn, thereby providing the opportunity to continually improve this While performance. expandability is certainly enhanced by the isolation of the knowledge base, it is clearly not always a simple task to expand the limits of a system’s expertise. the

development

hand, this conventionally

system

is another

the other

but

touted

-—

is currently being devoted to techniques for at partially automating the knowledge-acquisition process. Such systems as AGE Nh and Aiello 1979], KAS Duda et al 1979], TEIRESIAS EXPERT Lenat 1982], and and Davis Weiss Kulikowski 1979], HEARSAY-Ill Erman et al 1980], etc. have all attempted to provide a within which the framework system can guide the expert in communicating his/her expertise to the system. Much work remains to in this area, both in the development of automated tools for be done the existing paradigms of problem in the and basic more solving, into the research understanding of the very nature of human problem-solving strategies and abilities. Much research

least

3.1!

Training

final form of interaction with the expert system occurs when system is used as a training tool to teach new human experts the problem-solving skills embodied in its knowledge base. Relatively few systems have been used in this mode. However, such systems as SOPHIE Brown et al 1981] have demonstrated that the existence of a clearly central of’ formulated, repository expertise provides a solid foundation for the development of such computer-based teachers as a A

the

fortuitous side-effect.

1!.O

CURRENT STATUS There

techniques, a theory of in

art

is

as no

consequence, the than a science.

opinion

about

POTPOURI OF EXPERT SYSTEMS

well-developed theory of problem-solving problem space complexity comparable, say, to Moreover, or perhaps partially query complexity. development of expert systems is still more of an

yet theory

database

held

A

-

no

of

It

is

these

field whose

therefore

systems held by

difficult

by

a

to

find

a

concrete

reputable researcher in the

another researcher opposite is not equally as is beginning to emerge as to the a consensus reputable. Nevertheless, characteristics of problem domains appropriate for the technologies exist that Recent of expert systems Davis 1982, today. surveys Gevarter 1982, Nau 1983] have emphasized a number of characteristics to look for in a problem domain before considering it as a candidate for current expert system technology, and have identified a number of considerations involved in the development of such a system.

Foremost among these characteristics the selection of are an and the of human The a most appropriate domain, availability expert. successful domains seem to be those wherein the expertise is based on

experience

of

rather than links causal or use of associations, is close collaboration a Equally important and active participation of the human expert throughout the entire system development process. Other considerations frequently mentioned structural

information.

9

the necessity for an experienced “knowledge engineer,” the efficacy of a quick (3 months?) development of a first system prototype to test the feasibility of the initial problem—structuring ideas, and an average development time of 5 years, regardless of the number of people on the project.

are:

In Table

1, examples of expert systems

expert systems have been built seen, include Medicine, Geology, Chemistry and Computers (both software and hardware). the Dipmeter Advisor are widely used in

As can be presented. domains, which Physics, Mathematics, and Among these, Ri, Macsyma, and are

for

several

commercial environments.

Prominent researchers in the area (e.g. Davis 1982]) see future expert systems departing from simple rules and uniform knowledge representations, to causal models employing multiple representations that concentrate on the understanding and description of “structure” and

1L1

“function”.

Expert Systems

and Database

Management

There have been several research efforts to combine expert system technology with that of database management systems. Historically, knowledge-based techniques were first applied at the query language level (e.g., natural language). Systems like RENDEZVOUS, LADDER and KLAUS and Hendrix 1980] have Haas successfully employed knowledge-bases to disambiguate and process English queries to and In addition, about databases. formal specification languages like TAXIS Mylopoulos et al 1980] have been proposed for the design of databases and, more generally, information systems. Knowledge-based technology may also be used in such database topics as, query transaction (e.g., constraint optimization King 1981], management maintenance), and data representation Jarke and Vassiliou 1983,

Vassiliou et al

1983].

topic is that of coupling ESs with DBMSs. applications that have been chosen for expert systems have had the property that their knowledge base of rules has been is rules 1000 common) and their base of relatively small (around specific facts has been considerably smaller, usually data pertaining to a single problem case and obtained interactively during system In almost all cases, then, these knowledge bases have been execution. implemented directly in main memory. The work of Kunifuji and Yokota for the Fifth Generation Computer project, and that of Vassiliou, (accompanying articles in this special issue) Jarke, and Clifford attempt to apply the ES paradigm to a problem characterized by the existence of a large database of specific facts which the expert must efforts These research access in order to perform successfully. are based the on logic formalism of Prolog (described in the article of A critisism of this formalism is presented in Parsaye of this issue). the In addition, the latter article accompanying article by Lafue. examines the question of whether an existing database system should be employed for the expert system’s database access requirements, or a new system must be built. A

To date

more

recent research

the

10

I

I

I

I

I I I I I 66 I Casnet Medicine Production rules. Causality. Semantic neti Consulting Medicine I Internisti Consulting Forward/backward chaining. Frames. 50 I Medicine I KMS I I 52 I Conditional probabilities. I Consulting I 8 I MDX Medicine I I I Hierarchical, subproblem formation. I Consulting I Mycin Medicine I I 59 I Consulting I Backward chaining. Exhaustive search. I Puff Medicine I I Consulting 133,1191 Backward chaining. Exhaustive search. I Plant I AQ11 I I I Diagnosis I Multiple—valued logic. 9 Diseases I I I I I I I Dipmeter I Exploration I I 111 I Causality. I Geology I I Advisor I I I Mineral I I 16 I Backward chaining. Semantic net. I IProspectorl Exploration I Configuration I Ri I I 31 I Forward chaining. No backtracking. I Computer I I I I I Subproblem formation. Pattern match. Circuits I EL I Analysis I I 60 I Forward chaining. Backtracking. I I I Constraint propogation. I I Troubleshoot I SOPHIE I Electronics I I Multi-knowledge representation. 5 I DNA Exper. I 36 I Molgen I Planning I I Forward/backward chaining. I I I Hierarchical, subproblem formation. I Math I Manipulation I I 113 I Pattern match. I Macsyma Math I Formation I I AM I 311 I Forward Chaining. Generate, test. I I Generation of I Dendral I I 21,351 Forward Chaining. Chemistry I I I I I Generate, test. I hypotheses I SYNCHEM2 I Organic Synth. I I 23 I Multi-representation. Subproblem I Chemistry I I I formation I I I I Interpretation I 1 I Hearsay I I Forward/backward chaining. I Speech I I I Recognition I I Multi-representation. I I Interpretation I Speech I Harpy I 37 I Forward chaining I I I I Recognition I I I I Crysalis I Interpretation I CrystalloI 17 I Event Driven. Generate, test. I I I I I Igraphy I Planning I Noah I Robotics I 511 I Backward chaining. Subproblem formation.I I Abstrips I Planning I Robotics I 55 I Back-chaining. Hier. sub—problem I I formation I I I I I I Monitoring I VM I Medicine I 19 I Event Driven. Exhaustive Search. I I CAl I Guidon I Medicine I 10 I Event Driven. I I I I I I I __________________

I I

FUNCTION

_________

DOMAIN

I I

REF

I I

SOME UNDERLYING PRINCIPLES

_______

___

________________________

_____________________________ _______________________

TABLE

1:

_________

_____________________________

Representative Expert Systems

11

~

______

I I I



SYSTEM

References

1.

Balzer,

R.,

“HEARSAY-Ill: Proc

1st

Erman, A

London, P., L.D., Domain-Independent Framework Conf

Natl.

Intelligence

Palo

Alto,

of

1980,

Amer.

the

and

for

Assoc.

C., Williams, Expert Systems,” for

Artificial

108-110.

PP.

The of Handbook Artificial Barr, A., Feigenbaum, E.A., Intelligence Volume 2, William Kaufmann, Inc., Los Altos, CA, 1982.

2.

3.

Bobrow, D.G., and Winograd,

Representation

“An Overview of

T.

Cognitive

Language,”

Science Vol.

KRL, 1,

a

No.

Knowledge 1, 1977,

8L~-123.

pp.

Status of R. “On Semantic the 14• Brachman, Epistemological Networks,” Associative Networks: Representation and Use of Knowledge ~y Computer N.y. Findler, ed., Academic Press, 1979, pp. 3-50.

Brown, J., Burton, R, deKleer, J., “Pedagogical Natural Language I, Knowledge Engineering Techniques in SOPHIE II, and III”, (eds), Academic Press, Intelligent Tutoring Systems Sleeman et al

5.

and

1981. 6. Buchanan, B.C., “Research on Expert Systems,” Stanford University STAN-CS-81-837, 1981. Computer Science Department, Report No.

Chandrasekaran, “Expert Systems: Matching Techniques to Tools’t, Intelligence Applications for Business (W.Reitman, ed.), Ablex, to appear 1983. 7.

Artificial

8.

Chandrasekaran et al., “An Approach Sixth Conceptual Structures,” Proc. 131~_1i~2. Intelligence 1979, pp.

to Medical

Diagnosis

Int’l Joint Conf.

Based

on

Artificial

“An Application Chilausky, R., Jacobson, B., and Michalski, R.S. Variable-Valued Logic to Inductive Learning of Plant Disease Multiple-Valued Diagnostic Rules,” Proc. Sixth Annual Int’l Symp. 6~5—655. Logic 1976. Tokyo, Aug., 20-23, 1979, pp.

9.

of

10.

Clancey, W.J., “Dialogue Management for Online Tutorials”,

IJCAI

6, 1979, pp.155-161. and Where Where are we? Davis, R., “Expert Systems: Here?”, Massachusetts Institute of Technology, Al MEMO June, 1982.

11.

do

from

No.

we

Go

665.,

Davis, R., and Lenat, D.B. Knowledge-Based Systems in Artificial New York: Intelligence McGraw-Hill, 1982. 12.

13. a

Davis, R., Buchanan, B., and Shortliffe, for

Representation Intelligence

Artificial

a

Vol.

E.

“Production Rules

Consultation

Knowledge-Based 8, No. 1, 1977, pp.

12

15~145.

as

Program,”

“The 111. Davis, R., et al., Dipmeter Advisor: Interpretation of Seventh Joint Conf. Int’l Artificial Geological Signals,” Proc. 1030-1037. Intelligence 1977, pp.

15. of

16.

Come

Duda, R.0., Gaschnig, J.G., “Knowledge-Based Expert Systems Age,” Byte Vol. 6, No. 9, Sept. 81, pp. 238-281.

“Model Design In the in Expert Exploration,” Michie ed., Edinburgh Univ.

Duda, R.0., Gaschnig, J.G., and Hart, P.E.,

PROSPECTOR

Consultant

System

for

Mineral

Systems in the Micro-Electronic ~Z!’ 153-167 Press, Edinburgh, 1979, pp.

D.

Engelmen, R, Terry, A., “Structure System”, IJCAI 6, 1979, pp.250—256. 17.

and Function of

CRYSALIS

the

18.

Erman, L.D., et al., “The Hearsay-LI Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty,” Computing Surveys Vol. 12, No. 2, June 1980, pp. 213-253. 19.

Fagan,

Medical

L.M.

“VM:

Setting,”

Univ., Stanford, Ca., 20.

S.E. Fahiman, Knowledge

Real-World

Representing Time-Dependent Sd. dissertation, Comp. 1980.

Ph.D.

a

Dept., Stanford

A System for Representing Press, Cambridge, Mass., 1979.

NETL MIT

in

Relations

and

Using

“Generality and Feigenbaum, E., Buchanan, G., and Lederberg, J. A Case Solving: Study Using the DENDRAL Program,” Machine Meltzer and D. Intelligence ~ D. Michie, eds., Edinburgh University 165-190. Press, 1971, pp.

21.

Problem

22. C.L. The OPS5 Forgy, Carnegie—Mellon University, 1980.

User’s

Tech.

Manual

Report

K.K., 23. Gelernter, H.L., Sanders, A.F., Larsen, D.L., Agarwal, and “Empirical J.E., Boivie, Spritzer, G.A., R.H., Searleman, Explorations of SYNCHEM,” Science v.197, 1977, pp.101fl-1O’~9. _______

21L

Gevarter, William, B., “An Overview of Expert Systems”, Report, NBSIR 82—2505, 1982.

National

Bureau of Standards

“An Haas, N., and Hendrix, G.G., Approach to Acquiring and Applying Knowledge”, Proceedings of the First National Conference on Al, Stanford University, 1980, pp.235-239.

25.

26. for Al in the “Directions Hart, P.E., 1982, pp. 11-16. Newsletter No. 79, Jan.

Eighties,”

Sigart _____

A M.T. and Hart, P.E., Duda, Einaudi, R.O., Computer-Based SRI Tech. System for Mineral Exploration Report, International, Menlo ~ Calif., 1978.

27.

Consultation

28. Hayes-Roth, F., “Al The Management,” (AIAA—81-0827),

New Wave

Santa

-

A Technical Tutorial

Monica, CA: 13

Rand

Corp.,

for

1981.

R&D

29. Hayes-Roth, F., Waterman, D.A., Systems ,Addison-Wesley, Reading, MA,

and

Lenat, 1983.

D.B.

Building

Expert

30. Jarke, H., Vassiliou, Y., “Coupling Expert Systems with Database Management Systems”, Artificial Intelligence ~pp1ications for Business (W.Reitman, ed.), Ablex, to appear 1983.

31. King, J.J., “Query Optimization by Semantic Reasoning”, CS—81-857, Computer Science Dept., Stanford University, 1981. 32. Kowaiski, R.A., Logic for Problem York, 1979.

Solving

Rep.no.

North-Holland,

New

“A et Kunz, J.C., al, Physiological Rule-based System for Interpreting Pulmonary Function Test Rules”, Stanford Memo HPP-78-19, Stanford University, Computer Science Department, November, 1982.

33.

An “AM: Artificial to 3i4. Lenat, D.B. Intelligence Approach dissertation Discovery in Mathematics as Heuristic Search,” Ph.D. Memo AIM-286, Al Laboratory, Stanford Univ., Stanford, Ca., 1976.

35.

Lindsay, R.K., et al., Applications of Artificial The DENDRAL Project New York: Organic Chemistry

for



Intelligence McGraw-Hill,

__

T~o. 36. Martin, N., et al., “Knowledge-Base Management for Fifth Int’l Planning in Molecular Genetics,” Proc. Artificial Intelligence 1977, pp. 882-887.

Experiment Joint Conf.

“The HARPY 37. Lowerre, B.T., Speech Recognition System,” Ph.D. Sci. dissertation, Cornp. Dept., Carnegie-Mellon Univ., Pittsburgh, Pa., 1976.

38.

McDermott, 72, July 1980,

D. pp.

“The PROLOG

Phenomenon,”

Sigart

“Ri: A Rule Based 39. McDermott, D., Configurer of Systems”, Artificial Intelligence 19(1), September, 1982.

~4O. to

McDermott, J., Deal

Artificial

with

Ad

No.

Newsletter

16—20.

and Hoc

Intelligence

Computer

Steele, B, “Extending a Knowledge-Based System Seventh Int’l Joint Conf. Constraints,” Proc.

1981,

pp.

82L~_828.

111. Michie, Donald, “Knowledge-based Systems,” University Urbana-Champaign, Report 30-1601, June 1980.

of

IL

at

“A Framework for Minsky, M. Representing Knowledge,” Psychology of Computer Vision P.H. Winston, ed., McGraw-Hill, 211-277. York, 1975, pp.

The

L~2.

113.

Moses, J.

ACM,

Vol.

111,

The “Symbolic Integration: 8, 1971, pp. 5118-560.

No.

14

Stormy

Decade,”

New

Comm

Mylopoulos, J. “An Overview of Knowledge Representation,” Proc. Databases and Conceptual Modeling June - Data Abstraction,

1980, 115. for pp.

pp.

5-12.

Mylopoulos, J., Bernstein, P., and Wong, H., “A Language Facility Database Intensive Designing Applications”, ACM, 1980, 5, 185-207.

116.

Nau, D.S., “Expert Computer Systems”, Computer

1983,

February,

pp.63-85. “AGE A Alello, (Attempt to Generalize): N., for Building Knowledge-BasedProgram Knowledge-Based Programs,” International Conf Artificial on Proceedings of the Sixth 6’45~655. (IJCAI—79), Intelligence Tokyo, Aug., 20—23, 1979, pp.

117.

Nil, H.P.,

118.

Nilsson, N.J. Alto, Calif.,

Palo

and

Principles 1980.

Artificial

of

Intelligencej

et from ZIg. J., “Managing the Data Osborn, al., Vol. Medical No. 6, Measurements,” Instrumentation 13,

50.

The Pople, H., “Knowledge Based Expert Systems: Artificial Applications Decision”, Intelligence (W.Reitman, ed.), Ablex, to appear 1983.

51.

Quilllan, Processing M.

“Semantic

in Memory”, (ed), 1968, pp.227-270. Minsky

M.R.,

Tioga,

Respiratory 1979.

Nov.

Buy

or

for

Semantic

Build

Business

Information

“Towards Textbook an Intelligent Reggla, J., et al., Proc. Fourth Annual Symp. Computer Applications Neurology,” Medical Care 1980, pp. 190-199.

52.

53. Robinson, J.A., A Machine Oriented Logic Principle, JACM 1965, Vol.1, No.11, pp.23-Ill. 511.

Sacerdoti, E.D., “Planning 5 Intelligence Vol.

Artificial

55.

in

a

No.

Sacerdoti, E.D., A Structure for New York, 1977.

Hierarchy 2,

19711, Plans

Based

on

the

of in

Resolution

of Abstraction

pp.

115—135.

and

Behavior

Spaces,”

American

Elsevier,

A R.C. 56. Schank, “Conceptual Dependency: Theory of Natural Vol. Cognitive Psychology 11, 1972. 3, No. Language Understanding.”

57. New

Schank, R.C. York, 1975.

Conceptual

Information

Processing

North-Holland,

58. Schubert, L.K. “Extending the Expressive Power of Semantic Artificial 163—198. Nets,” 2, 1976, pp. Intelligence Vol. 7, No. 59.

Shortliffe, Computer Based York, American Elsevier, 1976.

Medical

15

Consultation:

MYCIN

New

60.

and “Forward G.J. Reasoning Stallinan, R.M., and Sussman, Backtracking in a System for Computer-Aided Dependency-Directed Artificial Circuit 1977, Intelligence pp. 9, Analysis,” Vol. 135-196.

“The 61. Stefik, M., et al., Prescriptive Tutorial”, XEROX, January 1982.

62.

Logic

van as

Organization Palo Alto

of

Research

A Expert Systems: Centers, VLSII—82—1,

Emden, M.H., and Kowaiski, R.A., “The Semantics of Predicate a Programming Language,” J. ACM, Vol. 23, No. 1~, 1976.

Consultation

“A Domain-Independent Production W. Int’l Joint Sixth Programs,” Proc.

Intelligence

1979.

63.

van

Melle,

Rule Conf.

System

for

Artificial

“How does an 6~4. Expert Jarke, M.., Vassiliou, Y., Clifford, J., System Get Its Data?”, NYU Working Paper CRIS#50, GBA 82-26 (CR), extended abstract in Proc 9th VLDB Conf. Florence, October 1983. A C.A. “EXPERT: Kulikowski, Int’l Sixth Models,” Proc. 91~2_91i7. Artificial Intelligence 1979, pp.

65.

Weiss,

Developing

66.

and

Weiss, S.M., et al., “A

Medical

1978,

S.M.,

Consultation

pp.

Decision—Making,”

Model-Based

Artificial

1~I5-172.

16

Method

for

Intelligence

System Joint

for

Conf.

Computer-Aided 2, 11, No.

Vol.

Knowledge Engineering

and Fifth Generation

Computers

Koichi Furukawa, Kazultiro Fuchi institute tor New Generation

Computer Technology

Overview of the fifth

generation computer project generation computer project ltas the primary objective of establishing knowledge information processing technology. In our view. knowledge technology technology consists of a wide range of technologies centering around knowledge engineering. For instance, it includes develop ment of programming language and systems suited to knowledge engineer 1.

Also included

itig.

Lisp APPEND

man-machine communication

are

languages. graphics and images. The second objective of the project is to provide the software problems. The productivity of software

COND

technologies using

much slower

rate

than

a

drastic solution for

has been

improved

predominant proportion of the system cost. The project is aimed at solving this problem by entirely rebuilding computer science and technology upon new programming concepts such as logic program ming and object oriented programming. As an essential basis for achieving the two objectives, we chose a Prolog based logic programming language 2]. This is because both knowledge information processing and program modularization require a powerful list processing capability and flexible data structure healing capability. As a language with these capabilities, we chose Prolog, skipoing Lisp. It is not easy to prove that one language is better than any other language. because there it no standard for measuring languages. It is also difficult to convince people who believe that their favorite languages are the best. Nonetheless, we will try to give a technical justifi’ cation for our choice of Prolog instead of Lisp. Let us consider a short example of list processing. namely, appending ~ lists. The following is a Lisp program for the job. accounts for a

(DEFUN APPEND(XY) fCOND (NULL Xl Y)

(1 (CONS (CAR X) (APPEND (CDR X) Y)))))

name

). defines a Lisp P. Queries are degenerate clauses of the form P~> and can either be open formulas, i.e., containing free vari ables, or closed formulas. Treated procedurally, queries are goals to be proved or refuted with theorem-proving techniques, e.g., resolution’s unification and top-down depth-first search with

backtracking variables

in

as

as

facts,

in PROLOG.

which

are

The proof of an open query returns the instantiations of its free The proof of a closed query returns a boolean value.

the current database.

Integrity constraints, or assertions, or rules, are clauses, i.e., of the form P,Q,R->S. Procedur ally, they are used to guide theorem-proving as follows: since a rule can be read as “S if P, Q and R”, then in order to prove S. it suffices to prove P. Q and R. The apparent appeal of logic programming as the tool to unify ES’s and DB’s is that it comes with an inference mechanism and naturally connects to relational databases. On the other This may be the can also be a weakness to the extent that it is imposed. when the type of inference provided by a logic programming system and that needed by an application do not agree, or when the relational data model is not an obvious choice.

hand, this strength case

Logic programming, as implemented ing, i.e., it aims at proving goals. It

in PROLOG, is top-down (or backward) inference mak

does so by trying to refute goals, traversing databases of facts and rules and looking for inconsistencies between facts and instantiations in the rules of the goal refutations and of their implications. In addition, PROLOG imposes its top-down

search strategy, i.e., depth-first with backtracking,

although

it also offers ways to restrict back

tracking. In constrast,

log interpretation is

based

on

bottom-up (or forward) inference.

The Dipmeter

Advisor’s inference engine, for instance, is forward chaining. It searches facts and rules and when a match is found or deduced between facts and the antecedents of a rule, an instance of the rule’s consequent is generated and included in the database. It infers the presence of geo

logical features from the recognition of patterns of signals. Like signal processing in general, log iuterpretation is data-driven. Its aim is the generation of plausible conclusions from a mass of possible ones. The number of possibilities would make attempts to prove or refute the pres ence of every single one prohibitively expensive.’ *

In

reality, human log inlerpreters tend to mix a bit of top-down inference in (heir interpretation. For in some hypothesis based on weak evidence, and then look for signal patterns

stance, they sometimes form

confirming

this

hypoihe~i~. 58

logic programming and log interpretation general repudiation of logic, logic programming, top-down inference, or PROLOG, but only a recognition that different types of inference may have different places and roles in the marriage of an ES and a DBMS. For example, logic programming’s top-down infer It should be underlined that this mismatch between does not at all imply

be used in query evaluation.

ence can

&

a

The DBMS Alternatives

There

are

basically

two ways to conceive the

connection of

a

DBMS to

a

given ES: take

an

existing DBMS and build the bridge between the two, or develop a new DBMS to suit the ES. If one is interested in general-purpose DBMS’s, then relational DBMS’s are likely candidates since they respond to some of the obvious deficiencies of earlier DBMS’s and are becoming widely available commercially. The success of the relational data model is largely due to its

simplicity and generality. However, this is a

not

richer data model and if the connection to

an

necessarily sufficient if there is an alternative for existing relational DBMS is awkward.

This section discusses the alternatives from two view points: (i) data modelling and (ii) systems programming and efficiency. From the former view point, we compare the knowledge

representation system in which the ES is implemented, STROBE, with the relational model. From the latter view point, we discuss some implications of linking the ES with a particular relational DBMS, INGRES (Stonebrakerl976j, Ingresl982J, and we contrast them with the alternative of basing a DBMS on STROBE’s object oriented features.

4.1.

Data

Modelling Considerations

In general, it is fair to say that STROBE offers a richer data model than the relational Below, the salient data modelling features of STROBE which are not explicitly part of

model.

the relational model

are

presented, and their possible mapping into the relational model is dis

cussed.

Fow~ Levels of Data

4.1.1.

Representation

Whereas the relational data model offers three levels of data representation (i.e., data bases, relations and attributes), STROBE offers four levels of data representation: knowledge bases which

are

collections of related objects, which in turn have slots (or

attributes),

which in

further described by facets. Typical facets of a slot are the slot’s value and its data type (eg., integer, pointer to another object, bit map, ..). The user can add any facet, for example, to specify the types of objects the slot can point to, or the minimum and maximum number of turn

are

such objects, or to specify the units in which the value of quantity is expressed. There

are

cannot.

two kinds of STROBE

A class

can

have

a

objects: classes

which

can

a

slot

a

database schema, and

a

dimensioned

be instantiated, and individuals which

progeny made either of other classes

of STROBE classes corresponds to

representing

a

or

of individuals.

A collection

collection of individuals to

a

data

base extension. mean compressing the four levels Conceptually, the STROBE facets are the missing level in the relational model and the analogy is naturally drawn between objects and relations on one hand, and between slots and attributes on the other. However, if one wants to keep the facet information in a relational schema, the compression of STROBE classes into

Transforming

a

STROBE schema into

a

relational

one

would

of STROBE into the three levels of the relational model.

59

relational schemas would result in

decomposition of objects into relations. This is especially respected. For example, a M x N relationship between slot in each object would become a relation with the facets of a

true if the relational normalizations two

objects implemented with

(he two slots

one

attributes.

Generalization and Inheritance.

4.1.2.

There its

as

are

are

two kinds of

generalizations: (i)

a

things

an

set of attribute

object with generalizations (or classes) can inherit from definitions, and (ii) default values for these attributes.

STROBE handles both with the notion of class.

they

do, their values

are

The slots of

inherited by their progeny

as

a

class need not have values.

If

default values.

original relational model only from a relation to from another. For instance, in order to implement the fact to relation one its tuples, really could of is a that employee specialization explicitly add an integrity constraint stat person, one have the same social security number) to ing that any employee tuple must correspond (e.g., Inheritance of attribute definitions exists in the not

only is this done outside the data structure, but it is not sufficient to go down the generalization hierarchy, e.g., ~o know that a person can be an (unless a class and its whole progeny are stored employee, or an employer, or unemployed, in the same relation). The absence of this property has long been recognized as a major hin drance, and a proposal has been made to remedy it Smithl977J. However, this proposal requires the addition of an operator to the relational algebra and has not been implemented in exactly

one

tuple.

person

Not

...

available relational DBMS’s.

The inheritance of default values basically requires the data model to allow constructs with a variable number of attributes. Attributes which have a default value in a generalization only need to appear in the

specializations of this generalization where the default value is overrid

This contradicts the

den.

4.1.3.

(conceptual)

model of relations

as

tables.

Uniform treatment of actual and virtual data.

In STROBE, facets can either contain data or executable code, such as a procedure name Lambda expression (since STROBE is written in Interlisp). This facility allows smooth integration of data and code in objects, thus hiding from the user whether data is actual or vir-\ or

a

Furthermore, the access mechanism is the same in both cases. The contents of facets are sending them messages. A message is sent to the facet of a slot of an object. If a facet contains some data, that data is returned. If it contains a procedure name or definition, that procedure is executed and its value returned. This can be used to retrieve or recompute data, to perform checking, or to take arbitrary actions. tual.

accessed by

It is also

possible in STROBE

activated before

triggers

or

or

can

Bunemanl979J,

In

one or

facet of

updated.

a

slot

automatically

This corresponds to

STROBE, the automatic activation of procedures or after that data is accessed or updated,

be specified to take place before

and several procedures

4.1.4.

have the code stored in

after another facet of that slot is accessed

alerters

attached to data

to

can

be pipelined

as a

result of such

an

event.

User-defined data types. STROBE slots

can

be of any user-defined data type.

A data

purpose is to contain the definition of the

type is in fact implemented

as

operations and integrity con straints for the data type. This is not generally provided by relational DBMS’s, but is left to the programming language within which query languages can be embedded. In such environments, generic operations, i.e., operations of the data model’s Data Manipulation Language, are defined and performed under the DBMS’s control, whereas application-dependent data an

object whose main

60

operations

are

performed

under

the

programming language’s control.

This

issue

of dual

environment and control is revisited in the next section.

4.2.

Systems

and Efficiency Considerations

management facilities tradition ally offered by DBMS’s, such as file management, concurrency control, protection and crash recovery. Moreover, the only DBMS for the Xerox 1100 workstations we know of at this point is still experimental and runs under Mesa Catteltl983]. An alternative to extending STROBE into a DBMS would consist of using a DBMS running on VAX under VMS, since as1mentioned earlier, our ES accesses files and activates programs under VMS on VAXes from Interirsp-D on Xerox workstations. We shall briefly investigate this possibility by using INGRES as an exam STROBE

ple, and

currently

contrast it with

lacks most of the

making

secondary

STROBE into

a

memory

DBMS.

The scenario for accessing data in INGRES from STROBE would resemble the

following. Sup

pose query language has been designed, possibly embedded in Interlisp, which produces queries in INGRES’ query language, QUEL. Since STROBE manipulates objects and INGRES manipulates relations, this would first require mapping STROBE schemas into relations, and the translation into QUEL would use this mapping. Queries are sent to VMS and submitted to The results INGRES as standalone queries. They are interpreted and executed by INGRES transformed into STROBE and back User-defined the workstation back sent to objects. are operations, either datatype operations or procedures attached to data, are then applied to the results. This still leaves many questions raised by STROBE data model unanswered: How is STROBE generalization of classes represented in ~ How are default values handled? a

.

How is the activation of procedures contained in facets handled?

major drawback of this alternative is the particularity observed earlier about embedding query languages into programming languages that operations on data are performed differently depending on whether they are application dependent or generic (i.e., provided by the DBMS’s data model and therefore, application-independent). Generic operations would execute under INGRES control, and application-dependent operations under Interlisp/STROBE. A

One consequence of this dual execution environment is that the execution of

generic database

operations would be interpreted whereas application dependent operations could be compiled. The interpretation of data accesses is often justified by considerations of data independence: it allows data to change without affecting the code accessing It. Interpretation is therefore gen

erally recommended in case of frequently changing data. In case of stable data, however, significant increase in speed of execution can be gained by compiling data accesses. A compromise, similar to System R’s approach, consists of compiling data accesses, but whenever their data changes they are flagged as outdated, and recompiled at the first attempt to execute them. This would be impossible in our case due to the forced interpretation of QUEL queries The inconvenience of dual execution control would be all the more regrettable that the object. oriented nature of STROBE is an invitation to treat all data operations, generic or not, in a uni

form

manner.

Generic database operations would be attributes of

a

high level object represent

ing the class of objects stored on secondary memory. Every object susceptible to be stored on secondary memory would be a specialization of that high level object and, consequently, would inherit the generic database operations. It would then have the option of refining these opera tions and/or of adding its own. Also, the object(s) containing the generic data operations would encapsulate both the external representation and the internal representation of the data model. The external representation would consist of the availability of these operations, and the internal representation would consist of their implementation. It would make it easier to change the data model implementation without affecting its users.

61

In summary, the connection between STROBE and INGRES does not appear natural. This is hardly a surprise. If Stonebraker in a retrospective on the design of INGRES thinks that

attempting

to

glue together C and QUEL is “rather like interfacing

Stonebrakerl98O], then

what kind of

an

interface would the

one

an

apple

to

a

pancake”

between STROBE and

QUEL

be?

Note, however, that this does not necessarily preclude some relational implementation for STROBE databases. Such an implementation could be useful, especially in order to keep open communications with the outside world. For instance, it is probable that many database machines will be based on the relational model, since it is the most common of the set-oriented data models. Relational database machines will implement relational algebra operators, that is, lower level operators than for instance, QUEL. One reason INGRES does not fit our plan is that it would not be a backend machine, but a backend DBMS, with all the implied overhead and duplication of efforts and the imposition of a fixed query evaluation strategy. The coupling of

an

ES

on a

Xerox workstation and

5.

a

backend database machine could resemble the architec

Kelloggl983].

ture described in

Conclusion

This paper illustrates a case of selecting a DBMS for an ES. Two (related) aspects were discussed: inference making and data management. First, this case was presented as an exam

ple where the unification between databases and ES’s offered by logic programming would not necessarily work because logic programming’s top-down inference is not an obvious approach.

Then, the DBMS alternatives were presented as hooking up with an existing DBMS vs. extend ing the ES’s knowledge representation system (STROBE) into one. For the fnrmer alternative, relational DBMS’s in general, and INGRES in particular, were considered. The question was addressed both from a data modelling viewpoint and from a systems and efficiency viewpoint. was felt that STROBE has some desirable data modelling features which should be kept. The mapping between STROBE and the relational model is not straightforward (although feasible). However, the connection between STROBE and a relational DBMS such as INGRES would be acceptable only if it does not get too complicated by systems issues and slowed down by incon sistencies between the two systems. This is apparently not so. A major source of trouble would be the fact that data operations would execute in different environments depending on whether they are generic or application-dependent. Alternatively, the object-oriented nature of STROBE is viewed as an opportunity to treat all data operations uniformly.

It

In conclusion, it

was

decided to extend STROBE into

a

DBMS.

This solution is in line with the

agrees with proposals to implement continuing efforts in DBMS’s object-oriented languages, e.g. Baroodyl98l]. Finally, it is consistent with other attempts to extend existing programming languages into DBMS’s. See, for instance, the approaches consisting of making Algol’s or Ada’s heaps permanent IAtkinsonl982], 1Hall1983]. In particular, making Ada’s heap permanent is to be contrasted with the attempt to combine Ada with an existing DBMS (Daplex) SmithI98I]. In general, we see this approach as an opportuniy to study the potential contributions of data organization to enhance inference.

towards

richer data models.

It

also

Acknowledgements Comments, suggestions and fruitful discussions with Reid Smith, Peter Will and Stan Vestal have significantly contributed to this paper and are appreciated, The editor made useful

suggestions

about

an

earlier version of the paper.

62

References

Abriall974. J.R.

Abrial, “Data Semantics,” Koffeman,North Holland (1974).

in

Base

Data

Management,

ed.

Klimbie

Atkinsonl982. M. Atkinson, K. Chisholm, and P. Cockshott, “PS-Algol: An Algol with sistent Heap,” SIGPLAN Notice 17(7)(JuIy 1982).

a

&.

Per

Baroodyl98l. A.J. Baroody and D.J. deWitt, “An Object-Oriented Approach to Database Sys tem Implementation,” ACM Transactions on Database Systems 6(4) (Dec. 1981). Bobrowl98I. D. Bobrow and M.

Stefik, “The LOOPS Manual,” Xerox Palo Alto Research

Center (1981).

Bunemanl979. O.P.

bases,” ACM

Bunemari

and E.K.

Clemons, “Efficiently Monitoring Relational Data Systems 4(3) (Sept. 1979).

Transactions On Database

CattellI983. R.G.G. Cattell, “Design and Implementation of Model,” Xerox Palo Alto Research Center (May 1983).

a

Relationship-Entity-Datum

Chen1976. P.P. Chen, “The Entity-Relationship Model. Toward ACM Transactions on Database Systems 1(1)(March 1976).

a

Data

Unified View of Data,”

Coddl97O. E.F. Codd, “A Relational Model of Data for Large Data Banks,” Communications of the ACM 13(6) (June 1970).

Colme.rauerl983. A. Colmerauer, “PROLOG in Joint

Conference

on

Artificial intelligence,

Davisl98l. R. Davis, H. Austin, I.

,

10

Figures,”

in

Proceedings of international

Karlsruhe W. Germany (1983).

Carlbom,

B. Frawley, P. Pruchnik, R. Sneiderman, and l.A. Gilreath, “The Dipmeter Advisor: Interpretation of Geologic Signals,” in Proceedings of international Joint Conference on Art j/Icial intelligence, Vancouver Canada (1981). ,

GallaireI978. H. Gallaire and I.

Minker, Logic

and Data

Bases, Plenum Press, New York

(1978). GaHaireIg8l. H. Gallaire, J. Minker, and J.M. Nicolas, Advances in Data Base Theory, Plenum

Press, New York (1981).

GoldbergI983. A. Goldberg and Addison-Wesley (1983). Hall1983. A.V. Hall,

“Adding

D. Robson, Smalitalk-SO The

Language

and its

implementation,

Database management to Ada,” SIGMOD Record

13(3)(Aprjl

1983). Ingresl9S2. Ingres, “lagres Manual,” Relational Technology,

Berkeley, Ca. (1982).

Kelloggl983. C.H. Kellogg, “Intelligent Assistants fro Knowledge and Information Resources Management,” in Proceedings of international Joint Conference on Artificial intelligence, Karlsruhe, W. Germany (1983). Kowalskil979. R. Kowalski,

Logicfor P,’oblem Solving, North Holland (1979).

Lafuel983. G. M. E. Lafue and 1. Mitchell, “Data Base Management Systems and Expert Sys tems for CAD,” in CAD System Frameworks, ed. K. Bo,North-Holland (1983). McLeodl982. D. McLeod and R.

King, “Semantic Database Model,” in Principles of Database Design, ed. S.B. Yao,Prentice Hall (1982).

Mylopoulosl98O. J. Mylopoulos, P. Bernstein, and H.K.T Wong, “A Language Facility for Designing Interactive Database-Intensive Applications ,“ ACM Transactions on Database Svstems5(2)(1980 ). Parsayel983. K. Parsaye, “Prolog, Database Management and Knowledge Base Management in Expert Systems Applications,” in Proceedings oJACM/SJGMOD Conference un Modelling of Data,

,

San Jose, Ca (1983).

63

Reiterl9S3. R. Reiter

(Chairman), “A Panel on A! and Databases,” in Proceedings of on Artificial intelligence. Karisruhe, W. Germany (1983).

Interna

tional Joint Conference

,

Schoen 1983. E.

Schoen and R. G. Smith, “IMPULSE: A Display Oriented Editor for STROBE,” in Proceedings of American Association for Artificial Intelligence, Washington D.C. (1983). ,

SmithI98l. J.M. Smith, S. Fox, and T. Landers, “Reference Manual for Adap~ex,” Computer Corporation of America (Jan. 1981). Smithl977. J.M. Smith and D.C. Smith, “Dathbase Abstractions: Aggregation and Generaliza tion,” ACM Transactions on Database Systems 2(2) (June 1977).

Smith, “STROBE: Support for Structured Object Knowledge Representa Karlsruhe tion,” in Proceedings of international Joint Conference on Artificial Intelligence, W. Germany (1983).

Smithl983b. R.G.

,

Smithl983. R.G. Smith and J.D. Baker, “The Dipmeter Advisor System. A Case Study in Commercial Expert System Development,” in Proceedings of international Joint Conference on

Arrdicial Intelligence,

,

Karisruhe W. Germany (1983).

Stonebrakerl980. M. Stonebraker, “Retrospection on

on

a

Database

System,”

AC!~f Transactions

Database Spstems5(2) (June 1980).

Stonebrakerl976. M. Stonebraker, E. Wang, and P. Kreps, “The Design and Implementation of INGRES,” ACM Transactions on Database Systems 1(3)(Sept. 1976). Vassilioul983. Y. Vassiliou, J.

Data?,” 1983).

New

Clifford,

York University,

and M.

Jarke, “How Does an Expert System Get its Research on Information Systems (March

Center for

W. 1. Zaumen, “Computer Assisted Circuit Evaluation in Prolog for VLSI,” in San Jose, Ca (1983). Proceedings of AcM1S!GMOD Conference on Modelling of Data,

Zaumen 1983.

,

64

IMPLEMENTATION OF RULES IN RELATIONAL DATA BASE SYSTEMS

by Michael Stonebraker, John Woodflll and Erika Andersen

Dept

of Electrical

Engineering and Computer University of California Berkeley, Ca.

Science

ABSTRACT

This paper contains a proposed implementation of a rules system in a rela tional data base system. Such a rules system can provide data base services

including integrity control, protection, alerters, triggers, and view processing. The proposed implementation can be used for user specified rules. makes efficient use of an abstract data type facility by introducing new data types which assist with rule specification and enforcement.

Moreover, it

I INTRODUCTION Rules systems have been used extensively in Artificial

Intelligence applica expert systems such as Mycin SHOR76] and Prospector DUDA7B]. In this environment knowledge is represented as rules, typically in a first, order logic representation. Hence, the data base for an expert system consists of a collection of logic formulas. The role of the data manager is to discover what rules are applicable at a given time and then to apply them. Stated difTerently, the data manager is largely an inference engine. tions and

On

are

a

central theme in most

the

other hand, data base management systems have tended to knowledge as pure data. The data manager is largely a collection of heuristic search procedures for finding qualifying data. Representation of first order logic statements and inference on data in the data base are rarely attempted in production data base management systems.

represent

all

The purpose of this paper is to make a modest step in the direction of sup porting logic statements in a data base management system. One could make this step by simply adding an inference engine to a general purpose DBMS. How this would entail

large

amount of code with

no practical interaction with system. As a result, the DBMS would get much larger and would contain two essentially non overlapping subsystems. On the other hand, we strive for an implementation which integrates rules into DBMS facilities so that current search logic can be employed to control the

ever,

a

the current search code of

a

data base

activation of rules.

The rules system that we plan to implement is a variant of the proposal in which was capable of expressing integrity constraints, views and pro tection as well as simple triggers and alarms for the relational DBMS INGRES

STON82],

~TON76].

Rules

are

of the form:

condition

on

then

action

The conditions which the

type

were

of command

specified

being

include:

executed

65

(e.g. replace, append)

the relation affected

the

the time the

(e.g. employee, dept)

the command

issuing of day

user

of week

day

being updated (e.g. salary) specified in the qualification qualification present in the user command

the fields the fields the

The actions which

proposed

we

included:

sending a message to a user aborting the command executing the command modifying the command by adding qualification changing the relation names or field names

Unfortunately, which the lates the

conditions and actions often affect the command As such, they appear to require code that manipu

these

submitted.

user

or

and semantics of relational commands.

syntax

This

string processing

code appears to be complex and has little function in common with other data base facilities. In this paper we make use of two novel constructs which make rules

implementing

1)

the notion of

modest

a

executing

undertaking. These

are:

the data

and

2)

a

sequence of

QUEL

commands

as

a

data

type

for

a

relational data base sys

tem

The remainder of this paper is organized as follows. In Section II we indi the new data types which must be implemented and the operations required for them. Then in Section III we discuss the structural extensions to a cate

relational data base and V contains some

II

system that will support rules execution. Lastly, examples and our conclusions.

Section IV

RULES AS ABSTRACT DATA TYPES

Using

FOGGB2,

current INGRES facilities

ONGB2,

columns of a relation can be defined and specified. We use this facility to deflne several

for

associated

operators

The first data range of

e

is

STON82a]

operators

types

new

on

new

data

these

new

types types

of columns and their

in this section.

type

is

a

QUEL command,

e.g.

employee

replace e(salary

=

The abstract data

1.1*e.salary)

where

e.name

type facility supports type. Moreover,

“John”

external

representation such as object of the given type is stored in the data base it is converted to an internal representation. QUEL com mands are converted by the INGRES parser to a parse tree representation such as the one noted in Figure 1 for the qualification “where 13. + employee.salary 100”. Consequently, a natural internal form for an object of type QUEL is a parse tree. Each node in this parse tree contains a value (e.g. 13.) and a type (e.g~ floating point constant). that above for

a

given

data

an

when

an

=

The second new data type which will be useful is an ATTRIBUTE-FUNCTION. This is a notion in the QUEL grammar and stands for anything that can be evaluated to

a

constant

or

the

name

tions include: 13.

66

of

a

column.

Examples

of attribute func

RETBOOL +

-F4EQ

-+

100.

+---F4PLUS---+

F4VAR 1~

The Parse Tree for the Qualification Where 13. + employee.salary = 100

Figure 1.1*employee.salary

1

+20

newsal

representation is the same string format used for objects of type representation is that of a parse tree. other data types of lesser significance are also needed, a TIME data

The external

QUEL;

the internal

Two

type

to contain

which is

one

a

time of

QUEL

of the

day

value and

a

COMMAND data type to contain

a

value

commands.

Current built-in INGRES operators (e.g. ~‘, /, +. etc.) must be extended for In addition, two new operators are also required. use with attribute functions. function need new() which will operate with integer data types. When a First, we called, it will return a new unique identifier which has not been previously used.

Second, of data

~, which will operate on we require a partial match operator, types and provide either equality match or match the value “‘.

a

variety

III

INGRES CHANGES

ing

We expect to create two rules relation, RULES 1 and RULES2, with the follow fields: create

RULES1(

rule-id user-id

= =

i4,

dO,

time, command = command,

time

=

relation

terminal action

=

=

c12, c2,

quel)

create RULES2

(

rule-id

i4, dO, type attribute-function att-fnl c5, operator =

att-fn2

For

example,

=

we

attribute-function) might

wish

a

rule that would add

67

a

record to

an

audit trail

whenever the

RULES1

updated

the

employee

This

relation.

requires

a

row

in

follows:

as

RULES1( newQ,

to

append

‘Mike’

user

speciñed rule-id

=

user-id

“Mike”,

=

command

relation

action

“replace”, “employee”. QUEL command =

=

=

to

perform audit)

If additionally we wished to perform the audit action only when Mike updated the employee relation with a command containing the clause “where “Fred” we would add an additional tuple to RULES2 as follows: employee.name =

to

append

RULES2(

rule-id

the

=

type att-fnl

=

“Fred”)

att.fn2

We also require the

possibility

the

case

thereby could type:

range of execute

r

value

executing

data in the data base.

an

executable

execute the rule that

was

QUEL command and just appended to Ri we

is Ri

(r.action)

where r.user-id

r.command r.relation

=

=

“Mike” and

“replace” “employee”

=

and

QUEL command is entered by a user, it is parsed into an internal format and stored in a temporary data structure. We expect to that data structure to be the following two main memory relations:

When

a

tree

change

We pro

r.qualification

of r.field must be

type QUEL. To

of data

parse

of

following syntax:

range of r is relation execute (r.field) where In this

in RULES1

“employee.name”

operator

pose the

assigned

one

“where”

=

create

QUERY1(

user-id

dO, = command,

=

command relation time

c12, time,

=

=

c2)

terminal= create

QUERY2(

clause-id

type att-fnl

=

operator

user

range of retrieve

e

attribute-function, =

c5,

attribute-function)

att-fn2 If the

i4, dO,

=

=

types

is

the query:

employee

(e.salary) where (e.name and

e.salary

=

“Mike”

or e.name

> 30000

68

=

“Sally”)

then INGRES will build

QUERY 1

to contain

a

single tuple

with values:

QUERY 1 user-id

command

current-user

retrieve

QUERY2

will have four

I

relation

employee

tuples

as

time

terminal

current-time

current-terminal

follows:

QUERY2 clause-id

~j

ld-x

~JI

type

where where

id-z

where

employee.name employee.name employee.salary

Notice that

and

tree

to the

QUERY 1 corresponding

operator

employee.sala~y~

target-list

id-y id-y

att-fnl

=

=

att-fn2

~J~mployee.saIary Mike

Sally >

30000

QUERY2 contain a relational representation of the parse incoming query from the user. The where clause of the query is stored in conjunctive normal form, so that atomic formulae which are part of a disjunction have the same clause-id, while the atomic formulae and disjunctions in the conjunction have difTerent clause-ids. Then

QUEL commands in Figure 2 to identify and execute appropriate to the incoming command. These commands are performed by the normal INGRES search logic. Activating the rules system simply means running these commands prior to executing the user submitted command. After running the commands of Figure 2, the query is converted back to a parse tree representation and executed. Notice that the action part of a rule can update QUERY1 and QUERY2; hence modification of the user com mand is easily accomplished. The examples in the next section illustrate several we

execute the

the rules which

uses

are

for this feature:

range of ri is RULES 1 range of r2 is RULES2 range of range of

qi q2

QUERY1 QUERY2

is is

retrieve into

TEMP(rl.id, rl.quel)

where

rl.user-id

ql.user-id and rl.command ql.command rl.time and ql.time r1.terminal~ ql.terminal range of I. is TEMP execute (t.quel) where t.id < 0

and

or

(t.id r2.rule-id and set(r2. all-but-rule-id by r2. rule-id) set(r2. all-but-clause-id by r2. rule-id where r2. all-but-rule-id q2. all-but-clause-id)) =

=

Rule Activation in

Figure The set functions rule

are

as

defined in

QUEL

2.

HELD75].

The conditions for

are:

(i)

its

tuple

in RULES1 matches the

69

Luple

in

QUERY1

activating

a

and either

(ii)

each

tuple

for the rule in RULES2 matches

a

Luple

in

QUERY2.

or

(iii)

there

are

no

required

(represented by The second condition

matches in RULES2

0).

rule-id


references.

of all the M members with

constructed

are

database

it

the transaction programs

help specify

can

(N

but forces deletion

members,

partial relationships

and other

Structural semantics is used initially in

primitives Wiederhold 79,83a1.

these

ownership

refeItnt while there exist

constrains the insertion of

complex relationships (N:M)

More

owner.

an

by combining

design; where

requiring

the

are

The definition of reference

identity (1:1 complete).

and

referent, and deletion of the

a

ownership also

The definition of



(1:1 partial),

the subset

as

well

as

the data structures to be used

for reliable implementation of the semantics. if

a

database

is known to maintain the structural

implementation

profitably exploited. Such integrity on

constraint rules

the

ownership

the

required

or

procedures

entries have

approved will be

a

are

correct current

examples

are

either

Update update

does not violate the

can

Simplified model.

specify

helps

in

avoid the

a

the

query

which

processing. This

joins

to be

ElMasri 81]. Example: actually given

Simplified

databases means

is

composed

are

of coverage. WHERE

...

is made

Even in such Find

reference to the

Retrieval transaction

can

be

cases

weight

of

stored

case),

of

it

of

the

having

part

the X

inventory

total

databases,

to pass that filter.

schema.

Building

a

of the schema.

building

what amounts

means

purposes:

Example:

a

basis for of

a

that the current

verifying general

model rather than

A statement to insert =

a new

inventory

supplier.s~-name. embodied in the structural

it is not necessary for the

connections exist between query

be

other than

capability

connecting attributes have

can

in the

replaceable modules.

provide

known,

inventory

database management systems

part.suppliertname

are

the

in

possible by using the knowledge

only

then the

people

processed, although

queries

user

objects

to be named

the

weight of

is

to

path

explicitly a

part is

part~type entry.

processing.

model, the

some

appearing

numbers

Few

query.

expanding

is olten the

performed. Only if multiple

in the referenced

transaction

possible,

specified interrelatlonal dependencies. Use

explicit subquery

actions: Will all

all have part~-type

specifically for the following

Since the connections among relations all the

lacking

are

ad hoc way. Since

toy department, will be able

easily changed (as

or

an

erroneous

parti-type-based

traditional

assuring completeness

verification necessary.

2.

they

permit

verification. The formal constraints of the model

distinct rules record

be used

can

systems

our

semantics in

the datastructure if

or

query

in

in that sense,

expandable

may be based

or

the programmer to enforce the constraints.

application

transactions may

manager of

the schema is not

Structural semantics

2.

the

on

and all of

coprocessor for the database schema program. We look forward to

which

1.

and their

front-end to enhance traditional databases

Alternatively, when a

then it falls

guaranteed, through

to find

inadequate,

reference? Will

knowledge contained

‘knowledge-based to

some

supplier-based

a

implementation structure,

be

formal specification method.

a

supplier

be

can

equal for either

The limited

as

often correct, but

list? If that

those used in

capabilities,

implement databases

progammers

the

on

can

attached to the database. For instance, most hierarchical structures enforce

constraint maintenanace

smart, they

re

directly

connection. If the database system is

The structural model is then used

Today

may be based

this semantics

semantics,

if the structure of the database is

automatically

transaction programs will not have to check for structural

optimized

and be assured of identical results.

77

Example:

maintained

error

by

conditions.

Find Total

(value)

of

inventory

more

To make proper

good

carefully.

to contend with

underlying

inconsistent database

an

model, triggered by attempted changes constraints

pertineiit

are

have to guarantee that all

we

satisfied.

the

updates, however,

of the

importantly,

more

semantics,

Keller 81]. Maintaining

The validation of

integrity

is viewed

days

or

as

even

inappropriately. How many

The formal

example

widgets

equivalent

of

were

a

query with

delivered to

implied

an

the

well

connections, an

available is but

years later when retrieval results fall behind

The information imbedded in the structural model An

as

It is well known that the cost of correcting are

requires



can

can

error

a

so

may

be

that

that

constraints

updates only users

be checked

of the

during

model,

will not have use

guarantee that the

of

a

specified the

update when

an

fraction of the cost of

correcting

expectations.

also indicate when

but false

satisfy the

We have shown that

query sessions.

involved in

will

the constraints not

satisfying

during subsequent

to attributes

updates

of the database

semantics of the database

documents and the information to be entered

the database

inventory by part~-type, which

of

for part~-types exist.

paths

access

of structural

use

that have been defined

but,

become Find Total( Total(value)

can

efficient of

assumption

a

query has been asked

is:

in New York

receiving department

yesterday?

of this query becomes:

SELECT deliveries.number WHERE

deliveries.part4-type deliveries

date

deliveries.depl-number departments.name

system’s

response

will be erroneously

departments.number

=

‘Receiving’

=

departmente.location

The

AND

‘Widget’

=

10CT1983 AND

=

AND

‘New York’.

=

none

AND



because the

receiving department

is

actually

in New

Jersey. This of

does not fail at the level of

question

departments. Feedback about such

rephrase

queries and

the

not

come

away

We do not believe that the formal This

means

ntural

that

a

implied assumptions

queries

at the

(Requested department

failure

with

can

acceming widgets, but

information

erroneous

are

convenient for the

enter formal

queries

as

level of

found.) Kaplan 81].

users

well

as

not

accessing can

when many relations the

more

concise

help

are

the list the

user

involved.

knowledge-based

language queries.

Views The

only of

an

a

problem

of

handling database updates

is

complicated by the observation

limited view of the entire database and hence cannot be

update. In today’s practice

programmed

transactions.

they typically and the

lack

application

an

most

Although

underlying

of artificial

database

the latter

updates

are

are

our

intelligence techniques.

78

updating

user

has

to understand all the ramifications

being performed by clerical personnel handling

programmed

model. llcre too,

expected

that the

to preserve the

research here

employs

consistency two

of the

database,

approaches: algorithms

In the

algorithmic approach,

the

remaining database

not

all of them In

states that

obvious,

be

can

dealing with updates

the information he has increases and heuristic

we arc

to

in natural

update ambiguity

update request Keller 82]. In

an

a

methods to minimize

static views the

the

updates

alternatives,

the user’s view must be assumed to be restricted to

language,

Given that limited view, the

must be used to determine the most reasonable

satisfy

and to enumerate

database administrator for selection.

obtained from the database.

previously

can

satisfy

can

presented

techniques

transformations which

developing

ranked based

are

on a

update.

minimal effect

ambiguity

Here the candidate

structures not in the

on

Davidson 821.

users’ view

In both

approaches

the number of

possible alternatives

is limited

the constraints of the structural

by

model.

Domain

Knowledge

Stable structural knowledge is complemented by domain knowledge. of domain

knowledge,

examples.

Domain

or

shall not undertake to

we

knowledge

indirectly through

can

to the database structure. In most

level of

interpretation.

to deal with that

An

level,

example

like

can

be

1982

frequently

a

extremely

thus be

checking through

Of course, domain notion that

employees

alternatives when

an

knowledge

but

can

would expect domain can

also be

be

in artificial

the

it cannot be bound

altered,

more

to

facts,

higher

a

knowledge.

This statement is true

minor

require

We do not have

powerful.

intelligence postulating that

quantitatively

useful

of the database

users

knowledge

fashion needed for structural

rigorous

requesting

the year. The

the

precise

can

only

to

“birds

a

certain

fly”. These

the oil carried in barrels

as

is

oil

the

imported by

the indexed list of tankers to the query

to determine

what

on

the other

United

and

on

assigned

to

a new

than

States

noting

hand, would

in

whether

necessitate

they carried King 81].

also be used to reduce the number of alternatives for

easily reassigned

more

of

amount

answer

lading for all ships

knowledge are

changed directly by

types

many some

penguins. The utilization of this deliberately restricted knowledge, however,

employee

updating.

The

departments, for example, reduces the number of

location.

Knowledge

A form of domain content of the

knowledge,

for

query to the

The

we

processed by simply scanning through

every bill of

be

that ‘oil is carried in tankers’.

effective. A query

they used U.S. ports during

by the

same

syllogistic example.

and the existence of

can

Focus

in the

knowlege used

can

Since it is less precise, it

disregard logically important,

statements

freighters

is the

time and

implementations

at query time.

knowledge

over

are

theni here but shall limit ourselves to

classify

mechanism. Since this type of

learning

a

vary

Although there

same

knowledge, which

database,

instance,

to

inventory will

query, within

have been been based

on

a

can

is

triggered by

be used to

improve

suggest related data

to the

the current

the focus of the user.

retrieve all attributes in the query

focus of

explicit

models,

on

the

presentation

database,

but

one

of experts.

79

might

rather than

of data. We

use

When the focus is transportation

path which

are

of type location

will include all attributes of type money. Our

purchasing

task

activity

also build task models

by tracking

focus

then or

a

time.

suggestions

the activities

If

know the type of task

we

involved,

relevant information in respon~e to obvious data

on

rescue

An

Application

suggestion is implemented by letting the

For

supplies

instance, be

in

of

Knowledge

perform the appropriate explores the

data

database. Rules

about the

knowledge

analysis

to Data

a

presented, but

database of

The expert who knows the

application

can

serve

as

basis for

a

large

including

possible

we

have

years of

tools that

developed

combing

covariates

operational

artificial

use

the database for

in the

given

knowledge

statistical tests

appropriate

turn out to be

hypotheses generation less formal This database

only

are

use

appears

Furthermore,

among the data

were

We have available to

required

knowledge about

warranted,

to

us

to this

get

a

large

stage.

to assist in the

processing

the medical domain. This

correlations and report such events

a

In

as

statistical model is built that includes

by applying

are

added to the to

collection of rules that

a

satisfied

are

knowledge

by

use

the

the statistical

base for

descriptions

procedures.

If

in another iteration of

use

knowledge generation complements

the familiar but

by expert systems Shortliffe 73,79].

(ARAMIS) Fries 79].

hypotheses

to the data.

a user

base.

testing. This approach

has been demonstrated

hypotheses

were

unexpected time-lagged

selected

significant, they

and

taken

approach

approach

Tentative

is needed to

rarely present when

relationships

intelligence techniques

of the data from the database schema and the conditions that

findings

is~

appropriate

all known

collections of well maintained data.

prospective hypotheses. If analysis of the finding

the

not

model.

assist in

can

procedures

be used to select statistical methods

rheumatolgy patients. Many

this research

The

mission,

all

should the

also the time and fuel available to reach

analytic procedures. Knowledge about procedures

of time-oriented data. A frame-based model is used to capture

all

rescue

display

screen

Analysis

common

analysis.

can

Content analysis requires

model

naval

point.

Associated with tasks may be

an

the

query.

the lifeboats and medical

the

in

a

by using

The statistical methods

generated

could be added to the

and

original

a

available

now

automatically loaded

small subset of the time-oriented are

tested for statistical

knowledge

base

rheumatology

limited to multi-variate

regression.

significance. Several verified

Blum 82].

Summary This brief summary

variety

and

of

depth

on

problems

the

assumption that, while

we

find

so

useful is

the

our

relatively

planners In

principle,

the

availablility

can

be

in database systems should illustrate the great

knowledge

seek solutions to

by combining knowledge and and

extremely large

much smaller and

change rapidly,

data. We

the

always

underlying

make

semantics

changes only gradually. By achieving adequate coupling

knowledge, however,

we

can

help make the database

more

accessible to

Davidson 1980].

major objective

the many programs used to programs and the

of semantic

can

database

of the database with intemisional and decision-makers

use

we

access

of this work is to most databases.

codify Since

the we

of the programmers who did the

80

knowledge

that is

now

distributed among

expect the databases to outlive both the

original codification,

it is essential that

we

move we

up to

levels of

new

knowledge management

if

we

want to be able to handk the valuable data

resources

acquire.

References

Armstrong 80] W.W.

Armstrong and C. Delobel: “Decompositions TODS, Vol.5 No.4, December, 1980, pp.404—430.

and Functional

Dependencies in Relations”; ACM

(Blum 82b] R.L. Blum:

Discovery and Representation of Causal Relationships from a Large Time-Oriented The RX Project; Lecture Notes in Medical Informatics, No.19, Lindberg and Reichertz, (eds.), Springer-Verlag, New York, New York, 1982, 242 pp. Clinical Database:

(Casanova 82] MA.

Casanova,

with Functional

R.

Fagin, and C.H. Papadimitriou, Inclusion Dependencies and Their Interaction Dependencies; IBM Research Report RJ3380 (40160), August 3, 1982.

Davidson 80] J. Davidson and S.J.

Meeting

Kaplan, “Parsing

of the Assoc. for

in the Absence of a Complete Lexicon”; Proc. 18th Annual Computational Linguistics, Philadelphia, Pennsylvania, June 19—22, 1980.

Davidson 82] J.

Davidson,

“Natural

Language Access

to

Databases:

User

Modeling

and

Focus”; Proc. 1982

CSCSI/SCEIO Conf., Saskatoon, Saskatchewan, Canada, May 17—19, 1982, pp.204—211. fElMasri 81] R. ElMasri and C.

Wiederhold, “Formal Specifications of CORDAS: a High-level Query Language for Graph Databases”; Proc. 2nd Intl. Conf. on the Entity-Relationship Approach to System Analysis and Design, Washington, D.C., October 12—14, 1981.

Fries 79) J.F. Fries and Dennis

Syrnp.

on

McShane, “ARAMIS, A National Chronic Disease Databank System”; Proc. 3rd Computer Applications in Medical Care, Washington DC, IEEE, October, 1979, pp.798—

801.

Kaplan 81] S.J.

Kaplan and J. Davidson, “Interpreting Natural Language Updates”; Computational Linguistics, June 1981.

Proc. 19th Annual

meeting,

Assoc. for

Keller 81) A.M. Keller and C.

Symp.

Wiederhold,

“Validation of

Updates Against the Structural Database Model”; Systems, IEEE, July 1981, Pittsburgh,

in Distributed Software and Database

Reliability Pennsylvania, pp. 5—199. on

(Keller 82] A.M. Keller and C.

Wiederhold, “Updates to Relational Databases Through Views Involving Joins”; on Databases: Improving Usability and Responsiveness, Jerusalem, Israel:

Proc. 2nd Intl. Cont.

Academic

Press,

June

1982,

pp. 363—384.

King 81] J.J.

King, “QUIST:

A

7, Zaniolo and Delobel

System for Semantic Query Optimization (eds), September 1981, pp.510-517.

81

in Relational

Databases”; VLDB

lShortlifl’e 7~1 “

An Artilicial Edward Shortliffe, S.C. Axline, B.C. Buchanan, T.C. Merigan, and S.N. Cohen, and Antimicrobial Advise to Computers Therapy”; Regarding Physicians Intelligence Program

Biomedical Research, Vol.6, 1973,

pp.544—56O.

~Short1ilTe 7~1 ShortlilFe, B.C. Buchanan, and lilt. E’cigenbatim, “Knowledge Engineering for Medical Decision Making: A Review of Computer-Based Decision Aids”; Proc. of the IEEE, Vol.67, no.9, 1079, pp.1207-- 1223.

E.H.

UlIman 821 J.D.

Uliman, Principles of Database Systems, 2nd ed.; Computer Science Press, 1982,

494 pp.

~WiederhoId ~°1 ElMasri, “The Structural Model for Database Design”; Proc. Intl. Cont. on Entity-Relationship Approach to Systems Analysis and Design, North Holland Press, December 1079, C. Wiederhold and R.

pp. 247—267.

Wiederhold 83a1 C. Wiederhold, Database Design; McCraw-HiIl, Computer Science Series, 2nd ed., January 083,

768pp.

Wiederhold 83b1 C.

Wiederhold,

J.

Milton, and D. Sagalowic~, The Knowledge-Based Management Systems project;

Stanford University, Stanford, California, June 1983.

~

IF

p’

.

. 4 —

‘~.-—v

,





4

U-’ a —

LI I



Tutorial: Data Base the 80’s James A. Larson and

Database W. Kim, D.

Engineering,

Batory,

Harvey

A. Freeman

management systems (DBMS) that will be through this decade. Interfaces

A. Hevner, R. Katz, and

available

available to various classes of

users are

de

scribed, including self-contained query lan

compendium binds together the first five issues of a quarterly nev~letteon ~atabase This

The book contains issues

in

This tutorial addresses the kinds of data base

Volume I

0. Reiner

Engineering.

Management

guages and graphical displays. Techniques available to data base administrators to de sign both logical and practical DBMS archi

on

the status of research and development in database machine architecture, physical de

tectures

are

reviewed,

as

are

data base

engineering design data bases, query processing, and distributed

computers and other hardware specifically

database systems.

ment functions.

sign

488

of databases,

designed

369 (ISBN 0-8186-0369-0):

(ISBN 0-8186-0488-3): Database Engi

ieering, Volume I,. May 1983,

to accelerate database manage

472 pp.

302 pp.

NM, $25.00; M, $15.00

82

September1981,

NM, $25.00; M, $18.75

Reprints on VLSI Technologies and Computer Graphics Selected

SELECTED REPRINTS ON VLSI TECHNOLOGIES AND COMPUTER GRAPHICS

Henry Fuchs compilation of reprints is intended for professionals interested in the intersection of and the relationship between computer graphics and VLSI. Two major areas are represented: The graphical aspects of VLSI design and the impact of VLSI computing structures on graphics hardware.

This

Tutorial

Software ~

on

are

Software maintenance, the work done

on a

software system after it becomes operation al, consumes at least half of all technical and

management software

reprinted articles that eight sections. The sections cover the following topics: Mask level lay out; symbolic layout; floorplanning, place ment, and routing; artwork analysis; al gorithms for layout synthesis and analysis;

This book contains 56

Zvegintzov

G. Parikh and N.

in

expended supplies

resources

This tutorial

C--—-—4

the

CAD systems and related

a

sys tematic overview of software maintenancearea.

and

bibliography

(ISBN 0-8186-0491-3) July 1983, NM, $30.00; M, $20.00

498 pages.

by thirty-seven comprehensive anno

papers A

leading authorities. tated

graphics issues;

image analysis.

491

what it is, how to do it, how to manage it, and what are the areas of current research. This

tutorial features 31

divided into

and full indexes to

names

topics build this tutorial into an indis pensable reference for practitioner and re and

searcher alike.

(ISBN 0-8186-0002-0): April 1983,

453

360

NM, $32.00; M, $18.75

pp.

PUBLICATIONS ORDER FORM

PLEASE SHIP TO

Return with

I

iemittance

to.

IEEE Computer Society Order Department P.O. Box 80452 Worldway Postal Center Los Angeles, CA 90080 U.S.A. Discounts. Orders, and Member discounts

COPY ORDER sold

at

list

apply

for the

in

U.S

or

ORDERED. Airmail service

titte) ONLY! Additional copies

are

Canada, ADD $5.00 PER BOOK to

or

attention

of)

II I

price.

Priority shipping

Mexico and

i’.... 1111111111 II.

: i i~rn 1i”TTI 11111 H~ AFFILIAT ION (company

the FIRST COPY OF A MULTIPLE-

same

I

Policies:

Shipping on

I I I I I I I I I I

NAME

Foreign

countries,

ADO $15.00 PER BOOK ORDERED.

ADDRESS (Line

f 1.1 1111 I1”’’

I I

1)

IIH1HIIHI IHIU 1HIHIITI II. ADDRESS (Line

2!

-

III1f1FITTI1 IIII IlIlIllIll II’ CITY’STATE,’ZIP CODE

Requests for refunds/returns honored for 60 days from date of shipment (90 dayS for overseas).

IllIllElfIll 1llI 1111111111 II. COUNTRY

ALL PRICES ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL BOOKS SUBJECT TO AVAILABILITY ON DATE OF

I IT 11111

PAYMENT.

IEEE/COMPUTER SOCIETY M EMBER NUMBED

ALL FOREIGN/OVERSEAS ORDERS MUST BE PREPAID.

Minimum credit card charges $15.00.

(excluding postage

and

handling),

“Tl I liii

lrequiredfo,rhscoiiot(

11 I T 11111 I I I I 1111111 1 PURCHASE ORDER NUMBER

AUTHORIZED SIGNATURE M/NM

ORDER Service charge for checks returned $10.00.

or

money orders, travelers checks-

are

AMOUNT

TITLE/OESCRIprION

orv

expired credit cards.

PAYMENTS MUST BE MADE IN U.S. FUNDS ONLY. DRAWN ON A U.S. BANK. UNESCO coupons. International

PRICE

NO.

________ ______

accepted. PLEASE DO NOT

SEND CASH.

ORDER HANDLING CHARGES lbased of your order—not For orders

$ $

including

totaling:

1.OOtoS

10.00

S 2.00

10.01

to

$ 25.00

3.00

to

$ 50.00

$ 4.00 $

5.00 7.00

to

$200.00

$

over

$200.00

$10.00

$100.01

VfSA

the $ value

postage)

If your selection is in

print,

handling handling handling handling handling handling

~ L~1 *

charge charge charge charge charge charge

ii

no

Yes

at

the

~J

SUB TOTAL

S

CALIFORNIA RESIDENTS ADD 6% SALES TAX

S

HANDLING CHARGE (BASED ON SUB-TOTAL)

S

OPTIONAL PRIORITY SHIPPING CHARGE

S

TOTAL

S

longer

will you accept

microfiche

Add:

25.01

$ 50.01 to $100.00

on

sales tax and

same

price’

No

METHOD OF PAYMENT (CHECK ONE) II

CHECK ENCL.

I]

VISA

::

MASTERCARD

.1

AMERICAN EXPRESS

IIIIHII!1III1HlIIHI~ Db~Ic

I -I

PHONE. TELEX NUMBER

CHARGE CARD NUMBER

EXPIRATION DATE

SIGNATURE

Tutorial: Robotics by C. S. G. Lee, A. C. Gonzalez,

and K. S. Fu

The purpose of this tutorial is to present and summarize the fundamental concepts and theory of robotics from current literature. In 9 chapters, this book covers the fundamentals of robot

arm

sensors, robot

vision, robot

brief review of

some

kinematics, dynamics, control, trajectory, planning, control

languages

and machine

intelligence. Providing

a

of the mathematical tools used in

robotics, the tutorial includes concepts and theory at a mathematical level that requires a good background in vectors, matrices, kinematics, and dynamics of rigid bodies. Basic concepts are explained at the beginning of each chapter, followed by reprints from various journals which explain the underlying theory. chapters: Introduction and History of Robotics Robot Arm Kinematics Deriving the Robot Arm Dynamical Model How to Design Trajectories Between Two Points in 3.Dimensional Space Servo Control Mechanisms The Use of Contact Sensors Survey of Principle Techniques Used in State-of -theArt Industrial Computer Vision Systems High Level Programming Languages Used in Process Control Basic Techniques and Methodologies in Artificial Intelligence •













515

Tutorial: Software by

(ISBN 0-8186-0515-4):

.

584 pp., November 1983

NM, $39.00; M, $24.00

Design Techniques (4th Edition) Peter Freeman and

Anthony

I. Wasserman

Now in its fourth edition, this

popular tutorial and best seller has been revised and to reflect the latest developments and ideas in the field. Intended for both

expanded beginning

and

experienced designers, analysts, and managers needing a broad engineering methods, this tutorial reflects the rapid changes that have occurred in such areas as software specification and design by incorporating new materials found to be of exceptional interest to a wide variety of audiences. Naerly half the articles in this book did not appear in the third edition, published three years ago. For continuity and use in professional and university courses, the tutorial retains the structure of previous editions.

introduction to software

Sections: Introduction

Analysis Techniques Specification Methods External Design Architectural Design Techniques Detailed Design Techniques Design Validation Software Development Methodologies Bibliography •















514

(ISBN 0-8186-0514-6):

736 pp., November 1983

NM, $32.00; M, $20.00

Tutorial: Local Network by

WI/jam

Technology

Stallings

Few other innovations in data

widely discussed

and

processing and data communications have been so eagerly anticipated before reaching maturity as that of local

networks. Intended for

a

broad range of individuals interested in local networks, this

tutorial

explores the key issues in the field under broadly defined categories of technology and architecture, network types, and design approaches. Focusing on common principles underlying the design and implementation of all local networks, the tutorial gives the reader sufficient background to judge and compare local network products while describing such elements as: critical design considerations and alternative approaches to meeting user requirements, what to look for in the way of network services and performance, and trade-offs to consider. Sections: Introduction



Local Area Networks

Computerized Branch Exchanges Issues Glossary Bibliography •

517





High-Speed

The Network Interface



Local Networks

Performance



Digital Switches and Internetworking Design •





(ISBN 0-8186-0517-0): 320 pp.,

November 1983

NM, $32.50; M, $20.00