Search code examples
workflowbusiness-process-managementflowchartbpmnpetri-net

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


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


Solution

  • 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.