Structural Aspects of Business Process Diagram Abstraction Sergey Smirnov [email_address] BPMN 2009     20 July 2009
Motivation 62 activities 23 events 11 gateways 96 nodes
Existing Approaches AOK & BPT Project Notation: simplistic notation EPC Eshius & Grefen Notation: UML activity diagram Proviado Project Notation: simplistic Liu and Shen Notation: simplistic notation
Business Process Model Abstraction …  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.
Abstraction Operations Elimination Aggregation
Abstraction of Activities
Stepwise Abstraction 1 2
Do’s and Dont’s Do’s preserve ordering constraints abstract sound process models address rich semantics of BPMN Dont’s address process model business semantics
Auxiliary Business Process Model (N, E, type)  is an auxiliary business process model, where: is a set of nodes, where  N A  ≠ Ø  – a set of activities;  N G  – a set of gateways; the sets are disjoint is a set of directed edges between nodes representing control flow is a connected graph every activity has at most 1 incoming & at most 1 outgoing edge there is at least 1 activity with no incoming edges (start activity) and at least 1 activity with no outgoing edges (end activity) assigns a control flow construct to a gateway 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.
Single Entry Single Exit Fragment SESE fragment is a fragment which has exactly: 1  incoming edge  –  1  outgoing edge
Canonical SESE Fragment canonical SESE fragments
Canonical SESE Fragment non-canonical SESE fragments
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
Auxiliary Concepts A  – an activity to be abstracted sese A  – canonical SESE fragment containing  A 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 : 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 if 1 does not hold, than  sese min  is a SESE fragment which is the parent of  sese A
Variety of BPMN Elements 6 Gateway types 29 Event types 6 activity types 3 types of sequence flow Message flow Associations …
Connecting Objects message flow associations sequence flow normal flow exception flow
Message Flow message flow  ≠  control flow
Sequence Flow normal flow = exception flow = control flow
Associations associations  ≠  control flow
Activity Allocation Types compensation activity within ad-hoc subprocess within sequence flow
Abstraction of an Activity in a BPD abstractBPD ( BPD  diagram,  Activity  activity) if   activity  is compensation activity  then eliminate activity, corresponding compensation event, and association return if   activity  in  adHocSubprocess   then collapse  adHocSubprocess return find sequence flow  flow  where  activity  is allocated construct auxiliary model  auxiliaryModel  for  flow perform abstraction in  auxiliaryModel make necessary updates in  diagram
BPD to Auxiliary Model Mapping Normalization Preliminary flow construction Auxiliary model construction
Normalization (I)
Normalization (II)
Normalization (III)
Normalization (IV)
Normalization (V)
Preliminary Flow Construction BPMN Preliminary Flow
Preliminary Model to Auxiliary Model Preliminary flow Auxiliary Notation activities gateways preliminary flow 1 2 3
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
BPMN Auxiliary Notation
BPD Update: Events usually events are concealed within an identified SESE fragment multiple start/end events signal events
BPD Update: Message Flow
BPD Update: Data encapsulation of data
Example: Initial Model
Example: Abstracted Model
Alternatives: Ad-hoc Subprocesses
Alternatives: Message Flow
Challenges: Groups ? ?
Challenges: End Events in general case requires human intervention Aggregation may lead to: deadlocks missing throwing cancel events missing throwing error events
Conclusions We proposed the structural abstraction approach which is: capable of handling BPMN 1.2 process models order preserving capable of handling graph-structured process models

Structural Aspects Of Business Process Diagram Abstraction

  • 1.
    Structural Aspects ofBusiness Process Diagram Abstraction Sergey Smirnov [email_address] BPMN 2009 20 July 2009
  • 2.
    Motivation 62 activities23 events 11 gateways 96 nodes
  • 3.
    Existing Approaches AOK& BPT Project Notation: simplistic notation EPC Eshius & Grefen Notation: UML activity diagram Proviado Project Notation: simplistic Liu and Shen Notation: simplistic notation
  • 4.
    Business Process ModelAbstraction … 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.
  • 5.
  • 6.
  • 7.
  • 8.
    Do’s and Dont’sDo’s preserve ordering constraints abstract sound process models address rich semantics of BPMN Dont’s address process model business semantics
  • 9.
    Auxiliary Business ProcessModel (N, E, type) is an auxiliary business process model, where: is a set of nodes, where N A ≠ Ø – a set of activities; N G – a set of gateways; the sets are disjoint is a set of directed edges between nodes representing control flow is a connected graph every activity has at most 1 incoming & at most 1 outgoing edge there is at least 1 activity with no incoming edges (start activity) and at least 1 activity with no outgoing edges (end activity) assigns a control flow construct to a gateway 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.
  • 10.
    Single Entry SingleExit Fragment SESE fragment is a fragment which has exactly: 1 incoming edge – 1 outgoing edge
  • 11.
    Canonical SESE Fragmentcanonical SESE fragments
  • 12.
    Canonical SESE Fragmentnon-canonical SESE fragments
  • 13.
    Relations between SESEFragments 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.
    Auxiliary Concepts A – an activity to be abstracted sese A – canonical SESE fragment containing A 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 : 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 if 1 does not hold, than sese min is a SESE fragment which is the parent of sese A
  • 15.
    Variety of BPMNElements 6 Gateway types 29 Event types 6 activity types 3 types of sequence flow Message flow Associations …
  • 16.
    Connecting Objects messageflow associations sequence flow normal flow exception flow
  • 17.
    Message Flow messageflow ≠ control flow
  • 18.
    Sequence Flow normalflow = exception flow = control flow
  • 19.
  • 20.
    Activity Allocation Typescompensation activity within ad-hoc subprocess within sequence flow
  • 21.
    Abstraction of anActivity in a BPD abstractBPD ( BPD diagram, Activity activity) if activity is compensation activity then eliminate activity, corresponding compensation event, and association return if activity in adHocSubprocess then collapse adHocSubprocess return find sequence flow flow where activity is allocated construct auxiliary model auxiliaryModel for flow perform abstraction in auxiliaryModel make necessary updates in diagram
  • 22.
    BPD to AuxiliaryModel Mapping Normalization Preliminary flow construction Auxiliary model construction
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
    Preliminary Flow ConstructionBPMN Preliminary Flow
  • 29.
    Preliminary Model toAuxiliary Model Preliminary flow Auxiliary Notation activities gateways preliminary flow 1 2 3
  • 30.
    Functions refin 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.
  • 32.
    BPD Update: Eventsusually events are concealed within an identified SESE fragment multiple start/end events signal events
  • 33.
  • 34.
    BPD Update: Dataencapsulation of data
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
    Challenges: End Eventsin general case requires human intervention Aggregation may lead to: deadlocks missing throwing cancel events missing throwing error events
  • 41.
    Conclusions We proposedthe structural abstraction approach which is: capable of handling BPMN 1.2 process models order preserving capable of handling graph-structured process models