Global Positioning System Reference
In-Depth Information
Taverna
Together with Kepler, Taverna 5 (Oinn et al. 2004) is one of the most
widespread scientifi c workfl ow systems. It is aimed to design and execute
scientifi c workfl ows, used extensively across a range of life science projects
such as gene and protein annotation, proteomics, and so forth (Oinn et al.
2006).
The main components in Taverna are processors , data links and
coordination constraints . A Taverna workfl ow is a combination of processors,
i.e., each individual step that transforms a set of data inputs into a set of
data outputs. The notion of processor in Taverna is conceptually similar to
an actor in Kepler, though, while actors encompass the idea of adapters or
wrappers, processors are more aligned with the idea of “service clients”
(Hull et al. 2006). Each type of processor in Taverna calls to remote or local
services. For example, the processor arbitrary WSDL type executes a request
to an operation from a web service described in WSDL format (we visit this
later in Section “Web Service Description Language”). Other examples of
processor types are local processor type (e.g., a local Java function) and nested
workfl ow type (a nested workfl ow processor). Alternately, if the set of pre-
defi ned processor types does not support an external component interface,
a developer can either transform the interface of that component into an
interface supported natively by Taverna or develop its own processor
type. 6
Processors in Taverna workflows are described in a XML-based
language called SCUFL (Simple Conceptual Unifi ed Flow Language). It
is a high-level language to describe the data fl ow interactions between
different processors, even if a processor is of nested workfl ow type (i.e., a
sub-workfl ow), in a Taverna workfl ow.
Apart from processors, a SCUFL-based workfl ow description also
contains data links and coordination constraints. Data links facilitate
data communication between two processors, which in turn may be of
nested workfl ows type, thereby enabling data communications between
workfl ows. A coordination constraint links two processors and controls
their execution. It represents a kind of control fl ow pattern, especially in the
case of two processors connected with no direct data dependency between
them. However, in most cases, the level of control fl ow is defi ned by the
very data fl ow connections between two processors imposed by data links
components.
Taverna encompasses a suite of open source tools made up of the
Taverna Engine (used for enacting workfl ows) that powers the Taverna
5 http://www.taverna.org.ok
6 Taverna 2.x Documentation: http://www.taverna.org.uk/documentation/
Search WWH ::




Custom Search