Rust BPMN Analyzer: Instantaneous BPMN control-flow analysis and error resolution :fire:

Rust BPMN Analyzer: Instantaneous BPMN control-flow analysis and error resolution :fire:

The Rust BPMN Analyzer is a tool to analyze BPMN process models to find, display, and fix control-flow errors already during modeling. Unlike my previous BPMN Analyzer, this tool is written in Rust and uses a pragmatic encoding of BPMN semantics for optimal performance regarding control-flow analysis. A demo version of the Analyzer is hosted online and the source code is open-source (front-end, back-end). The following is a screenshot of our demo version:

Modeling with the Rust BPMN Analyzer enabled

The Analyzer has three ambitious goals:

  1. Instantaneous analysis (< 500ms) of realistic BPMN models.
  2. Understandability of the found control-flow errors clearly showing their cause.
  3. Automatic quick-fixes for the most common control-flow errors.

The Analyzer is integrated into BPMN modeling tools like bpmn.io in our demo to provide instant feedback during modeling. In the screenshot above, one can see control-flow errors highlighted in red and quick-fix suggestions in green.

To understand control-flow errors, the analyzer can visualize the possible execution that led to the error. The following screenshot shows an example where the analyzer shows that two tokens can be located at the last sequence flow due to a lack of synchronization.

Error example in the Rust BPMN Analyzer