Institute for Software Research
School of Computer Science, Carnegie Mellon University


Workflow by Example:
Automating Database Interactions via Induction

Anthony Tomasic, R. Martin McGuire, Brad Myers*

September 2006

Keywords: Workflow, database, data integration, data warehouse, automation, induction, programming by example

Workflow and data integration engineering are complex and expensive activities. Adding a new workflow to a system often requires lengthy and repeated rounds of software engineering. The time and cost of this work creates an undesirable barrier between users and new system functionality. In the process of creating new workflow, developers frequently reproduce the queries and updates already present in other parts of the system. For example, many IT organizations have a forms-based implementation that allows a user to perform the steps of a workflow by hand. This form system can be leveraged in the creation of workflow procedures. In this paper we describe a system, Workflow By Example (WbE), where developers create workflows (or data integration queries) by demonstrating a workflow to the system. WbE observes the demonstration and automatically constructs a corresponding general workflow script. A performance evaluation of WbE shows that its learning algorithm scales well, and a user study show that if a batch update contains more than 8 form changes, WbE is more efficient to use than manual updates.

28 pages

*Human-Computer Interaction Institute, Carnegie Mellon University

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by