Research Article

A Petri Nets Evolution Method that Supports BPMN Model Changes

Algorithm 1

BPMN model check algorithm.
Input: BPMN_old: original BPMN XML file BPMN_new: modified BPMN XML file
Output: modification_datas: modification data file
(1)Collections:
(2)M_Task; //object list of the modification of the task object elements
(3)M_SequenceFlow; //object list of the modification of the sequence flow object elements
(4)O_Task; //object list of the task declared in BPMN_old
(5)N_Task; //object list of the task declared in BPMN_new
(6)O_SeqenceFlow; //object list of the sequence flow declared in BPMN_old
(7)N_SeqenceFlow; //object list of the sequence flow declared in BPMN_new
(8) … …
(9)for task t_o in O_Task do
(10)for task t_n in N_Task do
(11)  if t_o.id!=t_n.id then
(12)   t_o.mark= “delete;
(13)   M_Task.add(t_o);
(14)   break;
(15)  end
(16)end
(17)end
(18)for task t_n in N_Task do
(19)for task t_o in O_Task do
(20)  if t_o.id!=t_n.id then
(21)   t_o.mark= “insert;
(22)   M_Task.add(t_n);
(23)   break;
(24)  else
(25)   if t_n.name!=t_o.name then
(26)    t_o.mark= “modify;
(27)    M_Task.add(t_n);
(28)    break;
(29)   end
(30)  end
(31)end
(32)end
(33)… …