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