What exactly is the difference between a theoretical petri net and a BPMN workflow?

5.3k Views Asked by At

There's theoretical petri nets: http://en.wikipedia.org/wiki/Petri_net

And then there's workflows expressed as BPMN 2.0.

What exactly is the difference? The reason I ask is that we want to do a simplification of business processes modelled in BPMN (which no average person cares about/uses) and make it more "1 dimensional" for use on smartphones (like a checklist) with a ton of extra graph-based hooks to other steps in a checklist. Our venture is called Tallyfy - https://tallyfy.com

In addition - we want to see if we can use petri nets as a more rigorous way of executing processes in our app

3

There are 3 best solutions below

0
On BEST ANSWER

Petri nets are a very basic concept of modelling place/transition flows. Nowadays, Petri nets are probably mostly used in academia and/or low-level computer science / software development, according to Wikipedia for describing distributed systems.

BPMN 2.0 is a specification defining a business process modeling notation and its representation in XML. Thus, BPMN 2.0 is exceeding the scope of computer science/software development. The BPMN process flow resembles to some extent the behavior of Petri nets. However, BPMN 2.0 provides a more comprehensive set of elements and goes far beyond the definition of mere place/transition flows and offers furthermore a greater set of elements to express flow behavior.

With their simple element set, Petri nets are designed to be mathematically formalized, while BPMN 2.0 is formalized in XML (see above).

While BPMN 2.0 can be used for modelling distributed information systems (typically in a situation, in which nobody would consider using Petri nets), one would never use Petri nets to model business processes. It is important to notice that a well-modeled BPMN process is understandable for people not knowing BPMN, as BPMN 2.0 is a high-level notation and relatively close to an intuitive understanding of process flow.

So:

Petri nets = low level, computer science, mathematically formalized

BPMN = high-level, business process management, formalized in XML

Edit: In a BPM simulation or execution context, it can be useful to (automatically) map BPMN diagrams to Petri Nets (or: Workflow Nets) to determine mathematical properties like reachability.

0
On

I would add that, you could use graphs and petri nets theories to analyse BPMN models on a mathematical point of view.

0
On

A Petri Net is a description of a system in terms of net elements. There are four types of net elements: place, transition, input and output. An input connects a place to a transition. An output connects a transition to a place. A net element may have zero or more annotations. An annotation can be any type of information.

For example, consider a Petri Net with the following property annotations 1) each place element has a mark (a quantity that can be any number greater than or equal to zero), 2) each transition has a status (a quantity that can be true or false), 3) each input has a status (a quantity that can be true or false) and a weight (a quantity that can be any number greater or equal to zero), and 4) each output has a weight (a quantity that can be greater than zero).

Furthermore, each input has a status update logic: if the weight of the input is greater or equal to the mark of the place, the status is true; otherwise, the status is false. Each transition has a status update logic too: if the status of every input of the transition is true, then the status of the transition is true too.

Furthermore, each input has place mark update logic: the mark of the (input) place is equal to the mark of the place minus the weight of the input. Each output has a place mark update logic: the mark of the (output) place is equal to the mark of the place plus the weight of the output. Each transition has a place mark update logic: call on the place mark update of every input and every output of the transition.

Furthermore, each net element has a graphics display annotation: a place is a circle, a transition is a square, an input is an arrow from a circle to a square, and an output is an arrow from a square to a circle. If the mark of a place is 1, it is one black dot; if the mark of the place is 2, it is two black dots; etc. If the status of a transition is true, it is green. If the status of the transition is false, it has no color.

Most of the annotation above have been defined by several Petri Net researchers over the course of several years. Carl Adam Petri identified the net elements, proposed the annotation system, and defined the first set of annotations that have practical applications. Anatol Holt coined the terms "place", "transition", "input", "output" and "Petri Nets". Holt also contributed in many ways to the development of "Petri Nets".

I use the net elements to organize requirements or computer programs. The requirements or computer programs are added as annotations to the net elements.

It is possible to consider the notations of BPMN as "high-level" notations that may be used to view a Petri Net.