This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Software Engineering Methodology for Rule-Based Systems
June 1990 (vol. 2 no. 2)
pp. 173-189

Current expert systems are typically difficult to change once they are built. The authors introduce a method for developing more easily maintainable rule-based expert systems, which is based on dividing the rules into groups and focusing attention on those facts that carry information between rules in different groups. They describe a new algorithm for grouping the rules of a knowledge base automatically and a notation set of software tools for the proposed method. The approach is supported by a study of the connectivity of rules and facts in rule-based systems; it is found that they indeed have the latent structure necessary for the programming methodology. Recent experimental results also support the approach. In contrast to the homogeneous way in which the facts of a rule-based system are usually viewed, this approach shows that certain facts are more important than others with regard to future modifications of the rules.

[1] J. Baroff, R. Simon, F. Gilman, and B. Shneiderman, "Direct manipulation user interfaces for expert systems," inExpert Systems: The User Interface, J. A. Hendler, Ed. Norwood, NJ: Ablex, 1988, pp. 99-125.
[2] D. G. Bobrow and M. Stefik, "The LOOPS manual," Tech. Rep. KB-VLSI-81-13, Knowledge Systems Area, Xerox Palo Alto Research Center, 1981.
[3] L. Brownston et al.,Programming Expert Systems in OPS5, An Introduction to Rule-Based Programming, Addison Wesley, Reading, Mass., 1985, Chapter 4, pp. 161- 164.
[4] W. J. Clancey, "The advantages of abstract control knowledge in expert system design," inProc. Nat. Conf. Artif. Intell., 1983, pp. 74-78.
[5] J.S. Davis, "Effect of modularity on maintainability of rule-based systems," inInternational Journal of Man-Machine Studies, 1990, to be published.
[6] R. O. Duda, P. E. Hart, N. J. Nilsson, and G. L. Sutherland, "Semantic network representations in rule-based inference systems," inPatterrn-Directed Inference Systems, D. A. Waterman and F. Hayes-Roth, Eds. New York: Academic, 1978, pp. 203-221.
[7] S. Fickas, "Development tools for rule-based systems," inExpert Systems: The User Interface, J. A. Hendler, Ed. Norwood, NJ: Ablex, 1988, pp. 127-151.
[8] C. L. Forgy, "OPS5 user's manual," Tech. Rep. CMU-CS-81-135, Comput. Sci. Dep., Carnegie-Mellon Univ., 1981.
[9] J. Froscher, R. Grishman, J. Bachenko, and E. Marsh, "A linguistically motivated approach to automated analysis of military messages, " inProc. 1983 Conf. Intell. Syst. Machines, Oakland Univ., 1983.
[10] A. Gupta and C. L. Forgy, "Measurements on production systems," CMU-CS-83-167, Comput. Sci. Dep., Carnegie-Mellon Univ., 1983.
[11] J. D. Musa, "Tools for Measuring Software Reliability,"IEEE Spectrum, Feb. 1989, pp. 39-42; correction, April 1989, p. 8.
[12] R. J. K. Jacob and J. N. Froscher, "Developing a software engineering methodology for rule-based systems," inProc. 1985 Conf. Intell. Syst. Machines, Oakland Univ., 1985, pp. 179-183.
[13] R. J. K. Jacob and J. N. Froscher, "Software engineering for rule-based systems," inProc. Fall Joint Comput. Conf., Dallas, TX, 1986, pp. 185-189.
[14] D. S. Nau and M. Gray, "Hierarchical knowledge clustering: A way to represent and use problem-solving knowledge," inExpert Systems: The User Interface, J. A. Hendler, Ed. Norwood, NJ: Ablex, 1988, pp. 81-98.
[15] D. S. Nau, "Automated process planning using hierarchical abstraction," Award Winner, Texas Instruments Call for Papers on Applications of AI in Industry;Texas Instruments Tech. J., 1988.
[16] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[17] D. L. Parnas, "Software engineering principles,"INFOR Canadian J. Oper. Res. Inform. Processing, Nov. 1984.
[18] J. A. Reggia, R. Tabb, T. R. Price, M. Banko, and R. Hebel, "Computer-aided assessment of transient ischemic attacks: A clinical evaluation,"Archives Neurol., vol. 41, pp. 1248-1254, 1984.
[19] N. Sager,Natural Language Information Processing. Reading, MA: Addison-Wesley, 1981.
[20] M. Stefik, J. Aikins, R. Balzer, J. Benoit, L. Birnbaum, F. Hayes-Roth, and E. Sacerdoti, "The architecture of expert/systems," inBuilding Expert Systems, F. Hayes-Roth, E. A. Waterman, and D. B. Lenat, Eds. Reading, MA: Addison-Wesley, 1983, pp. 89- 126.
[21] W. P. Stevens, G. J. Meyers, and L. L. Constantine, "Structured design,"IBM Syst. J., vol. 13, pp. 115-139, 1974.
[22] M. F. M. Tenorio and D. I. Moldovan, "Mapping production systems into multiprocessors," inProc. IEEE Int. Symp. Parallel Processing, 1985, pp. 116-120.
[23] M. Weiser, "Programmers use slices when debugging,"Commun. ACM, vol. 25, no. 7, pp. 446-452, July 1982.
[24] P. H. Winston and B. K. P. Horn,LISP. Reading, MA: Addison-Wesley, 1981.
[25] J. B. Wright, F. D. Miller, G. V. E. Otto, E. M. Siegfried, G. T. Vesonder, and J. E. Zielinski, "ACE: Going from prototype to product with an expert system," inProc. 1984 ACM Annu. Conf. 5th Generation Challenge, 1984, pp. 24-28.

Index Terms:
information hiding; knowledge maintenance; software engineering methodology; rule-based systems; expert systems; maintainable rule-based expert systems; knowledge base; notation set; connectivity; rules; facts; knowledge based systems; software engineering
Citation:
R.J.K. Jacob, J.N. Froscher, "A Software Engineering Methodology for Rule-Based Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 2, no. 2, pp. 173-189, June 1990, doi:10.1109/69.54718
Usage of this product signifies your acceptance of the Terms of Use.