Reuse of cliches in the knowledge-based editor
The Knowledge-Based Editor in Emacs (KBEmacs) is the current demonstration system implemented as part of the Programmer's Apprentice project. The purpose of the system is to experiment with a number of AI-based programming support capabilities. It is expected that most of these capabilities will appear in one form or another in the programming environments of the future.
The most important of these capabilities is the reuse of cliches — i.e., the reuse of stereotyped algorithms and other pieces of programming knowledge. Using KBEmacs, a programmer can build up a program rapidly and reliably by selecting various standard algorithms and combining them together. Other key features of KBEmacs include a semantic, as opposed to syntactic, representation for programs and support for an assistant-like interaction between the system and the user.
KeywordsControl Flow Data Flow Program Generator Plan Formalism High Level Language
Unable to display preview. Download preview PDF.
- R. Balzer, "Transformational Implementation: An Example", IEEE Transactions on Software Engineering V7 #1, 3–13, January 1981.Google Scholar
- D. Barstow, "A Perspective on Automatic Programming", AI Magazine, V5 #1, 5–27, Spring 1984.Google Scholar
- S. Fickas, "Automating the Transformational Development of Software", IEEE Transactions on Software Engineering V11 #11, 1268–1277, November 1985.Google Scholar
- C. Green and S. Westfold, "Knowledge-Based Programming Self-Applied", Machine Intelligence 10, J. Hayes, D. Mitchie, and Y. Pao eds., Wiley, 339–359, 1982.Google Scholar
- J. Neighbors, "The Draco Approach to Constructing Software from Reusable Components", IEEE Transactions on Software Engineering V10 #5, 564–573, September 1984.Google Scholar
- C. Rich, "A Formal Representation for Plans in the Programmer's Apprentice", 7th IJCAI, 1044–1052, August 1981.Google Scholar
- C. Rich, "The Layered Architecture of a System for Reasoning about Programs", 9th IJCAI, 540–546, August 1985.Google Scholar
- C. Rich and H. Shrobe, "Initial Report on a Lisp Programmer's Apprentice", IEEE Transactions on Software Engineering V4 #6, 456–466, November 1978.Google Scholar
- R. Waters, "The Programmers Apprentice: A Session with KBEmacs" IEEE Transactions on Software Engineering V11 #11, 1296–1320, November 1985.Google Scholar
- D. Wile, "Program Developments: Formal Explanations of Implementations", Communications of the ACM V26 #11, 902–911, November 1983.Google Scholar
- Zetalisp, Lisp Machine documentation (release 4), Cambridge MA, Symbolics Inc., 1984.Google Scholar