Transformation technique of converting BPMN to Petri nets
Transformation technique includes the following steps:
1) Identify Events
2) Identify Activities
3) Identify Gateways
4) Identify flows
Figure 1.BPMN Symbols
For brief description of algorithm below, it is mentioned that EG is a group of elements or objects of
BPMN, E is a set of elements, A is a set of activities, AS is a regular start event, AE is a regular end event,
F is the flow relation, GT+ is a set of parallel gateways and GT× is a set of exclusive gateways.
Algorithm 1: Creation of BPMN Diagram
Step 1: Identify E
Step 2: Identify A
Step 3: Identify GT+ and GT× if exist
Step 4: Identify flow F from start to end
Step 5: Model a BPMN diagram EG according to user’s requirements
Step 6: Assign names to activities
Step 7: Assign start event name to the BPMN diagram
Step 8: Assign end event name to the BPMN diagram
Step 9: Assign names to gateways
Step 10: End
Figure 1.BPMN Model
Petri nets:
Place
Transition
Sequence Arc
Figure 2.Petri net Objects
represented by a bipartite graph, where PL is a finite set of places (PL∪TR≠ ∅), TR is a finite set
For short description of algorithm below, it is mentioned that PN = (PL, TR, FA) graphically
of transitions (PL∩TR =∅), Control flow relation FA ⊆ (PL ×TR) ∪ (TR×PL) is the set of arcs
and Mr =Mapping rules.
Algorithm 2: Tagging of BPMN to corresponding Petri nets
Step 1: Input: A BPMN Diagram
Step 2: output: A Petri net Model PN
Step 3: Use Mr for mapping of figures to transform events, activities and gateways into petri nets
Step 4: Assign name tags of BPMN to corresponding mapping figures of petrinets
Step 5: End
Figure 2. Tagging of BPMN to corresponding Petri nets
Algorithm 3: Creation of BPUG (Business Process Graph)
Step1: Start
Step2: Create a flow relation FA from start event to end event
Step3: Set source and target tags in a graph
Step4: start event has no source behind it
Step5: End event has no target ahead
Step6: Identify gateways GT+ or GT× before or after their existence in a graph
Step7: Add identifiers before or after the gateway to predict or foreseen a particular gateway
Step8: Arrange every source and target object in a sequence of BPMN
Step9: End
SA A B C CE D E F G H DH
HE
Fig 3. Creation of BPUG
Algorithm 4: Automatic Transformation of BPMN onto Petri nets
Step1: Start
Step2: Input: XML file of BPMN
Step3: output: PN
Step4: EG= {E, A, AS, AE, F, GT+, GT×}, Mr =Mapping rules, Pe = Process end, J=List of BPMN elements
Step5: Transform xml file onto BPMN model
Step6: EA=events array, N=no of events, M=occurrence of each event.
Step7: while (EG! =END) Start loop condition (outer)
Step8 :{ loop body start (outer) if condition=true
Step9: J=EG Assignments operation
Step10: M=1 Initialized with a value
Step11: while (J≤Pe) Start Loop condition (inner)
Step12 :{ loop body start (inner) if condition=true
Step13: EA←J use pointer
Step14: M++ use increment operator
Step15: J++ use increment operator
Step16 :} end inner loop body
Step17: EG++ increment a value
Step18: N++ increment a value
Step19:} end outer loop body
Step20: TA=EA //TA=Another array to store EA values
Step21: TA←Mr Array operator
Step22: for (i=1 to N) loop condition start, i is an initializing variable
Step23: { loop body start (outer)
Step24: for (k=1 to M) loop condition start, k is an initializing variable
Step25 :{ loop body start (inner)
Step26: Xi,j←Mr // Transformation of BPMN elements onto petri nets
Step27 :} loop body end (inner)
Step28 :} loop body end (outer)
Step29: End