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