# UML diagrams generation from CWL

**URL:** <https://cwl.discourse.group/t/uml-diagrams-generation-from-cwl/1016>\
**Category:** Announcements\
**Created:** [September 22, 2025, 3:48pm UTC](https://cwl.discourse.group/t/uml-diagrams-generation-from-cwl/1016 "2025-09-22T15:48:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sim13pods](https://yyz2.discourse-cdn.com/free1/user_avatar/cwl.discourse.group/sim13pods/32/611_2.png) [@sim13pods](https://cwl.discourse.group/u/sim13pods)\
**Post date:** [September 22, 2025, 3:48pm UTC](https://cwl.discourse.group/t/uml-diagrams-generation-from-cwl/1016/1 "2025-09-22T15:48:41Z")

</div>

Dear CWL community,  
at Terradue, an Earth Science company, we strongly rely on CWL as part of the foundation of our Earth Observation data processing platform and, aside the well known and estabilished _cwltool_, we had the need to develop some side-tools to assist our staff and partners during the development lifecycle.

We also identified the Workflows design as a strategic part of our daily job to make the CWL adoption clear to technical people who are not familiar with CWL, but still able to read UML diagrams and so appreciate its adoption.So, we started developing a set of APIs and CLI command that is able to translate CWL documents as inputs to to a set of PlantUML diagrams; after an initial internal “incubation” phase, we decided to Open Source’d it and you can find it on [cwl2puml@GitHub](https://terradue.github.io/cwl2puml/).

Why PlantUML? Being a widely adopted modelling language/tool/service/…, Open Source, community driven and released under an Open Source license, it makes us the benefit to get advantage from a vast set of diagrams useful to describe a CWL.

We currently support:

- an activity diagram to illustrate the overall Workflow behavior;
- a component diagram, to show Workflow actors connections;
- a class diagram, to show Workflow actors specifications;
- a sequence diagram, to illustrate how the orchestration works;
- a state diagram, to show the steps and data flow.

You can find interesting representations on our initial _sample page_ where we represent a CWL which adopted _conditionals_ on inputs/outputs, or _application-package-patterns_, where we wanted to graphically represent [Application package data flow patterns](https://eoap.github.io/application-package-patterns/) in the field of the Earth Observation.

Of course, this tool still is at an early stage and maturity level is guaranteed for the tested cases, but we would be very pleased to hear suggestions, opinions, …, any feedback would be very appreciated.Looking forward to hear from you soon!

Kindly,  
-Simone Tripodi

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/cwl1/original/1X/43b10c3425228db39f4bf75a802f2eae617ddc79.png) [@system](https://cwl.discourse.group/u/system)\
**Post date:** [February 23, 2026, 8:56am UTC](https://cwl.discourse.group/t/uml-diagrams-generation-from-cwl/1016/2 "2026-02-23T08:56:39Z")

</div>



---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/cwl1/original/1X/43b10c3425228db39f4bf75a802f2eae617ddc79.png) [@system](https://cwl.discourse.group/u/system)\
**Post date:** [February 23, 2026, 10:04am UTC](https://cwl.discourse.group/t/uml-diagrams-generation-from-cwl/1016/3 "2026-02-23T10:04:07Z")

</div>


