7

I am looking for an offline tool (ideally for command line in Linux) which layouts my BPMN diagram automatically and reproducibly, i.e. the same process should always end up in the same layout, i.e. the same coordinates for all activities and flows for each run.

The alternatives I am currently aware of are the following:

  1. Use the yBPMN layouter which comes along with the java application YEd.
  2. Somehow employ the API of a local Camunda installation, but here I am not sure how exactly that should work when I already have a BPMN-XML in hand where I want to adjust only the coordinates.
  3. Try to expand bpmn-auto-layout, a project in version 0.1 and a single release(as of Dec. 2019).
  4. Indirectly let graphviz do the job, e.g. by an algorithm suggested by Ingo Kitzmann, Christoph König, et. Al. on top of it.
  5. Implement the hierachical layouting algorithm from scratch. (See e.g. M. Slade: Theses on A layout algorithm for hierarchical graphs with constraints, G. Sander: A fast heuristic for hierarchical Manhattan layout, S. Chitra, B. Kalpana: Hierarchical Directed Acyclic Graph (HDAG) Based Preprocessing Technique for Session Construction, ...)

Is there some other approach for arranging the layout of a BPMN diagram programatically and deterministically?

References

B--rian
  • 5,578
  • 10
  • 38
  • 89
  • 2
    Did you find a solution to this? I'm looking to do the same thing and trying to find the best option – Doogal Apr 06 '20 at 12:23
  • 1
    @Doogal Nope, I am still waiting for feedback. Feel free to upvote or open a bounty :-). – B--rian Apr 06 '20 at 12:27

1 Answers1

2

Just recently I became aware of Kroki, which seems to meet your requirements:

  • can render many diagram types including BPMN based on textual input,
  • can interpret coordinates for BPMN diagram elements (see examples),
  • can be installed locally as a web service (see installation instructions).
Gerd
  • 2,568
  • 1
  • 7
  • 20
  • 1
    I didn't know kroki! That is a good find! But the test BPMN file I threw at it looks identical to what https://github.com/bpmn-io/bpmn-auto-layout generated. -- So I guess Kroki is just recycling that internally. Looks terrible. I'm *GUESSING* it's because of bpmn-auto-layout's limit for >>The diagram has to have exactly one single startevent.<< So unfortunately I can't use Kroki. The autolayouting done by Eclipse or Yaoqiang BPMN editor look^s far better. But unfortunately I have not found a way to trigger them without GUI. – StackzOfZtuff Sep 06 '22 at 15:51