Common Workflow Language

Overview

The Common Workflow Langeuate (or CWL) is a popular format in which to describe complex workflows. It is used in REANA in cases where the serial workflow decriptions (which are very simple to use ) are insufficient. A typical example of CWL use in REANA is to describe parallel components of the workflow, in cases where parallel execution is optimal.

The semantics of CWL is fairly deep and its use involves a learning curve. It is uses with a number of platforms including REANA and Apache Airflow. A detailed CWL User Guide is available.

Parallel Wokrflows

Parallel worflows are termed as “scattered” in CWL terminology. An example of syntax used in such cases is available on the “scatter workflow” page in the CWL User Guide.

The YAML description of a scattered workflow must include the directive

requirements:
  ScatterFeatureRequirement: {}