The SIS project: software reuse with a natural language approach

The SIS (Software Information System) project investigated a new approach to one part of the software reuse problem. The problem is how to nd and use a reusable component from a repository. The approach is (1) to provide a knowledge representation system that allows for modeling the components in the repository with user-de ned semantic categories, (2) to provide deductive capabilities in this knowledge representation system, to perform powerful retrieval operations, and (3) to complement the formal query facility with a natural language user interface in order to achieve ease of use and freedom from terminology constraints imposed by the names used in the knowledge base. In the SIS project, both the knowledge representation system YAKS and the natural language processing component SARA have been designed and built. We have developed a general approach for building transportable natural language interfaces for databases using KL-ONE-like knowledge representation languages. A prototype system called YAKR was built for which this approach was used to integrate YAKS and SARA. This report describes the philosophy, design, and implementation of YAKR, the rst experiences we have gathered with it, and the limitations we expect.

[1]  Premkumar T. Devanbu,et al.  LaSSIE—a knowledge-based software information system , 1991, ICSE '90.

[2]  Perry S. Plexico,et al.  Data abstraction and object-oriented programming in C++ , 1990 .

[3]  Susan T. Dumais,et al.  The vocabulary problem in human-system communication , 1987, CACM.

[4]  Jaime G. Carbonell,et al.  Robust Parsing Using Multiple Construction-Specific Strategies , 1987 .

[5]  Ian Sommerville,et al.  An information retrieval system for software components , 1988, Softw. Eng. J..

[6]  R. Adams KRS-a hybrid system for representing knowledge in knowledge-based help systems , 1991, [1991] Proceedings. The Seventh IEEE Conference on Artificial Intelligence Application.

[7]  Premkumar T. Devanbu,et al.  A Knowledge-Based Software Information System , 1989, IJCAI.

[8]  Jaime G. Carbonell,et al.  Coping with Extragrammaticality , 1984, ACL.

[9]  Emmon W. Bach,et al.  Universals in Linguistic Theory , 1970 .

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

[11]  H D WarrenDavid,et al.  An efficient easily adaptable system for interpreting natural language queries , 1982 .

[12]  Douglas E. Appelt,et al.  TEAM: An Experiment in the Design of Transportable Natural-Language Interfaces , 1987, Artif. Intell..

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

[14]  David W. Embley,et al.  Can Programmers Reuse Software? , 1987, IEEE Software.

[15]  P. G. Selfridge,et al.  Knowledge representation support for a software information system , 1991, [1991] Proceedings. The Seventh IEEE Conference on Artificial Intelligence Application.

[16]  Roger C. Schank,et al.  Conceptual dependency: A theory of natural language understanding , 1972 .

[17]  Stuart M. Shieber,et al.  An Introduction to Unification-Based Approaches to Grammar , 1986, CSLI Lecture Notes.

[18]  Jeannette M. Wing,et al.  Specifications as Search Keys for Software Libraries , 1991, ICLP.

[19]  Andy Podgurski,et al.  Behavior sampling: a technique for automated retrieval of reusable components , 1992, International Conference on Software Engineering.

[20]  Michael Loren Mauldin,et al.  Information retrieval by text skimming , 1989 .

[21]  M. Ratcliffe,et al.  Report on a workshop on software reuse , 1988 .

[22]  Will Tracz,et al.  Software Reuse: Motivators and Inhibitors , 1988, COMPCON.

[23]  Jaime G. Carbonell Requirements for Robust Natural Language Interfaces: The LanguageCraft and XCALIBUR experiences , 1986, COLING 1986.