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
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.
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.
Systems with distributed hardware and a centralized software state can be represented using Petri Nets.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With