[Phil's Home: www.piernot.com]
The AIDE Project
Aide Workbench

The PC revolution led to profound changes in the software industry. In the past, software was custom developed to solve a particular problem, whereas today users purchase generic applications that are not tailored to their specific needs. Programming By Demonstration (PbD) addresses this problem by letting users customize an application by programming within its graphical interface, i.e. by showing the system what to do on one or more examples.

Unfortunately, PbD systems are difficult to implement because they draw upon different domains such as Human-Computer Interaction and Artificial Intelligence. During my Ph.D. I developed the AIDE Workbench, an application framework helping developers implement such systems.

The main contributions of AIDE are:

  1. AIDE adopts a hierarchical representation of the application history (command trees) offering an improved support for both undo/redo and PbD;
  2. AIDE is the first system based on high level commands to allow PbD across applications;
  3. AIDE integrates error recovery capabilities with PbD;
  4. AIDE provides an intuitive search command that can be integrated within applications and allowing users to specify their intent.

Command Tree A Model for Incremental Construction of Command Trees, in Proceedings of the Conference on Human-Computer Interaction (HCI '95), 1995, pp. 169-179.
Aide Workbench The Aide Project: An Application Independent Demonstrational Environment, in Watch What I Do: Programming by Demonstration, Allen Cypher, MIT Press, Cambridge, MA, 1993, pp. 382-401.
History window Ph.D. dissertation: Un système d'aide pour la mise en oeuvre de la programmation par démonstration (in French - 450KB Acrobat PDF file).