Building Whole Applications Using Only Programming-by-Demonstration.
Abstract
Present day tools require a developer to learn complex programming languages to build modem interactive software. However, the effort used to create such software such as games, simulations, and educational software would be better spent not in programming the application's logic, but in providing the engaging background, artwork, and gameplay that keeps users interested. Artists and educators who could produce good material for these applications are often unable to program. Thus, providing a tool that does not require programming skill but still allows a wide range of behavior to be created is desirable. This thesis has developed techniques that allow a developer to build complete applications without using a written programming language. The foundation of these techniques is programming-by-demonstration in which a developer shows the system what to do by presenting examples of the desired behavior. The techniques include innovations both in interaction and inferencing. The interaction techniques developed in this research are designed to give developers the ability to express the application's behavior with appropriate detail. The developer can draw guide objects in the scene that are hidden to the user. These objects express important relationships and hold the application's data. The developer can also use cards and decks to represent collections of data as well as to provide randomness. The developer can give the system hints by pointing out which objects a behavior relies upon. Also, the techniques include an efficient method for demonstrating examples called nudges. Nudges allow the developer to revise behaviors as problems are discovered, and they allow the developer create negative examples as easily as positive examples. The inferencing techniques allow a broader range of behavior to be generated automatically than prior PBD systems allowed.
Document Details
- Document Type
- Technical Report
- Publication Date
- May 14, 1999
- Accession Number
- ADA366224
Entities
People
- Brad A. Myers
- David Garlan
- David Wolber
- Richard G. Mcdaniel
- Roger B. Dannenberg
Organizations
- Carnegie Mellon University