Relation to BPMN

Hello!

A few years ago, I asked a question about CWL “IRL” ie could CWL be used to represent processes that are executed by actual people in real life. I was pointed to BPMN as the relevant standard, which I was very grateful for.

However, the question came up again today, when something called Flowable was mentioned as the implementation for a data management system. This seemed weird, so I asked if anyone had proposed a CWL imeplementation instead… but when challanged on whether CWL is “BPMN-compliant” (whatever you take that to mean) I couldn’t back it up with details.

So, can someone compare and contrast BPMN and CWL for me?
thanks!

Hey @brucellino!

CWL is only concerned with workflows made up of command line programs. It remains inappropriate for BPMN-style business process workflows that involve human actors.

Additionally CWL purposely avoids many of the complex and fragile control constructs found in control-flow workflows systems/languages https://github.com/common-workflow-library/cwl-patterns/tree/master/workflow_patterns_initiative/control

Of the 43 WPI Workflow Control patterns, 8 patterns are supported by CWL v1.2 or earlier and 35 patterns are unsupported.

Hope this helps!

1 Like

It does, thanks very much.

For some more context, the question I asked was during this presentation on behalf of the ARCHIVER project, in the context of data repository lifecycle managment.

The workflow that this flowable tool implements is shown schematically in slide 5:

It seemed to me that a CWL implementation could fit here, but taking a deeper look at the control patterns for CWL that you linked before, perhaps not. The spirit of my question was along the lines of “a widely-used language should be adopted wherever it can”, but clearly there are some processes which CWL is not designed for.

Thanks again for the answer :slight_smile:

Side Note

I’m always amazed how prompt and relevant your responses are. You really are a treasure to your community @mrc

1 Like

Yeah, from that diagram, CWL would likely be well suited for the “Cloud Processing” and “Advanced workflows” in the T-Systems cloud, and the “Processing” in the “3rd Party Service Provider” cloud.

In fact, the main advantage of adopting CWL would be sharing workflows between the 3rd party providers and T-Systems, without needing to customize them for the provider!