Generalizing Programming by Demonstration
Gordon W. Paynter · 1996
Programming by demonstration (PBD) is a term that describes a wide range of end-user programming techniques that generate code from the user's examples. Most systems that use PBD rely on knowledge of a specific application (domain knowledge) and on ad hoc inferencing techniques to make sense of the user's actions. This paper argues that it is possible and practical to build a PBD system that incorporates domain knowledge without being restricted to a single application and that uses general purpose learning algorithms. A methodology for designing such a system and the author's current work in the area are described.