"Watch What I Do" Chapter 25
Characterizing PBD Systems
David S. Kosbie
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
- Uses and Users What is the application domain and who are the
- User Interaction How does the user interact with the PBD system to
create, use, and modify programs?
- Inference Given the inherent ambiguity in inferring a generalized
procedure from a limited set of examples, how does the PBD system select an
interpretation for the user's demonstration?
- Knowledge What information can the system use in making
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
Uses and Users
Tasks within the domain:
How does the user create, execute and modify programs?
Feedback about capabilities and inferences:
Types of examples:
Types and sources of information:
Machine, language, size:
back to ... Table of Contents Watch What I Do