Business Process Modeling Organization Who? What? Function When? Process Which? Data / Service / Product 1
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
A simple business process 3
Organizational perspective (resource mgt) 4
Data Modeling Perspective 5
Simulation of BPMN models 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 6
Agenda Context BPMN Basics on modeling with BPMN Mapping BPMN to plain Petri nets Simulation of BPMN with CPN tools Simulation rmation Mapping of control flow constructs Mapping of resource management Prototype Outlook 7
BPMN notation (a subset) Events.')*'.')*'$,&..)/&,&..)/& '-,&* &**0* &"#$,&..)/& &"# (')*'$!%&"' +"'&*,&#-)'&$!%&"'!"#$!%&"' Activities!"#$ %&'()*+,-##. /01+,"23+0.4,231325 4,231325. 6++)307 8&923)9-. /0#2"0,-! Gateways "!.*'*//&/$01'2$ )*+&,*-.*'*//&/$3145$ )*+&,*- 6*+*78*9&:$!"#$ 6&;49415$)*+&,*-!&'(&$ )*+&,*- 8
Order handling example At most one path is activated All paths are activated 9
Mapping BPMN to plain Petri nets ' ; )! ;48,%%; ' *"+,%%*& )& )( '& '(!%!& ) ' 0 1%0 234546748.9:% 3.0#8#"$%%3& )& )( '& '( -.+/.%%-& ) 10 Dijkman et al. (2008)
Mapping 11
Advanced constructs,#$!.45617+ 9466#':5*;-81''#!!!!!!!!!!!!& /0!",#',#$'+,#$2.+ "#' "#1,#1!,#$!&#-(+ &#'()*+ "#$!l*+ " #"!",#$!&#.-(+,#$/0&#%0+,#$!l*+ 12 Dijkman et al. (2008)
Agenda Context BPMN Basics on modeling with BPMN Mapping BPMN to plain Petri nets Simulation of BPMN with CPN tools Simulation rmation Mapping of control flow constructs Mapping of resource management Prototype Outlook 13
Simulation rmation!""%&'(# )*+%+ 9"*(# $-00!& '()*+,-.'*(& -/-'0-1'0'.2,"#+%)-./+ Arrival rate 3"5!"5 (*.&#(*=4"&'()*+,-.'*( 01"#+%)-./+ 3#4'5.#+& $0-', 6#.#+,'(#& 0'%#0'"**7 *)&$0-', 1"#+%)-./+ (*(&0'-10# 305 405 855#55& $0-', $0-',&+#>#$.#7 1"5 4"5 34"#+%)-./+ 87/'$#&$0-',-(.& *(& +#',1=+5#,#(.!0*5#&$0-', 22"#+%)-./+ :('.'-0';#& <-2,#(.,"#+%)-./+ 31"#+%)-./+ Transition probability Aspects such as time, cost, revenue, etc. 14
Mapping to CPN!"#!!"&'( )!*"+,-#)"!!"#$ %&#'()*+&!#"$,-.#&*/0,.1,213 +& 7.&!#95,-)8 451.-6.&!#5 I/4%.&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&= $"# C5,-)<?D 7.&!#95,-)8 5B I/4%F+JK 7.&!#95,-)8 C5,-)<6D 451.-6;5,-)? 451.-6;5,-)6.&!#.&!# H'- -# E3(.>-3"*:1,.$ I/4% H'- -# F#"*G#.& I/4% 15
Mapping to CPN!&'()%"#!(#!*++()%"# 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 )%'*,"-) ')*+!&'( ')*+,-.! ')*+ ('/0#+1( 23)20&&3('+) 2+)*'4/3('+) 569?; 564+1)78)+4/3&89:;<;=#:;<;>> 564+1)78)+4/3&89:;<;=#:;<;>> 16
Mapping to CPN!&'()%"#!(#!*++()%"# 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) /456'7") ' "#'<)!'+ %<)'<)!&'()*+ (C)"%# )%'*,"-) 7D)5E(75'5F5="6C;D)D!8&GG+5"# 55"$5'HG85)*D#5!'&58+ 55D76D5!'&5I+ D#= /456'7")5!);(#6+!&'()*+ BPMN needs!&'()*+ to be extended to handle this kind /456'7")5 'I 'K of dependencies '()*8,-./0123!&'()*+!&'()*+ 'J '?!&'()*+,-./0123!&'()*+,-./0123 L'()*F8M L'()*FIM /456'7")5 '()*I /456'7")5 '()*J,-./ '@,-./ 'B,-./!,-./ 9:;%<#=!#%;>(7!?@8A8&5@8A8++ C%#$";>()"%# 9:;%<#=!#%;>(7!?@8A8&5@8A8++ C(#CD77()"%# 9:?B8 )">D5%<) 17
Adding time, cost, and other simulation properties enabled Out e allocated In CASE RES from Phone_call In CASE Check_rmation_availability enable p5 Check_rmation_availability start CASE @+exectimecia() p6 CASE Time annotations released Out RES e Check_rmation_availability complete to Split1 Out CASE ML code for other aspects 18
Resource management!!"#$2! * " + 01/. -./ -./ "&&'(")* +*&*"#*!"#$2 '"!" (" 01/. -./ -./!##$%!&'" ('#'!)'" A resource is allocated for performing a single task enabled Out CASE e allocated In RES from Phone_call In CASE Check_rmation_availability enable p5 @+exectimecia() Check_rmation_availability start CASE +*#',+(*# -./!!"#$2 released Out RES e p6 Check_rmation_availability complete CASE!!"#$2 to Split1 Out CASE The resource is retained as long as it can perform a sequence tasks * " 01/. -./ "&&'(")* + -./ '" 01/.!##$%!&'"!" (" -./ -./ ('#'!)'" +*#',+(*# -./ 19
Agenda Context BPMN Basics on modeling with BPMN Mapping BPMN to plain Petri nets Simulation of BPMN with CPN tools Simulation rmation Mapping of control flow constructs Mapping of resource management Prototype Outlook 20
Architecture F4"5!%6$ G(.%'-)$(='HI $E)B=$:.%'-)!"#$6&"'( 7)*+,8)9/0/ K4L#$*%/( GM%'N$1%6H$.+'+I F4"5J345 :<7%&-=$?@@4$1()A!&"'()*+,-./0+12) *345.30 345$1%67/+'%-&$1()A/(' :"; :<7%&-=$2/+'*-)6!%67/+'-)$ 2)-=B 4)-"$345$#%D)+)B 345$*%/( 345$6-.(/$!%67/+'%-&$!&'()*+,( /-C$*%/($ 6+&+C(6(&' G"K"#I :;;3**%<"$) =4101;1. "-.(/012(,%*%, 345$1%67/+'-) "-.(/0%&.(2(&.(&' 345$1%67/+'-) 9>"!"#859 Access/CPN platform (ASAP w/o GUI) Server-side Equinox 21
Oryx editor 22
Architecture We are decoupling the BPMN to CPN translator to achieve tool independence F4"5!%6$ G(.%'-)$(='HI $E)B=$:.%'-)!"#$6&"'( 7)*+,8)9/0/ K4L#$*%/( GM%'N$1%6H$.+'+I F4"5J345 :<7%&-=$?@@4$1()A!&"'()*+,-./0+12) *345.30 345$1%67/+'%-&$1()A/(' :"; :<7%&-=$2/+'*-)6!%67/+'-)$ 2)-=B 4)-"$345$#%D)+)B 345$*%/( 345$6-.(/$!%67/+'%-&$!&'()*+,( /-C$*%/($ 6+&+C(6(&' G"K"#I :;;3**%<"$) =4101;1. "-.(/012(,%*%, 345$1%67/+'-) "-.(/0%&.(2(&.(&' 345$1%67/+'-) 9>"!"#859 Currently, BPMN models are translated to CP nets (the translator is embeded in Oryx). The CPN file is posted to the simulation servlet. 23
What about flexibility? There may have been several alternative ways to model a single BPMN construct It depends on the amount of rmation and the approach to simulation 569?; ')*+!&'( ')*+,-.! ')*+ ('/0#+1( 23)20&&3('+) 2+)*'4/3('+) 564+1)78)+4/3&89:;<;=#:;<;>> 564+1)78)+4/3&89:;<;=#:;<;>>,-./0123!&'()*+ Why not to provide a set of simulation profiles? /456'7") ' "#'<)!'+ %<)'<)!&'()*+ (C)"%# 7D)5E(75'5F5="6C;D)D!8&GG+5"# 55"$5'HG85)*D#5!'&58+ 55D76D5!'&5I+ D#=!&'()*+ 'I /456'7")5!&'()*+ 'J!);(#6+!&'()*+,-./0123!&'()*+!&'()*+ '?,-./0123 L'()*F8M /456'7")5 '()*8 L'()*FIM /456'7")5 '()*I /456'7")5 '()*J 9:;%<#=!#%;>(7!?@8A8&5@8A8++ 'K C%#$";>()"%#,-./ 9:;%<#=!#%;>(7!?@8A8&5@8A8++ '@ C(#CD77()"%#,-./ 9:?B8 'B )">D5%<),-./!,-./!!"#$2!!"#$2 *! " + '"!"#$2!" (" 01/. -./ -./ 01/. -./ -./ "&&'(")* +*&*"#*!##$%!&'" ('#'!)'" Workflow resource patterns *! " + 01/. -./ -./ "&&'(")* '" 01/.!##$%!&'"!"#$2!" (" -./ -./ ('#'!)'" 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) +*#',+(*# -./ 24
Agenda Context BPMN Basics on modeling with BPMN Mapping BPMN to plain Petri nets Simulation of BPMN with CPN tools Simulation rmation Mapping of control flow constructs Mapping of resource management Prototype Outlook 25
Outlook 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 rmation for simulating the process based on past execution and current state Key performance analysis (e.g. using ProM plugins) Validation on the logistics domain 26