Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Structural Aspects Of Business Process Diagram Abstraction


Published on

As companies more and more often turn to documenting their business processes in models, the task of managing large model collections becomes essential. There is a number of techniques simplifying this task, e.g., construction of customized process views and business process model abstraction. The latter aims at deriving abstract process representations from existing low-level models omitting details irrelevant for the current task. A number of papers on process model abstraction conceptualized the abstraction problem and proposed algorithms handling simplistic models. To the best of our knowledge there is no work discussing abstraction of models in BPMN. In this paper we present an abstraction approach, addressing specific features of BPMN 1.2. The abstraction approach is order-preserving and is capable of handling graph-structured process models.

Published in: Technology
  • Be the first to comment

Structural Aspects Of Business Process Diagram Abstraction

  1. 1. Structural Aspects of Business Process Diagram Abstraction Sergey Smirnov [email_address] BPMN 2009 20 July 2009
  2. 2. Motivation <ul><li>62 activities </li></ul><ul><li>23 events </li></ul><ul><li>11 gateways </li></ul><ul><li>96 nodes </li></ul>
  3. 3. Existing Approaches <ul><li>AOK & BPT Project </li></ul><ul><li>Notation: </li></ul><ul><ul><li>simplistic notation </li></ul></ul><ul><ul><li>EPC </li></ul></ul><ul><li>Eshius & Grefen </li></ul><ul><li>Notation: </li></ul><ul><ul><li>UML activity diagram </li></ul></ul><ul><li>Proviado Project </li></ul><ul><li>Notation: </li></ul><ul><ul><li>simplistic </li></ul></ul><ul><li>Liu and Shen </li></ul><ul><li>Notation: </li></ul><ul><ul><li>simplistic notation </li></ul></ul>
  4. 4. Business Process Model Abstraction <ul><li>… is generalization of a process model preserving the overall process logic and leaving out insignificant process details in order to retain information relevant for a particular purpose. </li></ul>
  5. 5. Abstraction Operations Elimination Aggregation
  6. 6. Abstraction of Activities
  7. 7. Stepwise Abstraction 1 2
  8. 8. Do’s and Dont’s <ul><li>Do’s </li></ul><ul><li>preserve ordering constraints </li></ul><ul><li>abstract sound process models </li></ul><ul><li>address rich semantics of BPMN </li></ul><ul><li>Dont’s </li></ul><ul><li>address process model business </li></ul><ul><li>semantics </li></ul>
  9. 9. Auxiliary Business Process Model <ul><li>(N, E, type) is an auxiliary business process model, where: </li></ul><ul><ul><li>is a set of nodes, where N A ≠ Ø – a set of activities; N G – a set of gateways; the sets are disjoint </li></ul></ul><ul><ul><li>is a set of directed edges between nodes representing control flow </li></ul></ul><ul><ul><li>is a connected graph </li></ul></ul><ul><ul><li>every activity has at most 1 incoming & at most 1 outgoing edge </li></ul></ul><ul><ul><li>there is at least 1 activity with no incoming edges (start activity) and at least 1 activity with no outgoing edges (end activity) </li></ul></ul><ul><ul><li>assigns a control flow construct to a gateway </li></ul></ul><ul><ul><li>every gateway is either a split or a join; splits have exactly 1 incoming edge and at least 2 outgoing; joins have at least 2 incoming edges and exactly 1 outgoing. </li></ul></ul>
  10. 10. Single Entry Single Exit Fragment <ul><li>SESE fragment is a fragment which has exactly: </li></ul><ul><li>1 incoming edge – 1 outgoing edge </li></ul>
  11. 11. Canonical SESE Fragment <ul><li>canonical SESE fragments </li></ul>
  12. 12. Canonical SESE Fragment <ul><li>non-canonical SESE fragments </li></ul>
  13. 13. Relations between SESE Fragments p arent - child predecessor-successor if the node set of SESE fragment f 1 is the subset of node set of SESE fragment f 2 , then f 1 is the child of f 2 and f 2 is the parent of f 1 SESE fragment f 1 precedes SESE fragment f 2 (and f 2 succeeds f 1 ) if the outgoing edge of f 1 is the incoming edge of f 2 P 1 c 2 c 1 p 1 s 2 s 1 p 2
  14. 14. Auxiliary Concepts <ul><li>A – an activity to be abstracted </li></ul><ul><li>sese A – canonical SESE fragment containing A </li></ul><ul><li>sese min – a minimal canonical SESE fragment containing A and at least one more activity ( sese min ≠ sese A ); there are 2 options for sese min : </li></ul><ul><li>there is canonical SESE fragment sese A’ which is in predecessor-successor relation with sese A ; then sese min is a SESE fragment with the incoming edge of the predecessor and the outgoing edge of the successor </li></ul><ul><li>if 1 does not hold, than sese min is a SESE fragment which is the parent of sese A </li></ul>
  15. 15. Variety of BPMN Elements 6 Gateway types 29 Event types 6 activity types 3 types of sequence flow Message flow Associations …
  16. 16. Connecting Objects message flow associations sequence flow normal flow exception flow
  17. 17. Message Flow message flow ≠ control flow
  18. 18. Sequence Flow normal flow = exception flow = control flow
  19. 19. Associations associations ≠ control flow
  20. 20. Activity Allocation Types compensation activity within ad-hoc subprocess within sequence flow
  21. 21. Abstraction of an Activity in a BPD <ul><li>abstractBPD ( BPD diagram, Activity activity) </li></ul><ul><li>if activity is compensation activity then </li></ul><ul><li>eliminate activity, corresponding compensation event, and </li></ul><ul><li>association </li></ul><ul><li>return </li></ul><ul><li>if activity in adHocSubprocess then </li></ul><ul><li>collapse adHocSubprocess </li></ul><ul><li>return </li></ul><ul><li>find sequence flow flow where activity is allocated </li></ul><ul><li>construct auxiliary model auxiliaryModel for flow </li></ul><ul><li>perform abstraction in auxiliaryModel </li></ul><ul><li>make necessary updates in diagram </li></ul>
  22. 22. BPD to Auxiliary Model Mapping <ul><li>Normalization </li></ul><ul><li>Preliminary flow construction </li></ul><ul><li>Auxiliary model construction </li></ul>
  23. 23. Normalization (I)
  24. 24. Normalization (II)
  25. 25. Normalization (III)
  26. 26. Normalization (IV)
  27. 27. Normalization (V)
  28. 28. Preliminary Flow Construction BPMN Preliminary Flow
  29. 29. Preliminary Model to Auxiliary Model Preliminary flow Auxiliary Notation activities gateways preliminary flow 1 2 3
  30. 30. Functions ref in and ref out BPMN Auxiliary Notation ref in : N -> P(A) ref out : N -> P(A) in out A – the set of edges in a BPD
  31. 31. BPMN Auxiliary Notation
  32. 32. BPD Update: Events usually events are concealed within an identified SESE fragment multiple start/end events signal events
  33. 33. BPD Update: Message Flow
  34. 34. BPD Update: Data encapsulation of data
  35. 35. Example: Initial Model
  36. 36. Example: Abstracted Model
  37. 37. Alternatives: Ad-hoc Subprocesses
  38. 38. Alternatives: Message Flow
  39. 39. Challenges: Groups ? ?
  40. 40. Challenges: End Events in general case requires human intervention <ul><li>Aggregation may lead to: </li></ul><ul><li>deadlocks </li></ul><ul><li>missing throwing cancel events </li></ul><ul><li>missing throwing error events </li></ul>
  41. 41. Conclusions <ul><li>We proposed the structural abstraction approach which is: </li></ul><ul><li>capable of handling BPMN 1.2 process models </li></ul><ul><li>order preserving </li></ul><ul><li>capable of handling graph-structured process models </li></ul>