8
: Graph Oriented Verification Tool Karim Baïna 1 , Fodé Touré, and Fouad Kharroubi ENSIAS, Université Mohammed V - Souissi, BP 713 Agdal - Rabat, Morocco [email protected] 1 Introduction Appropriate definition, analysis, checking and improvement of business process models are indispensable before their deployment within workflow management sys- tems. In this paper, we focus on business process model verification that insures busi- ness process structural correctness. Our proposal consist in a new hybrid algorithm of workflow graph structural validation combining graph reduction and traversal mecha- nisms. Our algorithm will be discussed and compared to existing workflow structural checking approaches. Our Algorithm has been implemented within our prototype Work- flowChecker 1 that we present through this demonstration paper as follows: section 2 de- scribes detailed WorkflowChecker design architecture, section 3 develops Touré-Baïna workflow verification algorithm and section 4 presents a demonstration example on which we base our tool demonstration. More theoretical aspects of WorkflowChecker are to be found in [1]. Fig. 1. Process validation positionning 2 WorkflowChecker Design Overview WorkflowChecker 2 is our structural verification tool which has emerged from the initiative of WorkflowMiner [2, 3] project. WorkflowChecker algorithm combines graph 1 The authors wish to thank all ENSIAS engineers contributors within WorkflowChecker. 2 WorkflowChecker demonstration can be downloaded at http://workflowminer.drivehq.com/workflowchecker.avi

WorkflowChecker: Graph Oriented Verification Tool

  • Upload
    ucd-ma

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Work owChecker: Graph Oriented Verification Tool

Karim Baïna1, Fodé Touré, and Fouad Kharroubi

ENSIAS, Université Mohammed V - Souissi,BP 713 Agdal - Rabat, Morocco

[email protected]

1 Introduction

Appropriate definition, analysis, checking and improvement of business processmodels are indispensable before their deployment within workflow management sys-tems. In this paper, we focus on business process model verification that insures busi-ness process structural correctness. Our proposal consist in a new hybrid algorithm ofworkflow graph structural validation combining graph reduction and traversal mecha-nisms. Our algorithm will be discussed and compared to existing workflow structuralchecking approaches. Our Algorithm has been implemented within our prototype Work-flowChecker1 that we present through this demonstration paper as follows: section 2 de-scribes detailed WorkflowChecker design architecture, section 3 develops Touré-Baïnaworkflow verification algorithm and section 4 presents a demonstration example onwhich we base our tool demonstration. More theoretical aspects of WorkflowCheckerare to be found in [1].

Fig. 1. Process validation positionning

2 WorkflowChecker Design Overview

WorkflowChecker 2 is our structural verification tool which has emerged from theinitiative of WorkflowMiner [2,3] project. WorkflowChecker algorithm combines graph

1 The authors wish to thank all ENSIAS engineers contributors within WorkflowChecker.2 WorkflowChecker demonstration can be downloaded at

http://workflowminer.drivehq.com/workflowchecker.avi

reduction, and graph traversal algorithm to detect structural conflict in a workflow graphmodel. Graph reduction is used to reduce the size3 of the graph with preserving thesame workflow structural properties, and then graph traversal is used to localize in-correct combinations of split and join operators within the reduced workflow graph. Itis important to notice that besides the directed acyclic graphs structural verification,WorkflowChecker verifies the structural correction of the graphs with cycles that areout of scope of this paper.

For validating our implementation, two process languages have been used to modelWorkflowChecker input workflow processes : WfMC XPDL, and jBPM JPDL [4]. Wehave chosen jBPM [4] workflow engine in order to test and validate our graph ori-ented verification algorithms. jBPM has been selected among the top three open sourceworkflow engine upon 31 criteria and sub-criteria clustered in three sub-classes (1) 12executability criteria, (2) 10 vision criteria, and (3) 9 contextual criteria [5]. Figure 2shows the architecture of WorkflowChecker.

Fig. 2. WorkflowChecker component positionning in WorkflowMiner Architecture

3 WorkflowChecker Workflow reduction rules : Touré-Baïnaverification algorithm

3.1 Algorithm principle

Studying all publications around structural conflicts in workflow graph, we eas-ily realize that in a process graph, any structural conflict is concerned by a join node.Therefore, to detect a conflict in a process graph, it is sufficient to localize split-joinincorrect combinations. However, this localization can be very complex when we passin the scale (graph is too big), so it is important to reduce the size of the graph, whilepreserving nodes order.

Our approach consists in graph reducing at first then in localizing incorrect combi-nations in graph by graph traversal. For that purpose, we use seven rules (R1. . . R7) ofwhich four (R1. . . R4) of Sadiq-Orlowska algorithm [6]. As Sadiq-Orlowska algorithmfifth rule applies to a split-join graph particular case on four level and as the identifi-cation of the whole structure is very complicated, we replaced it by the rules R5. . .R7

which insure the split-join graph correctness in a general way.3 Let N(G) and F (G) be respectiveley nodes set, and edges set of a workflow graph G,size[G] = size[N ] + size[F ].

R1 - Terminal Reduction Rule [6] : the terminal reduction rule deletes process graphbeginning task and end task if the number of transitions attached to them is equal toone. The beginning (respectively end) task deletion condition implies that it is neitherand-split nor or-split (is neither or-join nor and-join).

R2 - Sequential Reduction Rule [6] : If the current node forms a sequential structure,that means, if it has exactly one incoming flow and one outgoing flow, the sequentialrule deletes the current node of the graph and deletes its outgoing transition (the deletednode incoming transition will point to this last one outgoing node. G is a graph wheref1(n1, n), f2(n, n2) ∈ F 2 ⇒R2 G ::= G′(N \ {n}, F ∪ {f(n1, n2)} \ {f1, f2}).

R3 - Adjacent Reduction Rule [6] : The adjacent reduction rule targets two compo-nents types . If the current node is not deleted neither according to the terminal reductionrule nor the sequential reduction rule, it means that it forms a structure (i) split or (ii)join.

(i) split structures fusion : If the current node forms a split structure and has a singleincoming transition and if the current node is of the same type as its predeces-sors node, the rule moves the current node outgoing transitions to the predecessorsnode and deletes the current node (and-split associativity and or-split associativity):∀n1, n2, n3 ∈ N, (or-split(or-split(n1, n2),n3)⇒R3 or-split(n1, n2, n3)) et (and-split(and-split(n1, n2),n3)⇒R3 and-split(n1, n2, n3)) ;

(ii) join structures fusion : Otherwise if the current node forms a join structure and hasa single outgoing transition and if the current node is of the same type as its succes-sors node, the rule moves the current node incoming transitions to the successorsnode and deletes the current node (and-join associativity and or-join associativity): ∀n1, n2, n3 ∈ N, (or-join(or-join(n1, n2),n3)⇒R3 or-join(n1, n2, n3)) et (and-join(and-join(n1, n2),n3)⇒R3 and-join(n1, n2, n3));

R4 - Closed Reduction Rule [6] : Sequential and adjacent reduction rules applicationintroduce generally process graph deformations. Nodes of the same type can have morethan one transition between them (process graph becomes thus not elementary). Theclosed reduction rule deletes all transitions between such nodes except only one. G is agraph where f1(n1, n2), f2(n1, n2) ∈ F 2 ⇒R4 G ::= G′(N, F \ {f2})

After application of previous rules, we obtain either (1) an empty graph, or (2) asplit-join graph. In the first case, the original graph is without structural conflict. Inthe second case, next rules consist in traversing the R1. . .R4 resulting reduced processgraph seeking for not correct join nodes.

R5 - Combination (split-join) Valid Rule

1 For every join node, find the first split S0 common to all paths leading to the joinnode considered. ∀n ∈ N/nodeType[n] ∈ {and−join, or−join}, firstSplit[n] =S0 if nodeType[S0] ∈ {and− split, or− split} and ∀m ∈ InputNodes[n], S0 ∈PredecessorsNodes[m]4;

4 nodeType[n], InputNodes[n], and PredecessorsNodes[n] are respectively node type, in-put nodes set, and transitive closure of InputNodes of n node.

2 If current join node is of or-join type, to state that the split-join combination is valid,it is necessary to make sure that, according to S0 outgoing transitions activation,only one of the join node incoming transitions is activated. Otherwise there is lackof synchronization conflict.

3 If current join node is of and-join type, to state that the split-join combination isvalid, it is necessary to make sure that, according to S0 outgoing transitions activa-tion, all incoming transitions of join node are activated. Otherwise there is deadlockconflict.

R6 - Validation by Extension Rule : In a split-join graph, the correctness of a joinnode, which has as predecessors only correct join nodes, depends on the activationof these last ones. Any and-join node, which has as predecessors only correct joinnodes, is correct if these nodes are simultaneously active. On the other hand, any or-join node, which has as predecessors only correct join nodes, is correct if it is alwaysonly one of these nodes that is active. A node n is a correct join node by extension, ifnodeType[n] ∈ {and−join, or−join} and ∀m ∈ InputNodes[n], nodeType[m] ∈{and− join, or − join} and m is correct.

Fig. 3. Validation by extension

In the figure 3 (a) F1 is correct if C1, C2, C3 and C4 are correct and simultaneouslyactive. On the other hand, in the figure 3 (b), if F1, F2, F3 and F4 are correct andactive simultaneously, C1 is not correct.

R7 - Semi-validation by Extension Rule In a split-join graph, the correctness of ajoin node, which has as predecessors correct join nodes and split nodes, depends on theconsidered join node nature and the activation or no of incoming flow from split nodesin relation to the correct join nodes.In a model looking like the figure 4 if the node B is correct, according to the natureof the join node C, the correctness of C depends on the way of incoming transitionactivating from the node A in relation to the node B. For the figure 4 particular case,node C is correct if nodes A and B are not activated simultaneously. To verify thecorrectness in similar case, we are not obliged to make a graph traversal, we use onlythe relation enter A, the split S0 of B and join node C nature.

Fig. 4. Validation by semi-extension

3.2 Touré-Baïna Algorithm

Require: G respecting the preconditions (hypotheses)Ensure: Reduce(G) =true iff G is valid ; false else

G′ ←− Glastsize←− size[G′] + 1while (lastsize > size[G′]) do

lastsize←− size[G′]Pass 1 : apply to G′ terminal reduction rule (R1), then sequential reduction rule (R2), thenadjacent reduction rule (R3).if (lastsize < size[G′]) then

Pass 2 : apply to G′ closed reduction rule (R4).end if

end whileif (graph G′ is empty) then

% the original graph G is validreturn true �

else% the original graph G′ is a split-join graphG”←− G′

% rules R5, R6, R7 applicationSeek all join nodes Nj of the graph G”for all Nj do

if first level(Nj) thenPass 3 : apply to G” the rule(R5).Find the first Split S0 common to all paths leading to the considered join node Nj;According to the activation of S0 outgoing flows;if correct(Nj) then

% correct split-join combinationelse

% The graph G contains a structural conflictreturn false �

end ifelse

apply to G” the rule(R6).if correct(Nj) then

% correct split-join combinationelse

% The graph G contains a structural conflict

return false �end if

elseapply to G” the rule(R7).if correct(Nj) then

% correct split-join combinationelse

% The graph G contains a structural conflictreturn false �

end ifelse

Find the first Split S0 common to all paths leading to the considered join node Nj;According to the activation of S0 outgoing flows;if correct(Nj) then

% correct split-join combinationelse

% The graph G contains a structural conflictreturn false �

end ifend if

end for% the original graph G is validreturn true �

end if

The table 1 compares verification algorithms according to defined properties.

Table 1. Workflow structural verification algorithms Comparison

Completeness Transformation Correctness ComplexitySadiq-Orlowska [7] No No Yes O((|N |+ |F |)2)

Lin-Zhao-Li-Chen [8] Yes Yes Yes O((|N |+ |F |)2.|N |2)Mahanti-Sinnakkrishnan [9] Yes No Yes O(|F |2)

Touré-Baïna Yes No Yes O(|K|2 + |F ′|2)

4 WorkflowChecker Demonstration

Every process is modeled between two nodes systems (node integrating Work-flowChecker): Start and End. So the process validation is made on nodes situated be-tween start and end. The consequence of this approach is that, if a model is completelyreducible, its reduction will lead to nodes start and end as shows it the figure 7. Figure6, and 7 show the validation process views of the process model of figure 5.

Scenarios on complex use of WorkflowChecker will be presented during the demon-stration. Complete WorkflowChecker screen shots are not shown due to space reasons.

Fig. 5. Process Model for expense request payments in WorkflowChecker

Fig. 6. Step of validation

5 Conclusion

The structural validation is the most important stage of a business process validationprocess because « the structure of process is the primary aspect of a business process». Several propositions of acyclic directed graph structural verification were proposed.Through this paper you discovered a new effective and complete algorithm which ver-ifies the structural correctness of any acyclic workflow graph by hybridizing the graphreduction and traversal. With regard to the related works, we bring the simplicity, com-pleteness and the optimization through a hybrid algorithm. In our perspective, we workon our algorithm application for cyclic workflow graphs structural verification and im-prove our workflow graph structural verification tool.

Fig. 7. Validation process leads to nodes Start and End if the original model is without structuralconflict

References

1. Fodé Touré, Karim Baïna, and Walid Gaaloul. Toward a hybrid algorithm for workflow graphstructural verification. In Proceedings of the Tenth International Conference on EnterpriseInformation Systems (ICEIS’08), Barcelona, Spain, June 12-16, 2008.

2. Walid Gaaloul, Karim Baïna, and Claude Godart. Log-based Mining Techniques Appliedto Web Service Composition Reengineering. Service Oriented Computing and ApplicationsJournal (SOCA’08), 2008.

3. Karim Baïna, Walid Gaaloul, Reda El Khattabi, and Abdellah Mouhou. WorkflowMiner: aNew Workflow Patterns and Performance Analysis tool. In Nacer Boudjlida, Dong Cheng,and Nicolas Guelfi, editors, Caise Forum in The 18th Conference on Advanced InformationSystems Engineering (CAiSE’06), Forum Proceedings, Theme: Trusted Information Systems,Luxembourg, June 5-9, 2006, volume 231 of CEUR Workshop Proceedings. CEUR-WS.org.

4. jBPM. http://www.jbpm.org.5. Karim Baïna. WFESelector - A tool for comparing and selecting workflow engines. In

Jorge Cardoso, José Cordeiro, and Joaquim Filipe, editors, Proceedings of the Ninth Interna-tional Conference on Enterprise Information Systems (ICEIS’07) (1), Volume DISI, Funchal,Madeira, Portugal, June 12-16, 2007, pages 330–337.

6. Wasim Sadiq and Maria E. Orlowska. Analyzing process models using graph reduction tech-niques. Inf. Syst., 25(2):117–134, 2000.

7. Wasim Sadiq and Maria E. Orlowska. Applying graph reduction techniques for identify-ing structural conflicts in process models. In Matthias Jarke and Andreas Oberweis, editors,CAiSE, volume 1626 of Lecture Notes in Computer Science, pages 195–209. Springer, 1999.

8. Hao Lin, Zhibiao Zhao, Hongchen Li, and Zhiguo Chen. A novel graph reduction algorithmto identify structural conflicts. In HICSS, page 289, 2002.

9. Sinnakkrishnan Perumal and Ambuj Mahanti. A graph-search based algorithm for verifyingworkflow graphs. In DEXA Workshops, pages 992–996. IEEE Computer Society, 2005.