Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!decvax!ittatc!dcdwest!sdcsvax!ucbvax!ailist From: jacob@NRL-MMS.ARPA (Rob Jacob) Newsgroups: mod.ai Subject: Expert Systems and Software Engineering Message-ID: <8602212312.AA02895@nrl-mms> Date: Fri, 21-Feb-86 18:12:28 EST Article-I.D.: nrl-mms.8602212312.AA02895 Posted: Fri Feb 21 18:12:28 1986 Date-Received: Sat, 1-Mar-86 00:30:39 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 69 Approved: ailist@sri-ai.arpa From: Rob Jacob 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.