This blog will be about Netgrif’s compatibility with BPMN. Generally, users of our platform and language don’t care about what workflows they use to create Low-Code process-based applications. But sometimes they do – if:

  • they are used to the standard,
  • analysis of their system was done in that way,
  • they have an existing system created in such a way and they want to rebuild it.

Enriched Process Models based on PetriNets make the Petriflow language a unique and revolutionary approach to Low-Code development. The capability of PetriNets used in Petriflow allows BPMN models to be translated to Petriflow. BPMN models can be translated into Petri Nets and there are multiple approaches to how to do that. An example of mapping BPMN to PetriNets can be found here from Prof. Dr. Mathias Weske:

The translation of the BPMN model might not always be straightforward due to the differences in the expressive power and semantics of the two formalisms. But Petriflow is enriched by roles, actions and data and that makes the mapping/translation more accurate. (Please remember that translation is never 100% right, analysis and validation are often necessary after translation.)

BPMN to Petriflow Example

In the following example imagine, that you have an idea for an application and you want to make BPMN your first step. You will go for example to and drag and drop the model.

But what then? You want it to be an executable application eventually. Here comes the option to translate your BPMN model to Petriflow. After you visit and upload your BPMN model through the “Choose a BPMN file to open.” button, you will be able to translate your BPMN to Petriflow.

Import of BPMN process to Petriflow

As you are working with the Petriflow model you can extend the translated model with roles, data and actions. For example, pools from BPMN are automatically translated to Petriflow’s roles, but other elements can be freely added to your Petriflow source code.

Form added to translated BPMN model

Once you are done creating your application in Builder, you can upload it to any Netgrif Application Engine – for example, to

Create Petriflow by BPMN

And what if you want to create a BPMN and at that moment extend it by all the elements that Petriflow provides? Then use! It is the same application as but you can use BPMN as the workflow. At the end of the day, the BPMN process is translated to PetriNets as our Application Engine interprets PetriNets into Java.

The hybrid of Netgrif Builder with BPMN modeler

And what is the outcome of making a Petriflow application based on BPMN? Executable all-in-one Low-code application!