Simplifying the construction of domain-specific automatic programming systems: The NASA automated software development workstation project

An overview is presented of the Automated Software Development Workstation Project, an effort to explore knowledge-based approaches to increasing software productivity. The project focuses on applying the concept of domain specific automatic programming systems (D-SAPSs) to application domains at NASA's Johnson Space Flight Center. A version of a D-SAPS developed in Phase 1 of the project for the domain of space station momentum management is described. How problems encountered during its implementation led researchers to concentrate on simplifying the process of building and extending such systems is discussed. Researchers propose to do this by attacking three observed bottlenecks in the D-SAPS development process through the increased automation of the acquisition of programming knowledge and the use of an object oriented development methodology at all stages of the program design. How these ideas are being implemented in the Bauhaus, a prototype workstation for D-SAPS development is discussed.

[1]  Austin Henderson,et al.  RABBIT: An Intelligent Database Assistant , 1982, AAAI.

[2]  John P. McDermott,et al.  The Taming of R1 , 1986, IEEE Expert.

[3]  Elliot Soloway,et al.  Assessing the Maintainability of XCON-in-RIME: Coping with the Problems of a VERY Large Rule-Base , 1987, AAAI.

[4]  Tianran Wang,et al.  Knowledge Acquisition for Constructive Systems , 1985, IJCAI.

[5]  Hector J. Levesque,et al.  The Tractability of Subsumption in Frame-Based Description Languages , 1984, AAAI.

[6]  Richard C. Waters The Programmer's Apprentice: A Session with KBEmacs , 1985, IEEE Transactions on Software Engineering.

[7]  Ellis Horowitz,et al.  An Expansive View of Reusable Software , 1984, IEEE Transactions on Software Engineering.

[8]  Ellis Horowitz,et al.  Application generators: Ideas for programming language extensions , 1984, ACM '84.

[9]  John Mylopoulos,et al.  Knowledge Representation as the Basis for Requirements Specifications , 1985, Computer.

[10]  P. Patel-Schneider Small can be beautiful in knowledge representation , 1984 .

[11]  David R. Barstow,et al.  Artificial intelligence and software engineering , 1987, ICSE '87.

[12]  Louis I. Steinberg Design as Refinement Plus Constraint Propagation: The VEXED Experience , 1987, AAAI.

[13]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[14]  P. A. Berstein Database system support for software engineering , 1987, ICSE '87.

[15]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

[16]  Allen Newell,et al.  SOAR: An Architecture for General Intelligence , 1987, Artif. Intell..

[17]  Douglas B. Lenat,et al.  CYC: Using Common Sense Knowledge to Overcome Brittleness and Knowledge Acquisition Bottlenecks , 1986, AI Mag..

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

[19]  Alan F. Blackwell,et al.  Programming , 1973, CSC '73.