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!
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.
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
Side Note
I’m always amazed how prompt and relevant your responses are. You really are a treasure to your community @mrc
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!
Thank you opening up this good discussion here. I only discovered it now and being the presenter of that session had promised to come back on this! Why and what for we use BPMN for in Archiver is to model and manage data archiving and preservation workflows. These are processes where typically humans and processes need to interact e.g. a (human) data librarian needs to curate (select) the data to be preserved and needs to confirm the preservation complies at the end. I had a closer at CWL in the meantime and the Arvados implementation as an example. An indeed currently CWL does not seem to cover the modelling of the human interaction with a process or machine, which is essential in most end-to-end (business) processes to obtain quality assurance. Hope that clarifies.