Knowledge-Based Assistant

Intelligent assistants facilitate design and construction of complex software. In this article, we propose a model for an intelligent assistant to aid in building one kind of software-knowledge-based sys- tems-and discuss a preliminary implementation. The assistant partic- ipates in knowledge-based system (KBS) construction, including ac- quisition of an initial model of a problem domain, acquisition of control and task-specific inference knowledge, testing and validation, and long- term maintenance of encoded knowledge. We present a hypothetical scenario in which the assistant and a KBS designer cooperate to create an initial domain model, and discuss five categories of knowledge the assistant requires to offer such help. We then discuss two software technologies upon which the assistant is based-an object-oriented pro- gramming language, and a user-interface framework.

[1]  Christopher F. Herot,et al.  Program Visualization: Graphics Support for Software Development , 1983, 20th Design Automation Conference Proceedings.

[2]  Marvin Minsky,et al.  A framework for representing knowledge , 1974 .

[3]  Marc B. Vilain,et al.  The Restricted Language Architecture of a Hybrid Representation System , 1985, IJCAI.

[4]  Henry Lieberman There's more to menu systems than meets the screen , 1985, SIGGRAPH '85.

[5]  David Maier,et al.  Displaying Database Objects , 1986, Expert Database Conf..

[6]  Reid G. Smith,et al.  A Substrate for Object-Oriented Interface Design , 1987, Research Directions in Object-Oriented Programming.

[7]  Reid G. Smith,et al.  Impulse-86: a substrate for object-oriented interface design , 1986, OOPSLA 1986.

[8]  Robert Duisberg,et al.  Animating Programs Using Smalltalk , 1985, Computer.

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

[10]  Janice Sue Aikins,et al.  Prototypes and production rules : a knowledge representation for computer consultations , 1980 .

[11]  Reid G. Smith,et al.  IMPULSE: A Display Oriented Editor for STROBE , 1983, AAAI.

[12]  William R. Swartout,et al.  XPLAIN: A System for Creating and Explaining Expert Consulting Programs , 1983, Artif. Intell..

[13]  Mark Moriconi,et al.  Visualizing Program Designs Through PegaSys , 1985, Computer.

[14]  Richard Fikes,et al.  The role of frame-based representation in reasoning , 1985, CACM.

[15]  Marvin Minsky,et al.  A framework for representing knowledge" in the psychology of computer vision , 1975 .

[16]  Daniel G. Bobrow,et al.  Object-Oriented Programming: Themes and Variations , 1989, AI Mag..

[17]  Douglas B. Lenat,et al.  Knowledge-based systems in artificial intelligence , 1981 .

[18]  Daniel G. Bobrow,et al.  On Overview of KRL, a Knowledge Representation Language , 1976, Cogn. Sci..

[19]  Ronald J. Brachman,et al.  "I Lied About the Trees", Or, Defaults and Definitions in Knowledge Representation , 1985, AI Mag..

[20]  Eugene Charles Ciccarelli,et al.  Presentation based user interfaces , 1984 .

[21]  Larry J. Eshelman,et al.  MOLE: A Knowledge Acquisition Tool that Uses its Head , 1986, AAAI.

[22]  William J. Clancey,et al.  The Epistemology of a Rule-Based Expert System - A Framework for Explanation , 1981, Artif. Intell..

[23]  Kristen Nygaard,et al.  SIMULA: an ALGOL-based simulation language , 1966, CACM.

[24]  David A. Moon Object-oriented programming with flavors , 1986, OOPSLA 1986.

[25]  Ronald J. Brachman,et al.  An overview of the KL-ONE Knowledge Representation System , 1985 .

[26]  Frederick Hayes-Roth,et al.  Building expert systems , 1983, Advanced book program.

[27]  B. Sheil Power tools for programmers , 1986 .

[28]  Reid G. Smith,et al.  Declarative Task Description as a User-Interface Structuring Mechanism , 1984, Computer.

[29]  Thomas Kaczmarek,et al.  Recent Developments in NIKL , 1986, AAAI.

[30]  Reid G. Smith,et al.  A Modular Tool Kit for Knowledge Management , 1985, IJCAI.

[31]  Steven P. Reiss Graphical program development with PECAN program development systems , 1984 .

[32]  Tom M. Mitchell,et al.  LEAP: A Learning Apprentice for VLSI Design , 1985, IJCAI.

[33]  Bruce G. Buchanan,et al.  The MYCIN Experiments of the Stanford Heuristic Programming Project , 1985 .

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

[35]  Ira P. Goldstein,et al.  The FRL Manual , 1977 .

[36]  David A. Moon,et al.  The Lisp Machine manual , 1981, SGAR.

[37]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.