The Workflow Activity Recognition and Proactive Assistance (WARP) system provides the capability to recognize user intent by matching observations of user actions to predefined models of workflows. WARP employs Logical Hidden Markov Models (HMMs) to support the recognition and tracking of hierarchical, interleaved workflows in domains that may involve hundreds to thousands of objects.
- WARP User Guide
- API Documentation
- Download WARP libraries
- Example Applications
- Licensing Info for WARP libraries
The Workflow Activity Recognition and Proactive Assistance (WARP) system provides the capability to recognize user intent by matching observations of user actions to predefined models of workflows. WARP employs logical Hidden Markov Models (HMMs) to support the recognition and tracking of hierarchical, interleaved workflows in domains that may involve hundreds to thousands of objects.
A WARP workflow is a sequence of steps that constitute a task or procedure. A key difference with other process representations is that the steps themselves may not be directly observable. Instead, each step is associated with one or more observations. For example, a motion-sensor reading could be indicative of some activity occurring in a room. WARP uses observations to track progress through 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-workflow and multiple-workflow tracking. In multiple-workflow tracking the entry performing the activities can be engaged in several workflows simultaneously. WARP can track progress along each workflow and determine which workflow is the likely focus at any time.
WARP also allows workflow authors to associate variables with each state, and to track likely values for those variables in addition to workflow state.
Deployment of WARP to a given application domain imposes two requirements:
- Instrumentation that can provides observations of relevant domain activities. For example, a system that tracks activity on a computer desktop will need to record events such as opening documents, reading and sending emails, and copying files.
- A library of workflows that describe the activities of interest. Workflows are encoded in a structured representation that captures relevant actions, observations, and relationships among them.
WARP can be used either as a library, via a Java API, or as a standalone service with communications handled via an XMLRPC API.
The figure on the top of the page depicts WARP in action as it tracks a simple delivery workflow. The graph on the left depicts the workflow being tracked. Transitions between steps are given as arrows, with the box shading indicating degree of belief (with darker colors denoting greater belief). The panel on the right shows the most likely values for workflow-related variables.
As WARP workflows build on HMMs, they are subject to the same limitations and representational restrictions
Overview: DISTAR 14982 – Approved for Public Release, Distribution Unlimited
API and Example: DISTAR 15285 – Approved for Public Release, Distribution Unlimited
Object code: DISTAR 14458 – Approved for Public Release, Distribution Unlimited