Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 740
Amit Kothari Avatar asked Aug 13 '14 05:08

Amit Kothari


People also ask

What's the difference of Petri nets and finite state machines?

A finite state machine is single threaded while a Petri net is concurrent. In a finite state machine the active state changes in response to an event. In a Petri net transitions are executed as soon as all input locations contain at least one token.

What is Petri net model?

Definition. A Petri Net is a graph model for the control behavior of systems exhibiting concurrency in their operation. The graph is bipartite, the two node types being places drawn as circles, and transitions drawn as bars. The arcs of the graph are directed and run from places to transitions or vice versa.

Can a Petri net can be used to model a state machine?

Systems with distributed hardware and a centralized software state can be represented using Petri Nets.


1 Answers

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.

like image 81
Timotheus.Kampik Avatar answered Oct 06 '22 07:10

Timotheus.Kampik