Computer-aided software engineering of expert systems

Abstract The problem of automatically reprogramming an expert system either to adjust for solving different types of computational problems or to improve run-time performance is addressed. A computer-aided software engineering (CASE) method using artificial intelligence techniques to instantiate a concrete program from a given abstract expert system architecture is proposed. Our method, called expert system reification, is suitable for use in a large range of problem-solving behaviors. Reification combines meta-level programming with partial evaluation of the program. Expert system reification extends the above blend with a knowledge-based translation module, thus obtaining an efficient and portable expert system version. We demonstrate the method by applying it to STAREX, an electronic circuit pack troubleshooting expert system developed in PROLOG to derive automatically the corresponding C code, which is currently installed at one of the AT&T manufacturing facilities.

[1]  Alan Bundy,et al.  Using Meta-Level Inference for Selective Application of Multiple Rewrite Rule Sets in Algebraic Manipulation , 1980, Artif. Intell..

[2]  Leon Sterling Impress-meta level concepts in theorem proving , 1982 .

[3]  Frank van Harmelen,et al.  The architecture of Socrates. , 1989 .

[4]  John Seely Brown,et al.  Process versus Product: A Perspective on Tools for Communal and Informal Electronic Learning , 1985 .

[5]  Akikazu Takeuchi,et al.  Partial Evaluation of Prolog Programs and its Application to Meta Programming , 1986, IFIP Congress.

[6]  William J. Clancey,et al.  The Advantages of Abstract Control Knowledge in Expert System Design , 1983, AAAI.

[7]  Frank van Harmelen A Classification of Meta-level Architectures , 1988, META.

[8]  Han Reichgelt Semantics for reified temporal logic , 1987 .

[9]  Leon Sterling,et al.  Meta-level inference in Algebra , 1981 .

[10]  Luís Moniz Pereira Logic Control with Logic , 1982, Implementations of Prolog.

[11]  Randall Davis,et al.  Meta-Rules: Reasoning about Control , 1980, Artif. Intell..

[12]  Allan Collins,et al.  THE COMPUTER AS A TOOL FOR LEARNING THROUGH REFLECTION , 1986 .

[13]  Bruce G. Buchanan,et al.  Meta-Level Knowledge: Overview and Applications , 1977, IJCAI.

[14]  Michael R. Genesereth,et al.  An Overview of Meta-Level Architecture , 1983, AAAI.

[15]  Yoav Shoham,et al.  Reified Temporal Logics: Semantical and Ontological Considerations , 1986, ECAI.

[16]  Alan Bundy,et al.  Using Meta-Level Inference for Selective Application of Multiple Rewrite Rules in Algebraic Manipulation , 1980, CADE.

[17]  Thomas E. Cheatham,et al.  Reusability Through Program Transformations , 1984, IEEE Transactions on Software Engineering.

[18]  Yuval Lirov STAREX—Simultaneous test and replace circuit pack troubleshooting expert system prototyping and implementation , 1989 .

[19]  Richard C. Waters,et al.  Automatic programming: myths and prospects , 1988, Computer.

[20]  Robert Balzer,et al.  Transformational Implementation: An Example , 1981, IEEE Transactions on Software Engineering.

[21]  F. T. Baker,et al.  Chief Programmer Team Management of Production Programming , 1972, IBM Syst. J..

[22]  Douglas R. Smith,et al.  Research on Knowledge-Based Software Environments at Kestrel Institute , 1985, IEEE Transactions on Software Engineering.

[23]  George Drastal,et al.  Economy In Expert System Construction: The AEGIS Combat System Maintenance Advisor , 1986, Other Conferences.

[24]  Martin S. Feather,et al.  A survey and classification of some program transformation approaches and techniques , 1987 .

[25]  James M. Boyle,et al.  Program Reusability through Program Transformation , 1984, IEEE Transactions on Software Engineering.

[26]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[27]  Yuval Lirov Systematic invention for knowledge engineering , 1990 .

[28]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[29]  Bob J. Wielinga,et al.  Models of Expertise , 1986, ECAI.

[30]  Hubert L. Dreyfus,et al.  Mind over Machine: The Power of Human Intuition and Expertise in the Era of the Computer , 1987, IEEE Expert.

[31]  Diane Warner Hasling Abstract Explanations of Strategy in a Diagnostic Consultation System , 1983, AAAI.

[32]  William J. Clancey,et al.  Guidon-Watch: A Graphic Interface for Viewing a Knowledge-Based System , 1985, IEEE Computer Graphics and Applications.

[33]  Christine T. Iwaskiw,et al.  Knowledge Base Compilation , 1989, IJCAI.

[34]  Richard C. Waters Program Translation via Abstraction and Reimplementation , 1988, IEEE Trans. Software Eng..

[35]  S. Ramakrishnan,et al.  A piggy-back compiler for Prolog , 1988, PLDI '88.

[36]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .