Project: Apache Taverna (incubating) http://taverna.incubator.apache.org/
Mentor: Stian Soiland-Reyes <firstname.lastname@example.org>
Apache Taverna Language - https://github.com/apache/incubator-taverna-language/ - is a set of Java APIs for managing and converting Taverna workflow definitions and workflow run data bundles. It is a part of the Apache Taverna workflow system - but is meant to be used outside Taverna workflow system, and therefore does not require the full OSGi plugin system of Taverna.
Several simple demonstrator/example prototypes for a command line tool over these has been done, e.g.
but what is needed is a single command line tool that is production ready, and ideally available as an executable standalone jar (As in the wfdesc example).
This proposed GSOC project is to formalize the command line interface for Taverna Language so that it can achieve some of the below:
a) In collaboration with dev@taverna and the mentor, define command line options for workflow conversions and inspection
b) Find and use an appropriate command line parser library
d) Basic error handling (e.g. file not found)
e) Batch processing - e.g. recursive conversions
f) Arguments for choosing input and output formats
g) Unit and Integration Tests for the above (ideally through Maven)
The project can be extended by exposing other parts of the API that don't currently have a command line equivalent, e.g.
h) Workflow validation
i) Workflow statistics (number of processors, links, etc)
Documentation of command line options and example usage should be provided.
The command line tool should work on Linux, OS X and Windows.
This proposed new command line tool is separate from the existing executeworkflow command line tool
.. but this proposal could also be extended to include updates of executeworklow to cover new features introduced in Taverna 3, e.g.
to do logging of workflow activity, moving options to configuration files, improve (shrink!) -help etc.
Your command line tool would ideally be added to the Apache Taverna Language release, so you would be a part of the Apache Taverna developer community http://taverna.incubator.apache.org/community/ which will be able to give feedback, testing and guidance for this GSOC project and beyond.
Prospective students are encouraged to subscribe to dev@taverna mailing list and discuss their proposal in detail together with he Apache Taverna community - http://taverna.incubator.apache.org/community/lists