[mod.ai] Expert Systems and Software Engineering

j_eggen%vax.runit.unit.uninett@NTA-VAX.ARPA (Jorun Eggen) (02/21/86)

From: Jorun Eggen <j_eggen%vax.runit.unit.uninett@nta-vax.arpa>


Hello out there!

Can anyone give me references to work carried out in order to see what
theory, methodologies and tools from Software Engineering can do to assist
the process of building expert systems? Or to put it another way: Is Knowledge
Acquisition today at the same level as Software Engineering was 20 years ago? 
If the answer is yes, what can we learn from Software Engineering to help us
to provide reinventing the wheel and instead consentrate on the new unsolved
problems?

References to articles, reports, people, books etc. are welcome.
Thanks a lot, and be aware that my net-address "uninett" is spelled with
double t.

                Jorun Eggen
                RUNIT/SINTEF
                N-7034 Trondheim-NTH
                NORWAY

jacob@NRL-MMS.ARPA (Rob Jacob) (02/22/86)

From: Rob Jacob <jacob@nrl-mms.ARPA>


Saw your message about software engineering for expert systems on the
AIList...glad you asked.  

Here at the Naval Research Laboratory Judy Froscher and I are trying to
work on just this problem.  We are interested in how rule-based systems
can be built so that they will be easier to change.  Our basic solution
is to divide the set of rules up into pieces and limit the connectivity
of the pieces.  

I, too, would be very interested to hear about any other work in this
area.  When we describe our work to people, we often hear "That is just
what we need...why isn't somebody working on this?"  But we do not often
hear about other people actually working on this problem.  Two you might
try are Gregg Vesonder at Bell Labs and Steve Fickas at University of
Oregon.  

I'm going to attach a short abstract about our work to the end of this
message and some references.  

Good luck,
Rob Jacob

ARPA:	jacob@nrl-css
UUCP:	...!decvax!nrl-css!jacob
SNAIL:	Code 7590, Naval Research Lab, Washington, D.C. 20375



    Developing a Software Engineering Methodology for Rule-based Systems

			    Robert J.K. Jacob
			   Judith N. Froscher

			Naval Research Laboratory
			    Washington, D.C.

Current expert systems are typically difficult to change once they are built.
The objective of this research is to develop a design methodology that will
make a knowledge-based system easier to change, particularly by people other
than its original developer.  The basic approach for solving this problem is
to divide the information in a knowledge base and attempt to reduce the
amount of information that each single programmer must understand before he
can make a change to the expert system.  We thus divide the domain knowledge
in an expert system into groups and then attempt to limit carefully and
specify formally the flow of information between these groups, in order to
localize the effects of typical changes within the groups.  

By studying the connectivity of rules and facts in several typical rule-based
expert systems, we found that they seem to have a latent structure, which can
be used to support this approach.  We have developed a methodology based on
dividing the rules into groups and concentrating attention on those facts
that carry information between rules in different groups.  We have also
studied several algorithms for grouping the rules automatically and for
measuring coupling and cohesion of alternate rule groupings in a knowledge
base.  


			       REFERENCES

J.N. Froscher and R.J.K. Jacob, "Designing Expert Systems for Ease of
Change," Proc. IEEE Symposium on Expert Systems in Government, Washington,
D.C., pp. 246-251, 1985.  

R.J.K. Jacob and J.N. Froscher, "Developing a Software Engineering
Methodology for Rule-based Systems," 1985 Conference on Intelligent Systems
and Machines, Oakland University, 1985.  

kierulfv@UNC.UUCP (Valerie Kierulf) (02/24/86)

From: Valerie Kierulf <ulysses!mcnc!unc!kierulfv@ucbvax.berkeley.edu>


Jeg kan ikke hjelpe deg, men etter det som jeg ser, leser og hoerer, har
folkne som driver paa med AI aldri hoert noe om Software Engineering!
Jeg ville vaere veldig glad aa hoere av det motsatte !!!!

Translation: I cannot help you. But after all I see, read and hear, people
             that have to do with AI don't know about the existence of Software
             Engineering. I would be very glad to hear the opposite !!!!!!


Valerie Kierulf