Abstract
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.
This work was supported in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contract N00014-80-C-0505, in part by National Science Foundation grants MCS-7912179 and MCS-8117633, and in part by the International Business Machines Corporation.
Preview
Unable to display preview. Download preview PDF.
References
R. Balzer, "Transformational Implementation: An Example", IEEE Transactions on Software Engineering V7 #1, 3–13, January 1981.
D. Barstow, "A Perspective on Automatic Programming", AI Magazine, V5 #1, 5–27, Spring 1984.
S. Fickas, "Automating the Transformational Development of Software", IEEE Transactions on Software Engineering V11 #11, 1268–1277, November 1985.
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.
J. Neighbors, "The Draco Approach to Constructing Software from Reusable Components", IEEE Transactions on Software Engineering V10 #5, 564–573, September 1984.
C. Rich, "A Formal Representation for Plans in the Programmer's Apprentice", 7th IJCAI, 1044–1052, August 1981.
C. Rich, "The Layered Architecture of a System for Reasoning about Programs", 9th IJCAI, 540–546, August 1985.
C. Rich and H. Shrobe, "Initial Report on a Lisp Programmer's Apprentice", IEEE Transactions on Software Engineering V4 #6, 456–466, November 1978.
R. Waters, "The Programmers Apprentice: A Session with KBEmacs" IEEE Transactions on Software Engineering V11 #11, 1296–1320, November 1985.
D. Wile, "Program Developments: Formal Explanations of Implementations", Communications of the ACM V26 #11, 902–911, November 1983.
Zetalisp, Lisp Machine documentation (release 4), Cambridge MA, Symbolics Inc., 1984.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Waters, R.C. (1987). Reuse of cliches in the knowledge-based editor. In: Conradi, R., Didriksen, T.M., Wanvik, D.H. (eds) Advanced Programming Environments. Lecture Notes in Computer Science, vol 244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17189-4_119
Download citation
DOI: https://doi.org/10.1007/3-540-17189-4_119
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17189-8
Online ISBN: 978-3-540-47347-3
eBook Packages: Springer Book Archive