Business Process Modeling - Aarhus Universitet

26
Business Process Modeling Open & Extensible Business Process Simulation 1 When? Process Which? Data / Service / Product What? Function Who? Organization

Transcript of Business Process Modeling - Aarhus Universitet

Page 1: Business Process Modeling - Aarhus Universitet

Business Process Modeling

Open & Extensible Business Process Simulation 1

When?

Process

Which?

Data / Service / Product

What?

Function

Who? Organization

Page 2: Business Process Modeling - Aarhus Universitet

BPMN   Stands for “Business Process Management Notation”

  Graphical notation for specifying Business Processes   Developed by the Business Process Initiative (BPMI)   Now part of the OMG set of standards

  History   BPMN 1.0, by BPMI (May 2004)   BPMN 1.0, OMG Final Adopted Specification (Feb 2006)   BPMN 1.1, OMG Specification (Feb 2008)   BPMN 1.2, OMG Specification (Jan 2009)

  The last revised draft of the BPMN 2.0 has recently been released

2 Open & Extensible Business Process Simulation

Page 3: Business Process Modeling - Aarhus Universitet

A simple business process

Open & Extensible Business Process Simulation 3

Page 4: Business Process Modeling - Aarhus Universitet

Organizational perspective (resource mgt)

Open & Extensible Business Process Simulation 4

Page 5: Business Process Modeling - Aarhus Universitet

Data Modeling Perspective

Open & Extensible Business Process Simulation 5

Page 6: Business Process Modeling - Aarhus Universitet

Simulation of BPMN models

Open & Extensible Business Process Simulation 6

  Simulation on the BPM landscape   General purpose simulation platforms (e.g. Arena)   BPM specific platforms

  Commercial: Tibco business Studio, ITP Commerce, IBM Websphere Business Modeler, ARIS, Protos

  Academic: e.g. work at Eindhoven University of Technology (Netherlands), work at the Queensland University of Technology (Australia)

  We aim at   Covering of a larger subset of BPMN   Providing an open simulation engine

  Tool independence   Extensibility and customization

Page 7: Business Process Modeling - Aarhus Universitet

Agenda

Open & Extensible Business Process Simulation 7

  Context   BPMN

  Basics on modeling with BPMN   Mapping BPMN to plain Petri nets

  Simulation of BPMN with CPN tools   Simulation information   Mapping of control flow constructs   Mapping of resource management

  Prototype   Outlook

Page 8: Business Process Modeling - Aarhus Universitet

BPMN notation (a subset)

Open & Extensible Business Process Simulation 8

!"#$!%&"'(')*'$!%&"' +"'&*,&#-)'&$!%&"'

,&..)/& '-,&* &**0*.')*'$,&..)/&.')*' &"#$,&..)/& &"#Events

Activities

Gateways

!"#$%&'()*+,-##.

/01+,"23+0.4,2313254,231325.6++)307

8&923)9-./0#2"0,-

!"#$%&'(&$)*+&,*-

.*'*//&/$01'2$)*+&,*-

.*'*//&/$3145$)*+&,*-

6*+*78*9&:$!"#$6&;49415$)*+&,*-

!

"!

Page 9: Business Process Modeling - Aarhus Universitet

Order handling example

Open & Extensible Business Process Simulation 9

At most one path is

activated All paths are

activated

Page 10: Business Process Modeling - Aarhus Universitet

Mapping BPMN to plain Petri nets

Open & Extensible Business Process Simulation 10

!"#$%%!&

'&

'(

))&

)(*"+,%%*&

'

-.+/.%%-&

'&

'(

)

)&

)(

0

1%0234546748.9:%

3.0#8#"$%%3&

'

;' ) !

;48,%%;

Dijkman et al. (2008)

Page 11: Business Process Modeling - Aarhus Universitet

Mapping …

Open & Extensible Business Process Simulation 11

Page 12: Business Process Modeling - Aarhus Universitet

Advanced constructs

Open & Extensible Business Process Simulation 12

!"

!

!!! !!!

!!!"#$%&#'()*+

!

,#$!&#-(+ ,#$!&#.-(+

"

!"#$%&

#" !"

,#$/0&#%0+

,#' "#' "#1 ,#1,#$'&#23+ ,#$2.&#1+

,#$!&#1.45617+

"#$!&#108*+

/0

9466#':5*;-81''#!

,#$!&#108*+

Dijkman et al. (2008)

Page 13: Business Process Modeling - Aarhus Universitet

Agenda

Open & Extensible Business Process Simulation 13

  Context   BPMN

  Basics on modeling with BPMN   Mapping BPMN to plain Petri nets

  Simulation of BPMN with CPN tools   Simulation information   Mapping of control flow constructs   Mapping of resource management

  Prototype   Outlook

Page 14: Business Process Modeling - Aarhus Universitet

Simulation information

Open & Extensible Business Process Simulation 14

!"#$%&'()*+,-.'*(&-/-'0-1'0'.2

3#4'5.#+&$0-',

6#.#+,'(#&0'%#0'"**7*)&$0-',

855#55&$0-',

9"*(#$-00

:('.'-0';#&<-2,#(.

87/'$#&$0-',-(.&*(&

+#',1=+5#,#(.

!0*5#&$0-',

(*.&#(*=4"&'()*+,-.'*(

(*(&0'-10#

$0-',&+#>#$.#7

!"""#$%%&'(#)*+%+

,"#+%)-./+

01"#+%)-./+

1"#+%)-./+

22"#+%)-./+

34"#+%)-./+

31"#+%)-./+

,"#+%)-./+

1"5

4"5

305

405

3"5

!"5

Arrival rate

Transition probability Aspects such as time,

cost, revenue, etc.

Page 15: Business Process Modeling - Aarhus Universitet

Mapping to CPN

Open & Extensible Business Process Simulation 15

!"#$%!"&'()!*"+,-#)"!

!"#

$"#

!"#$

%&#'()*+&!#"$,-.#&*/0,.1,213

451.-6

.&5'-7.&!#58

#'-5'-7.&!#95,-)8

,:-.#&

13-;0,1;5;<;=.>:"3-37?9@@8;.&

;;.!;5A@?;-)3&;7.&!#59;?8

;;31>3;7.&!#59;68

3&=

.&!#5

5B

7.&!#95,-)8

451.-6;5,-)? 451.-6;5,-)6

7.&!#95,-)87.&!#95,-)8

C5,-)<6DC5,-)<?D

-#

E3(.>-3"*:1,.$

-#

F#"*G#.&

.&!# .&!#

+&

H'- H'-

I/4%

I/4%F+JK

I/4% I/4%

Page 16: Business Process Modeling - Aarhus Universitet

Mapping to CPN

Open & Extensible Business Process Simulation 16

!"#$%&'()%"#

!(#!*++()%"#

)%'*,"-)

!"#$%&'(

')*+

,-.!

('/0#+1( 23)20&&3('+) 2+)*'4/3('+)

564+1)78)+4/3&89:;<;=#:;<;>>564+1)78)+4/3&89:;<;=#:;<;>>569?;

')*+

')*+

Event-driven XOR gateways •  The process stops and waits for an event to occur •  It resumes and follows a single branch depending on what event occurred

Page 17: Business Process Modeling - Aarhus Universitet

Mapping to CPN

Open & Extensible Business Process Simulation 17

!"#$%&'()%"#

!(#!*++()%"#

)%'*,"-)

Events may not be independent:

A customer decides to either confirm (e.g. 90% of cases) or to cancel an order (e.g. 10% of cases)

BPMN needs to be extended to handle this kind of dependencies

!"#$%&'()*+

,-./0123

/456'7")5

'()*8

9:;%<#=!#%;>(7!?@8A8&5@8A8++

9:;%<#=!#%;>(7!?@8A8&5@8A8++

9:?B8

/456'7")/456'7")5

!);(#6+

"#$%'

"#'<)!"#$%'+

%<)'<)!"#$%&'()*+

(C)"%#

7D)5E(75'5F5="6C;D)D!8&GG+5"#

55"$5'HG85)*D#5!"#$%'&58+

55D76D5!"#$%'&5I+

D#=

'I

'J

'?

/456'7")5

'()*I

/456'7")5

'()*J

'K

'@

'B

C%#$";>()"%#

C(#CD77()"%#

)">D5%<)

!

!"#$%&'()*+

!"#$%&'()*+

!"#$%&'()*+

!"#$%&'()*+

!"#$%&'()*+

L'()*FIM

L'()*F8M

,-./

,-./

,-./

,-./

"#$%

"#$%

"#$%

"#$%

"#$%

"#$%

"#$%"#$%

"#$%

"#$%

,-./0123

,-./0123

Page 18: Business Process Modeling - Aarhus Universitet

Adding time, cost, and other simulation properties

Open & Extensible Business Process Simulation 18

from

Phone_call

Check_information_availability

start

info

p6

info

to

Split1

info

Out

CASEIn

Check_information_availability

complete

info

CASE

CASE

allocated

InRES

released

e

@+execTimeCIA()

RES

e

Out

Check_information_availability

enable

p5

info

info

CASE

enabled

Out

CASE

info

Time annotations

ML code for other aspects

Page 19: Business Process Modeling - Aarhus Universitet

Resource management

Open & Extensible Business Process Simulation 19

from

Phone_call

Check_information_availability

start

info

p6

info

to

Split1

info

Out

CASEIn

Check_information_availability

complete

info

CASE

CASE

allocated

InRES

released

e

@+execTimeCIA()

RES

e

Out

Check_information_availability

enable

p5

info

info

CASE

enabled

Out

CASE

info

!"#$%

"

!"#$%

"&&'(")*

+

+*&*"#*

+*#',+(*#

-./

-./

-./

*

01/.

!"#$2

!"

!"#$2

!##$%!&'"

("

('#'!)'"

-./ -./

'"

01/.

!"#$%

"

!"#$%

"&&'(")*

+

+*#',+(*#

-./

-./

-./

*

01/.

!"#$2

!"

!"#$2

!##$%!&'"

("

('#'!)'"

-./ -./

'"

01/.

A resource is allocated for performing a single task

The resource is retained as long as it can perform a sequence tasks

Page 20: Business Process Modeling - Aarhus Universitet

Agenda

Open & Extensible Business Process Simulation 20

  Context   BPMN

  Basics on modeling with BPMN   Mapping BPMN to plain Petri nets

  Simulation of BPMN with CPN tools   Simulation information   Mapping of control flow constructs   Mapping of resource management

  Prototype   Outlook

Page 21: Business Process Modeling - Aarhus Universitet

Architecture

!"#$%&'()*+,(

"-.(/012(,%*%,

345$1%67/+'-)

"-.(/0%&.(2(&.(&'

345$1%67/+'-)

!"#859

:";

:<7%&-=$2/+'*-)6

9>"

:<7%&-=$

?@@4$1()A

345$1%67/+'%-&$1()A/('

!%67/+'-)$

2)-=B

345$6-.(/$

6+&+C(6(&'

!"#$%&"'()*+,-./0+12)

*345.30

4)-"$345$#%D)+)B$E)B=$:.%'-)

F4"5!%6$

G(.%'-)$(='HIF4"5J345

!"#$6&"'(

7)*+,8)9/0/ K4L#$*%/(

GM%'N$1%6H$.+'+I

345$*%/( !%67/+'%-&$

/-C$*%/($

G"K"#I

:;;3**%<"$)

=4101;1.

21 Open & Extensible Business Process Simulation

Access/CPN platform (ASAP w/o GUI)

Server-side Equinox

Page 22: Business Process Modeling - Aarhus Universitet

Oryx editor

Open & Extensible Business Process Simulation 22

Page 23: Business Process Modeling - Aarhus Universitet

Architecture

!"#$%&'()*+,(

"-.(/012(,%*%,

345$1%67/+'-)

"-.(/0%&.(2(&.(&'

345$1%67/+'-)

!"#859

:";

:<7%&-=$2/+'*-)6

9>"

:<7%&-=$

?@@4$1()A

345$1%67/+'%-&$1()A/('

!%67/+'-)$

2)-=B

345$6-.(/$

6+&+C(6(&'

!"#$%&"'()*+,-./0+12)

*345.30

4)-"$345$#%D)+)B$E)B=$:.%'-)

F4"5!%6$

G(.%'-)$(='HIF4"5J345

!"#$6&"'(

7)*+,8)9/0/ K4L#$*%/(

GM%'N$1%6H$.+'+I

345$*%/( !%67/+'%-&$

/-C$*%/($

G"K"#I

:;;3**%<"$)

=4101;1.

23 Open & Extensible Business Process Simulation

Currently, BPMN models are translated to CP nets (the translator is embeded in Oryx).

The CPN file is posted to the simulation servlet.

We are decoupling the BPMN to CPN translator to achieve tool independence

Page 24: Business Process Modeling - Aarhus Universitet

What about flexibility ?

Open & Extensible Business Process Simulation 24

  There may have been several alternative ways to model a single BPMN construct   It depends on the amount of information and the approach to simulation

  Why not to provide a set of simulation profiles?

  Our approach, generation of CP nets using templates   Currently, based on inheritance, but we want to explore some other

approaches (e.g. model transformation, AOP)

!"#$%&'(

')*+

,-.!

('/0#+1( 23)20&&3('+) 2+)*'4/3('+)

564+1)78)+4/3&89:;<;=#:;<;>>564+1)78)+4/3&89:;<;=#:;<;>>569?;

')*+

')*+

!"#$%&'()*+

,-./0123

/456'7")5

'()*8

9:;%<#=!#%;>(7!?@8A8&5@8A8++

9:;%<#=!#%;>(7!?@8A8&5@8A8++

9:?B8

/456'7")/456'7")5

!);(#6+

"#$%'

"#'<)!"#$%'+

%<)'<)!"#$%&'()*+

(C)"%#

7D)5E(75'5F5="6C;D)D!8&GG+5"#

55"$5'HG85)*D#5!"#$%'&58+

55D76D5!"#$%'&5I+

D#=

'I

'J

'?

/456'7")5

'()*I

/456'7")5

'()*J

'K

'@

'B

C%#$";>()"%#

C(#CD77()"%#

)">D5%<)

!

!"#$%&'()*+

!"#$%&'()*+

!"#$%&'()*+

!"#$%&'()*+

!"#$%&'()*+

L'()*FIM

L'()*F8M

,-./

,-./

,-./

,-./

"#$%

"#$%

"#$%

"#$%

"#$%

"#$%

"#$%"#$%

"#$%

"#$%

,-./0123

,-./0123

!"#$%

"

!"#$%

"&&'(")*

+

+*&*"#*

+*#',+(*#

-./

-./

-./

*

01/.

!"#$2

!"

!"#$2

!##$%!&'"

("

('#'!)'"

-./ -./

'"

01/.

!"#$%

"

!"#$%

"&&'(")*

+

+*#',+(*#

-./

-./

-./

*

01/.

!"#$2

!"

!"#$2

!##$%!&'"

("

('#'!)'"

-./ -./

'"

01/.

Workflow resource patterns

Page 25: Business Process Modeling - Aarhus Universitet

Agenda

Open & Extensible Business Process Simulation 25

  Context   BPMN

  Basics on modeling with BPMN   Mapping BPMN to plain Petri nets

  Simulation of BPMN with CPN tools   Simulation information   Mapping of control flow constructs   Mapping of resource management

  Prototype   Outlook

Page 26: Business Process Modeling - Aarhus Universitet

Outlook

Open & Extensible Business Process Simulation 26

  A first running prototype   Covers a subset of BPMN constructs   Embedded inside Oryx Editor   Benefits of the Access/CPN interface/architecture

  Ongoing work   Extend the BPMN coverage

  Colors can be used to model advanced BPMN constructs   Move to a standard serialization format for BPMN

  XPDL or BPMN 2.0   Characterizing design space for templates   Simulation and Performance analysis

  Real logging information for simulating the process based on past execution and current state

  Key performance analysis (e.g. using ProM plugins)   Validation on the logistics domain