SCUFL2

SCUFL2 wiki

(c) 2009-2010 myGrid, University of Manchester

Licensed under the GNU Lesser General Public License (LGPL) 2.1, except for scufl2-usecases, which are licensed under a modified BSD license. See LICENSE.txt for details.

This is the code, model and XML syntax of SCUFL2 which will replace the current Taverna format t2flow.

Compare this with the t2flow XML schema - which has documentation about workflow elements as currently serialized.

The t2flow serialization format suffers from being very close to the Java object model, and contains various items that are simply Java beans serialized using XMLBeans. As the t2flow format is very verbose, it can be difficult to deal with for third party software to do inspection (“Which services does this workflow use?”), modification (“Change all calls to http://broken.com/ to http://fixed.com/”) and generation (“Build a custom workflow from a button”).

Developers have informed us that the old SCUFL format of Taverna 1 was significantly easier to work with. However, this format also has its caveats, like no schema, unidentified ways to extend service definitions for Taverna plugins and not supporting various new features in the Taverna 2 engine.

We have therefore decided to form a new serialisation format for workflows, called SCUFL2. This format will be accompanied with an UML model, and a primary serialisation format as XML, but also with possible secondary serialisations as JSON and RDF, all following the UML model. This model will also be reflected in a lightweight API, which can deserialize and serialize these formats, in addition to .scufl and .t2flow, but also more easily allow inspection of workflow structures, modification and generation.

Rough overview:

Here is an attempt at demonstrating the new proposed XML syntax for Scufl2: as.scufl2.xml - a translation of as.t2flow

Specification of identifiers in Taverna URI templates.