WARP User Guide


The Workflow Activity Recognition and Proactive assistance system (WARP) tracks the progress of a workflow, a sequence of steps that constitutes a task or procedure. The steps may not be directly observable. Instead, each step is associated with one or more observations. WARP uses these observations to track the progress of a workflow and is designed to resolve ambiguities and uncertainties introduced by the observations. WARP determines the most likely step and state for the workflow, as well as the most likely next action and state.

WARP can support both single- and multiple-workflow tracking. In multiple-workflow tracking, the entity performing the activities can be engaged in several workflows simultaneously. WARP can track progress along each workflow and determine which workflow is likely the current focus at any time. WARP also enables workflow authors to associate variables with each state and to track likely values for those variables in addition to the workflow state.

Deployment of WARP to a given application domain imposes two requirements:

A client application interacts with WARP as follows:

  1. The client subscribes to WARP to receive updates.
  2. The client tells WARP to begin tracking a workflow of interest.
  3. Instrumentation feeds observations of relevant events in the client to WARP.
  4. Using the event feed, WARP makes inferences about the status of the workflows and notifies the client of this information.
  5. After completion, the client unsubscribes from WARP.

This guide is intended for users who wish to integrate WARP into an application system. The guide consists of three parts:

  1. This overview page, which includes a description of basic requirements for running WARP.
  2. An introduction to WARP workflows that describes the kind of workflows and activities that WARP can track and how they are represented.
  3. Instructions for integrating WARP into an application, either as a Java library or as a standalone XML-RPC service.

Because workflows are central to WARP, potential users should review at least the basic example in the Workflow introduction before continuing to the integration tutorial.


  1. GraphViz installed on the target machine, available at http://www.graphviz.org
  2. A Java Runtime Environment (JRE) for Java version 6 and above. The latest Java runtime can be found at http://java.sun.com/javase/downloads/index.jsp.
  3. Apache Ant http://ant.apache.org.

 Next: Introduction to Workflows >>