CWL是一种描述命令行工具并将它们连接在一起以创建工作流的方法。因为CWL是一个规范,而不是软件的特定部分,所以使用CWL描述的工具和工作流可以移植到各种支持CWL标准的平台上。
CWL起源于“make”和许多类似的工具,它们基于任务之间的依赖关系来确定执行顺序。然而,与“make”不同的是,CWL任务是孤立的,您必须明确您的输入和输出。显式和隔离的好处是灵活性、可移植性和可伸缩性:用CWL描述的工具和工作流可以透明地利用技术,如Docker,并与来自不同供应商的CWL实现一起使用。CWL非常适合描述集群、云和高性能计算环境中的大规模工作流,在这些环境中,任务在多个节点上并行调度。