VisTrails is a new system that provides provenance management support for exploratory computational tasks. It combines features of workflow and visualization systems. Similar to workflow systems, it allows the combination of loosely coupled resources, specialized libraries, and grid and Web services. Similar to some visualization systems, it provides a mechanism for parameter exploration and comparison of different results. But unlike these other systems, VisTrails was designed to manage exploratory processes in which computational tasks evolve over time as a user iteratively formulates and tests hypotheses. A key distinguishing feature of VisTrails is its comprehensive provenance infrastructure that maintains detailed history information about the steps followed in the course of an exploratory task. VisTrails leverages this information to provide novel operations and user interfaces that streamline this process. VisTrails has been developed for exploratory visualization, but the system is general, and provides functionality in the following areas:
Flexible provenance architecture.
Querying and re-using history.
Support for collaborative exploration.
Extensibility.
Scalable derivation of data products, parameter exploration, multi-view and comparative visualization.
History
VisTrails is the result of a collaborative effort between computer scientists Cláudio Silva and Juliana Freire. Initial development began in 2004 by graduate students at the University of Utah. Although the first prototypes were implemented in C++, the current version of VisTrails is written in Python. The first public release was in September 2007.
Functionality
A common use for VisTrails is scientific visualization. Visualizations generated as part of a workflow are rendered in a spreadsheet-style interface, allowing multiple visualizations from different versions of a workflow to be viewed and compared simultaneously. The VisTrails spreadsheet currently supports VTK and HTML rendering. VisTrails supports four basic modes, or views. Each view interacts with the underlying workflow in a different way.
The Pipeline view lets the user create, view and edit a visual pipeline of a workflow. The pipelines are typically rendered from top to bottom, with each module's output connecting to the input of the module below it. A module corresponds roughly to a data type or a function.
The History view displays a tree structure representing the various versions of the pipeline. Each time a change is made in the Pipeline view, a new node is added to the version tree in the History view. The user can optionally assign names, or tags, to one or more nodes of the tree. To conserve space, VisTrails does not render a node unless it is a root or leaf node or has a tag.
The Query view is similar in appearance to the Pipeline view. Here, the user constructs partial pipelines. When the query is executed, VisTrails identifies the pipeline versions which contain the specified partial pipeline. This is analogous to the Query By Example method of performing database queries.
The Exploration view automates the process of creating several workflow pipelines that differ only by a few parameter values.
Commercial variants
In 2007, the University of Utah formed VisTrails, Inc., a spinoff company intended to commercialize VisTrails technology. Development for the free version of VisTrails is currently funded by the University of Utah and VisTrails, Inc. The company's first product is a plugin for the 3D modeling softwareMaya. While the main VisTrails distribution is free software, the VisTrails plugin for Maya is distributed under a closed-source/proprietary license.