Computational Workflows are widely used in data analysis, enabling innovation and decision-making. In many domains (bioinformatics, image analysis, & radio astronomy) the analysis components are numerous and written in multiple different computer languages by third parties. However, many competing workflow systems exist, severely limiting portability of such workflows, thereby hindering the transfer of workflows between different systems, between different projects and different settings, leading to vendor lock-ins and limiting their generic re-usability. Here we present the Common Workflow Language (CWL) project which produces free and open standards for describing command-line tool based workflows. The CWL standards provide a common but reduced set of abstractions that are both used in practice and implemented in many popular workflow systems. The CWL language is declarative, which allows expressing computational workflows constructed from diverse software tools, executed each through their command-line interface. Being explicit about the runtime environment and any use of software containers enables portability and reuse. Workflows written according to the CWL standards are a reusable description of that analysis that are runnable on a diverse set of computing environments. These descriptions contain enough information for advanced optimization without additional input from workflow authors. The CWL standards support polylingual workflows, enabling portability and reuse of such workflows, easing for example scholarly publication, fulfilling regulatory requirements, collaboration in/between academic research and industry, while reducing implementation costs. CWL has been taken up by a wide variety of domains, and industries and support has been implemented in many major workflow systems.
翻译:在许多领域(生物信息学、图像分析、射电天文学),分析组成部分是众多的,由第三方以多种不同的计算机语言编写。然而,存在许多相互竞争的工作流程系统,严重限制了这些工作流程的可移动性,从而阻碍了不同系统之间、不同项目和不同环境之间的工作流程转移,导致供应商锁定并限制其通用的可再使用性。这里我们介绍了通用工作流程(CWL)项目,该项目为描述基于指令的工作流程提供了自由和开放的标准。CWL标准提供了一套共同但较少的抽象内容,既用于实践,也用于许多受欢迎的工作流程系统。CWL语言是宣示性的,它能够表达从不同软件工具、不同项目和不同环境之间、不同项目项目之间和不同环境之间的工作流程的计算工作流程,从而导致供应商锁定和软件集装箱的运行环境的运行和任何使用。根据CWL标准编写的工作流程是该分析的可重复使用性描述,该分析可以用于满足基于指令-线上工具的工作流程。 C-L的多语言流程支持,在推进的工作流程中,在简化的流程中,还实施了更多的成本。