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.

Open PDF

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

Tags

Communities of Interest

  • Autonomy
  • Energy and Power Technologies
  • Engineered Resilient Systems
  • Human Systems
  • Weapons Technologies

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Cognitive Science
  • Computational Science
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Human-Computer Interaction
  • Information Systems
  • Machine Learning
  • Programming Languages
  • Software Development
  • User Interface
  • Video Games
  • Web Browsers

Fields of Study

  • Computer science
  • Engineering

Readers

  • Agent-Based Social Robotics and Mobile-Assisted Learning in Virtual Environments.
  • Computational Linguistics
  • Systems Analysis and Design