Stian Soiland-Reyes updated TAVERNA-900:
    Labels: cwl docker gsoc2016 gsoc2018 java json json-ld python workflow yaml 
 (was: cwl docker gsoc2016 java json json-ld python workflow yaml)

> Add Common Workflow Language support to Taverna
> -----------------------------------------------
>                 Key: TAVERNA-900
>                 URL: https://issues.apache.org/jira/browse/TAVERNA-900
>             Project: Apache Taverna
>          Issue Type: Story
>          Components: Taverna Language, Taverna Workbench Common Activities
>            Reporter: Stian Soiland-Reyes
>            Priority: Major
>              Labels: cwl, docker, gsoc2016, gsoc2018, java, json, json-ld, 
> python, workflow, yaml
> h2. GSOC: Add CWL support to Taverna
> The proposed GSOC task is to add support for  [Common Workflow 
> Language|http://commonwl.org/]  (CWL) in [Apache 
> Taverna|http://taverna.incubator.apache.org/] (incubating). 
> The Apache Taverna community believe CWL support can be added to Taverna in a 
> progressive fashion, and therefore the GSOC student can achieve success in 
> multiple ways - and depending on her/his interests and existing skills can 
> choose to pursue *one or two of these tasks* in detail, and if time permits 
> can "top up" by exploring some of the remaining tasks more briefly as 
> prototypes.
> See the underlying [Jira 
> issues|https://issues.apache.org/jira/issues/?jql=project%20%3D%20TAVERNA%20AND%20labels%20%3D%20cwl]
>  for further ideas.
> * Save Taverna workflows as CWL (TAVERNA-881) - basically generate YAML by 
> inspecting workflows using the Taverna Language API and follow the [CWL 
> specifications|https://w3id.org/cwl/].
> * Read CWL workflows (TAVERNA-877) - Add a plugin to [Taverna Language 
> API|https://github.com/apache/incubator-taverna-language/] to parse CWL's YAML
> * Execute CWL tool descriptions (TAVERNA-878) - modify Taverna's [Tool 
> activity|https://github.com/apache/incubator-taverna-common-activities/tree/master/taverna-external-tool-activity]
> * Browse and use CWL tool descriptions from the workbench (TAVERNA-880) - 
> modify GUI plugin to select from a collection or registry of tool descriptions
> * Create a Docker tool for executing Taverna activities (TAVERNA-879) - this 
> allows any Taverna steps to be used by other CWL engines
> Other Taverna or CWL-related tasks can of course also be proposed by the 
> students.
> h2. CWL
> The [Common Workflow Language|http://commonwl.org/] (CWL) is a pragmatic 
> approach to a standardized workflow language for executing  command line 
> tools on the cloud and on local servers.  
> CWL is a *YAML*-based dataflow format, describing how command line tools can 
> be wired together in a pipeline. An example workflow: 
> https://github.com/common-workflow-language/workflows/blob/master/workflows/FestivalDemo/filtercount.cwl.yaml
> CWL has a [vibrant 
> community|https://gitter.im/common-workflow-language/common-workflow-language]
>  and multiple implementations, including _Rabix_, _Galaxy_ and a Python-based 
> reference implementation _cwltool_.
> h2. Taverna
> [Apache Taverna|http://taverna.incubator.apache.org/] (incubating) is a 
> Java-based workflow system with a graphical design interface. Taverna 
> workflows can combine many different service types, including REST and WSDL 
> services, command line tools, scripts (e.g. BeanShell, R) and custom plugins 
> (e.g. BioMart).
> Taverna workflows can be executed on the desktop, on the command line, or on 
> a Taverna server installation, which can be controlled from a web portal, a 
> mobile app, or integrated into third-party applications.
> Taverna is used in a [wide range of 
> sciences|http://taverna.incubator.apache.org/introduction/taverna-in-use/] 
> for data analysis and processing, including bioinformatics, cheminformatics, 
> biodiversity and musicology. Workflow engine features include provenance 
> tracking, implicit parallelism/iterations, retry/failover and looping. 
> Taverna workflows are commonly shared on 
> [myExperiment|http://www.myexperiment.org], and can either be created 
> graphically in the [Taverna 
> workbench|http://taverna.incubator.apache.org/download/workbench/], 
> programmatically using the [Taverna Language 
> API|http://taverna.incubator.apache.org/download/language/] or by generating 
> workflow definitions in the 
> [SCUFL2|http://taverna.incubator.apache.org/documentation/scufl2/]  format.
> h2. Community engagement
> Interested GSOC students are requested to engage early with the 
> [dev@taverna|http://taverna.incubator.apache.org/community/lists#devtaverna] 
> mailing list to describe their ideas for approaching this project, to clarify 
> the tasks and for any questions and issues.
> As a first step, the prospective applicant should leave a comment on this 
> Jira issue to indicate their interest, and the GSOC mentors would be happy to 
> assist on any questions. 
> As the project starts we are expecting the student to become part of the 
> dev@taverna community to regularly discuss their progress. 
> We are also hoping the student would engage with the [CWL 
> community|http://common-workflow-language.github.io/#Community_and_Contributing]
>  - particularly for questions on interpreting the CWL specifications and 
> possibly even improving them. This engagement might include participating in 
> development of the [CWL Java 
> SDK|https://github.com/common-workflow-language/cwljava/] - although for GSOC 
> evaluation purposes we will concentrate on your direct contributions to 
> Apache Taverna.
> h2. Mentors
> An important part of GSOC is the personal mentoring from existing  members of 
> the open source community. Our job is not just to teach you how to 
> successfully get through the GSOC programme, but also to motivate you and 
> make sure you progress. We will show you how to contribute to open source, 
> debug, improve, document, test and release your code as part of Apache 
> Taverna. 
> The GSOC mentors for Apache Taverna have experience from guiding multiple 
> earlier GSOC students and local students, and can be contacted privately for 
> day-to-day interaction and trouble-shooting. 
> Mentors for this GSOC project:
> * Stian Soiland-Reyes
> * Alan Williams

This message was sent by Atlassian JIRA

Reply via email to