Triquetrum: Models of Computation for Workflows
Triquetrum is a new Eclipse project for managing and executing scientific workflows. The goal of Triquetrum is to support a wide range of use cases, ranging from automated processes based on predefined models, to replaying ad-hoc research workflows recorded from a user's actions in a scientific workbench UI. It will allow to define and execute models from personal pipelines with a few steps to massive models with thousands of elements.
Triquetrum uses the actor model, where actors read inputs, make local decisions and write outputs. Actor models are inherently concurrent, where as object-oriented systems are typically executed sequentially (though often with a threading system added on). The execution semantics of an actor is called the model of computation. There are many different models of computation including discrete event, finite state machines, continuous time and synchronous dataflow. The Triquetrum system gives the user the ability to hierarchically compose workflows using different models of computation and to get deterministic results. Workflows have been used by systems like Kepler and Taverna to support data provenance and reproducibility for experiments that use large data sets.
Triquetrum consists of three workstreams. The first is moving the Ptolemy actor execution engine into OSGi bundles and providing an RCP GUI. The second is providing APIs and OSGI service implementations for Task-based processing, which will be independent of Ptolemy. The third is developing APIs and tools for external software packages, resource managers and data sources.
We will discuss how Triquetrum will be used or is already used in Science Working Group projects, including Eclipse ICE and DAWNSci.