Successfully reported this slideshow.
BPMN Process Views Construction Sira Yongchareon 1 , Chengfei Liu 1 , Xiaohui Zhao 1 ,  and  Marek Kowalkiewicz 2 1  Centr...
Outline <ul><li>Introduction </li></ul><ul><li>Related work and Problems </li></ul><ul><li>Constructing Process Views </li...
Introduction <ul><li>Process (workflow) Views </li></ul><ul><ul><li>an abstraction of base process by  hiding  /  aggregat...
Related work <ul><li>Ordering-preserved process view approach (Liu and Shen, 2003) </li></ul><ul><ul><li>Rules :  membersh...
BPMN Process models
BPMN Process models (Collaboration)
Problems <ul><li>BPMN characteristic not considered in previous works </li></ul><ul><ul><li>More complex than other proces...
BPMN Process Model (Core) <ul><li>Definition: BPMN process  bp  is  tuple  ( O, T ,   T E ,  G ,  E ,  F )  where, </li></...
BPMN example
BPMN Process Model <ul><li>Definition:  Process fragment or P-fragment  Pf  is a tuple ( O', T' ,  T E ' ,  G' ,  E' ,  F'...
Constructing Process Views: Rules <ul><li>Process View Consistency Rules </li></ul><ul><ul><li>Rule 1: (Order preservation...
Constructing Process Views : Preliminary <ul><li>Definition:  Given a set of objects  N  O  in a process, a set of the  l...
Constructing Process Views : lcp and lcs <ul><li>Example if  N ={ t 2 , t 3 } </li></ul><ul><ul><li>lcp ( N )  = { g 1 } <...
Process Structure validation <ul><li>Definition: An enclosed P-fragment (EP-fragment)  Pf  ( O', T' ,  T E ' ,  G' ,  E' ,...
Process Structure validation <ul><li>Theorem 1:   A P-fragment Pf  ( O', T' ,  T E ' ,  G' ,  E' ,  F', F in , F out )  in...
Minimal Aggregate <ul><ul><li>Function   minAgg ( O A ) returns a minimal set of objects that can be aggregated, and hides...
Minimal Aggregate <ul><li>Theorem 2:   A set of objects O A  O in a process bp  ( O, T ,  T E ,  G ,  E ,  F )  satisfies...
Prototype <ul><li>FlexView for BPMN (& XPDL)  </li></ul>and  1 BizAgi ™ Process Modeler 1 BizAgi  ™ is the product of BIZA...
Conclusion <ul><li>Constructing process views on BPMN to deal with the events and exceptions </li></ul><ul><li>Non-well st...
Q & A <ul><li>Thanks </li></ul>
Upcoming SlideShare
Loading in …5
×

BPMN process views construction

1,009 views

Published on

Sira Yongchareon, Chengfei Liu, Xiaohui Zhao, Marek Kowalkiewicz: BPMN Process Views Construction. In: DASFAA 2010:550-564

Published in: Technology, Business
  • Be the first to comment

BPMN process views construction

  1. 1. BPMN Process Views Construction Sira Yongchareon 1 , Chengfei Liu 1 , Xiaohui Zhao 1 , and Marek Kowalkiewicz 2 1 Centre for Complex Software Systems and Services Swinburne University of Technology, Australia 2 SAP Research Centre, Australia
  2. 2. Outline <ul><li>Introduction </li></ul><ul><li>Related work and Problems </li></ul><ul><li>Constructing Process Views </li></ul><ul><li>Related work </li></ul><ul><li>Conclusion </li></ul><ul><li>BPMN Model </li></ul><ul><li>Process Views Construction </li></ul><ul><li>Related Work </li></ul><ul><li>Conclusion </li></ul>
  3. 3. Introduction <ul><li>Process (workflow) Views </li></ul><ul><ul><li>an abstraction of base process by hiding / aggregating activities </li></ul></ul><ul><ul><li>improve the privacy protection, authority control, flexible display, collaborative process modelling </li></ul></ul>*Figure taken from Shen, M and Liu, D 2003
  4. 4. Related work <ul><li>Ordering-preserved process view approach (Liu and Shen, 2003) </li></ul><ul><ul><li>Rules : membership , atomicity , and order preservation </li></ul></ul><ul><li>Building and visualizing personalized views of managed processes (Bobrik, Reichert et al, 2007) </li></ul><ul><ul><li>Visualization approach to tackle inflexibility of building and visualizing personalized views of managed processes : reducing and aggregating </li></ul></ul><ul><li>Customized process view (Grefen and Eshuis, 2008) </li></ul><ul><ul><li>Process provider to construct process views - aggregation </li></ul></ul><ul><ul><li>Process consumer to filter unwanted information – activity hiding </li></ul></ul>
  5. 5. BPMN Process models
  6. 6. BPMN Process models (Collaboration)
  7. 7. Problems <ul><li>BPMN characteristic not considered in previous works </li></ul><ul><ul><li>More complex than other process models, e.g., events, exception handling </li></ul></ul><ul><ul><li>Allow arbitrary modelling (non block-structure) </li></ul></ul><ul><li>View construction more challenged </li></ul><ul><ul><li>Aggregation for non-well-structured process </li></ul></ul><ul><ul><li>Selective aggregation of branches – not all branches of the gateways </li></ul></ul><ul><ul><li>Minimal aggregation solution </li></ul></ul>
  8. 8. BPMN Process Model (Core) <ul><li>Definition: BPMN process bp is tuple ( O, T , T E , G , E , F ) where, </li></ul><ul><ul><li>O is a finite set of BPMN element objects divided into disjoint sets of T , G, and E </li></ul></ul><ul><ul><li>T is a finite set of tasks </li></ul></ul><ul><ul><li>G is a finite set of gateways </li></ul></ul><ul><ul><li>E is a finite set of events in bp ; event_type : E  { Start , Catching-Intermediate , Throwing-Intermediate , End } is a function used to specify the type of event. </li></ul></ul><ul><ul><li>F  O  O is a finite set of control flow relations </li></ul></ul><ul><ul><li>T E  E  T is non-injective and non-surjective defining a finite set of attachment relations of intermediate catching events on tasks, called Event-attached task relation . </li></ul></ul><ul><ul><li>F * is reflexive transitive closure of F , written o i F * o j , if there exists a path from o i to o j . </li></ul></ul><ul><ul><ul><li>o i ( F  T E ) * o j if there exists a path from object o i to o j via control flow relations F and event-attached task relations T E . </li></ul></ul></ul><ul><li>Function returns a set of all objects in all possible paths leading from o i via a control flow f i to o j via a control flow f j , such that  o i , o j  O ,  f i , f j  F, o i ( f i F * f j ) o j . </li></ul>
  9. 9. BPMN example
  10. 10. BPMN Process Model <ul><li>Definition: Process fragment or P-fragment Pf is a tuple ( O', T' , T E ' , G' , E' , F', F in , F out ) where O'  O, T'  T, T E '  T E , G'  G, E'  E , F'  O'  O'  F, such that, </li></ul><ul><ul><li> e s  { E | event_type ( E ) =Start },  e e  { E | event_type ( E ) =End }, e s  E'  e e  E', i.e., Pf cannot contain any start or end event of bp </li></ul></ul><ul><ul><li> F in , F out  F , F  (( O O' )  O' )= F in  F  ( O'  ( O O' ))= F out ; F in and F out are the set of entry flows and exit flows of Pf , respectively </li></ul></ul><ul><ul><li> o i  O' ,  o m , o n  O' ,  o x  O O' ,  o y  O O' ,  ( o x, , o m )  F in ,  ( o n , o y )  F out , o x F'*o i  o i F'*o y , i.e., for every object o i in Pf . O' there exists a path from entry flow to o i and from o i to exit flow </li></ul></ul><ul><ul><li>for every object o  O' there exists a path p =( e s , … , f i, , …, o, …, f o , …, e e ) starting from e s to e e via f i  F in , o , and f o  F out </li></ul></ul>
  11. 11. Constructing Process Views: Rules <ul><li>Process View Consistency Rules </li></ul><ul><ul><li>Rule 1: (Order preservation). For any two objects belonging to process views v 1 and v 2 , their execution order must be consistent if such objects exists in v 1 and v 2 </li></ul></ul><ul><ul><li>Rule 2: (Branch preservation). For any two objects belonging to process views v 1 and v 2 , the branch subjection relationship of them must be consistent </li></ul></ul><ul><ul><li>Rule 3: (Event-attached task preservation). For any event-attached task relation belonging to v 1 and v 2 , an existence of all coherence objects on the exception path led from such attached event must be consistent </li></ul></ul><ul><ul><li>Rule 4: (Message flow preservation). For any message flow exists in v 1 and v 2 , the message flow relation of its source and target objects must be consistent </li></ul></ul><ul><li>Aggregation Rules </li></ul><ul><ul><li>Aggregation Rule 1: (Atomicity of aggregate). An aggregate behaves as an atomic unit of processing (task); therefore, it must preserve the execution order for every task and event within it, as well as between itself and the process. </li></ul></ul><ul><ul><li>Aggregation Rule 2: (Objects in exception path). If the task in event-attached task relation is in the aggregate then every object in its exception path must be hidden in the process view; thus, it is not considered to be in the aggregate </li></ul></ul>
  12. 12. Constructing Process Views : Preliminary <ul><li>Definition: Given a set of objects N  O in a process, a set of the least common predecessors ( lcp ) and the least common successors ( lcs ) of N are: </li></ul><ul><ul><li>lcp ( N ) = { o p  O N |  o  N ( o p F * o  (  o q  O N ( o q F * o  o q F * o p )))} </li></ul></ul><ul><ul><li>lcs ( N ) = { o s  O N |  o  N ( oF * o s  (  o q  O N ( oF * o q  o s F * o q )))} </li></ul></ul><ul><li>Functions lcpF ( N ) and lcsF ( N ) return the subset of outgoing flows of lcp ( N ) and incoming flows of lcs ( N ), respectively. (only contain the flows in F that flow into or out from N ) </li></ul><ul><ul><li>lcpF ( N ) = {  F |  o p  lcp ( N ),  o s  lcs ( N ),  o  N , ( o p , o )  F  | path ( o p o s ) | > 0} </li></ul></ul><ul><ul><li>lcsF ( N ) = {  F |  o s  lcs ( N ),  o p  lcp ( N ) ,  o  N , ( o, o s )  F  | path ( o p o s ) | > 0} </li></ul></ul>
  13. 13. Constructing Process Views : lcp and lcs <ul><li>Example if N ={ t 2 , t 3 } </li></ul><ul><ul><li>lcp ( N ) = { g 1 } </li></ul></ul><ul><ul><li>lcs ( N ) = { g 4 , g 5 } </li></ul></ul><ul><ul><li>lcpF ( N ) = {( g 1 , t 2 ), ( g 1 , t 3 )} </li></ul></ul><ul><ul><li>lcsF ( N ) = {( g 2 , g 4 ), ( g 2 , g 5 ), ( g 3 , g 4 ), ( g 3 , g 5 )} </li></ul></ul>
  14. 14. Process Structure validation <ul><li>Definition: An enclosed P-fragment (EP-fragment) Pf ( O', T' , T E ' , G' , E' , F', F in , F out ) define a P-fragment of a process. If Pf has only one entry object and one exit object as its boundary, then it is enclosed </li></ul><ul><ul><li>Function  Fwd ( f s , o y ) returns a set of objects by walking forward from f s to o y as well as from f s to the end event of the process </li></ul></ul><ul><ul><li>Function  Bwd ( f e , o x ) returns a set of objects by walking backward from f e to o x as well as from f e to the start event of the process. </li></ul></ul><ul><li>Lemma 1: Given a set of objects N  O in a process bp ( O, T , T E , G , E , F ) , an EP-Fragment Pf ( O', T' , T E ' , G' , E' , F', F in , F out ) can be formed by N, if and only if, </li></ul><ul><ul><li>i.e., the forward walks and backward walks of all combinations of lcpF and lcsF flows return the same result set identical to N in bp (1) </li></ul></ul><ul><ul><li> f p  lcpF ( N ),  o  N , f p =( o x , o ), i.e., there exists only one entry object o x (2) </li></ul></ul><ul><ul><li> f s  lcsF ( N ),  o  N , f s =(o, o y ) , i.e., there exists only one exit object o y (3) </li></ul></ul>
  15. 15. Process Structure validation <ul><li>Theorem 1: A P-fragment Pf ( O', T' , T E ' , G' , E' , F', F in , F out ) in a process bp ( O, T , T E , G , E , F ) can be aggregated if and only if it is enclosed. </li></ul><ul><li>Example: </li></ul><ul><ul><li>Pf 1 has one entry object o 5 but it has two exit objects o 12 and o 14 </li></ul></ul><ul><ul><li>Pf 2 has two entry objects o 3 and o 5 , and one exit object o 14 . </li></ul></ul><ul><ul><li>Pf 3 (selective branch, unenclosed) has two entry objects o 3 and o 9 , and one exit object o 16 . </li></ul></ul><ul><ul><li>Pf 4 (selective branch, enclosed) has only one entry object o 3 and one exit object o 16 . </li></ul></ul>
  16. 16. Minimal Aggregate <ul><ul><li>Function minAgg ( O A ) returns a minimal set of objects that can be aggregated, and hides every object on exception paths </li></ul></ul>
  17. 17. Minimal Aggregate <ul><li>Theorem 2: A set of objects O A  O in a process bp ( O, T , T E , G , E , F ) satisfies all aggregation rules if and only if O A =minAgg ( O A ) . </li></ul><ul><li>Example </li></ul><ul><ul><li>Pf1 cannot form an EP-fragment then the boundary is expanded to Pf2 (enclosed) </li></ul></ul>
  18. 18. Prototype <ul><li>FlexView for BPMN (& XPDL) </li></ul>and 1 BizAgi ™ Process Modeler 1 BizAgi ™ is the product of BIZAGI, http://www.bizagi.com
  19. 19. Conclusion <ul><li>Constructing process views on BPMN to deal with the events and exceptions </li></ul><ul><li>Non-well structured process tackled by EP-fragment validation </li></ul><ul><li>Selective aggregation of branches feature </li></ul><ul><li>Minimal aggregate solution </li></ul>
  20. 20. Q & A <ul><li>Thanks </li></ul>

×