"Watch What I Do" Chapter 25


Characterizing PBD Systems

Allen Cypher,
David S. Kosbie
David Maulsby


In the introduction to this book, we presented to the reader the idea of Programming by Demonstration, indicating what PBD is and why it is desirable. In this chapter, we take the discussion further, considering how a PBD system is composed. That is, we lay out the various salient dimensions that distinguish PBD systems. The purpose of this is two-fold. First, readers can use this chapter as a framework for evaluating and comparing systems. Second, designers can use this chapter as a model for presenting their systems and as a means of delineating how their systems contribute to the field. The summary sheets located at the end of each chapter in Section I are based on this characterization.

We characterize PBD systems along the following dimensions:

The remaining sections of this chapter explain these dimensions in detail.

Summary Sheets

The summary sheets that can be found at the end of each chapter in Section I are based on the characterization presented in this chapter. Listed on the next page are all of the categories used in the summary sheet. To conserve space, individual systems omit headings if they do not have a specific comment about that area.

System Summary

Uses and Users

Application domain:

Tasks within the domain:

Intended users:

User Interaction

How does the user create, execute and modify programs?

Feedback about capabilities and inferences:



Types of examples:

Program constructs:


Types and sources of information:


Machine, language, size:

Notable Features

back to ... Table of Contents Watch What I Do