0% found this document useful (0 votes)
10 views5 pages

Algorithms

ALGOES TO DEVELOPE BPMN MODEL

Uploaded by

samianazir370
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views5 pages

Algorithms

ALGOES TO DEVELOPE BPMN MODEL

Uploaded by

samianazir370
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

 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

You might also like