Configurable Services in the Cloud Supporting variability while enabling cross-organizational

Wil van der Aalst Acknowledgements

• Marcello La Rosa • Florian Gottschalk • CoSeLoG: Joos Buijs, Jan Vogelaar, Boudewijn van Dongen, Eric Verbeek, Hajo Reijers. • Marlon Dumas, , Niels Lohmann, Michael Rosemann, Jan Mendling, … • ProM team (www.processmining.org) • YAWL team (www.yawlfoundation.org)

PAGE 1 The need for configurable process models: CoSeLoG project

+/- 430 Dutch municipalities PAGE 2 The need for configurable process models: Suncorp case

End to end process has between 250-1000 process steps

Product Sales Service Claims 500 Dev steps • 25+ steps • 50+ steps • 75+ steps • 100+ steps Sources: Guidewire reference models, GIO CISSS Project, CI US&S P4PI Project

Home       Motor         30 Commercial      variations

Liability     

CTP / WC       PAGE 3 Two variants of the same process …

PAGE 4 Variation points … in the cloud

PAGE 5 Cloud computing

PAGE 6 Traditional Situation

IS1 IS2 ISn

E1 M1 E2 M2 ... En Mn

Processes Processes Processes Organization 1 Organization 2 Organization n

IS = Information System E = Event log M = Models PAGE 7 Example Acknowledgement of an Unborn Child

• Same but different … • “Couleur Locale” • Different from NVVB models. • Configurable process models!

PAGE 8 Using SaaS Technology

IS-SaaS E CM

C1 C2 Cn Processes Processes Processes Municipality 1 Municipality 2 ... Municipality n

IS-SaaS = Information System (using a SaaS-based BPMS) E = Event log CM = Configurable Models

C = Configuration PAGE 9 Process Mining: Before

IS1 IS2 ISn

E1 M1 E2 M2 ... En Mn

Processes Processes Processes Municipality 1 Municipality 2 Municipality n

PAGE 10 Process Mining: After

cross-organizational process mining PAGE 11 Configuration Positioning of Configuration

Some quotes from Michelangelo • “Every block of stone has a statue inside it and it is the task of the sculptor to discover it.” • “I saw the angel in the marble and carved until I set him free.” • “Carving is easy, you just go down to the skin and stop.”

Michelangelo's David Life is about making choices …

PAGE 14 Time and artifacts

• Design time (generic model, i.e., is not released for instantiation) • Configuration time (specific model, i.e., can be instantiated) • Instantiation time (specific model + instance) • Run time (specific model + instance + state/partial trace) • Auditing time (specific model + instance + full trace)

PAGE 15 Continuum

• In The , … • In Brisbane, … • When the sun shines, … • On Sunday, … • When very busy, … • For these customers, … Branching structure • …

PAGE 16 Hiding and blocking

Configuration = limiting behavior !

Activate

Hide/skip

Block

Blocking Hiding Blocking

Action

Activating

PAGE 17 Configurable Process Models

Purchase Service is Goods receipt Invoice order created accepted posted received

V

C-EPC V Consignment/ Consignment/ a b pipeline pipeline Goods Invoicing liability is liabilities are receipts

plans require created to be settled

to be settled settlement V automatically

GUIDELINE ERS = ON, if Evaluated - long term Receipt REQUIRED: Consignment/ contract Process Invoicing Plan c Settlement IPS = ON Pipeline - goods and Invoice Settlement ⇒ (ERS) ERS = ON Settlement conditions are

specified

V C- V XOR d e j l Consignment/ pipeline Invoice XOR settlement transmitted document for vendor’s transmitted records XOR

Invoice posted Invoice posted Material is and not and blocked f g released blocked for k m for release

release C-YAWL V

Release Release Invoice Invoice n manually automatically h i XOR C-LTS

Payment must C-BPEL be effectes o p

Configuration Blocking Hiding

Purchase Service is Goods receipt Invoice order created accepted posted received

EPC V a b V

Process c Petri Net Invoice XOR e l Invoice posted Invoice posted Material is and not and blocked released blocked for for release release YAWL V g m Release Release Invoice Invoice manually automatically n XOR i LTS

Payment must BPEL be effectes o p

PAGE 18 Inheritance of dynamic behavior

Inheritance Inheritance a a b a b

c c c

d e d e j l e j l f g f g k m g k m

n h i h i i n

o Configuration o p Configuration o p

VariantSuperclass A ReferenceSubclass Model VariantSuperclass B PAGE 19 Configuration Techniques

• Blocking a b a b (removing an option)

c c • Hiding (skipping activities)d e j l d e j l l τ f g k mf g k τm

i τ Blocking and hidingh are ithe n h i n essential concepts of configuration. o p o p “Every block of stone has a statue inside it and it is the task of the sculptor to discover it.” PAGE 20 Cross-organizational mining

PAGE 21 Process Mining =

(RM,RD)

c11 modify conditions

(YE,RD) c5 (RM,RD) c2 check_A check_A c8 (E,SD) needed? (RM,RD) (E,RD) Smoker

c6(YE,RD) No start register c1 initial c3 check_B check_B c9 asses c12 decline Yes conditions needed? risk

c7(FE,FD) Drinker c4 check_C check_C c10 needed? Short Yes No (91/10) (SM,SD) (E,SD) c13 (E,SD) Weight (E,FD) Long + <81.5 ≥81.5 (30/1) make c14 handle c15 handle c16 send offer response payment insurance documents (E,SD) Long Short (150/20) (321/25) c17 timeout1 timeout2 withdraw offer

Data Mining Process AnalysisPAGE 22 Process mining: Linking events to models

supports/ “world” controls business software processes people machines system components organizations records events, e.g., messages, specifies models transactions, configures analyzes etc. implements analyzes

discovery (process) event model conformance logs

extension PAGE 23 Example: WMO Harderwijk

• Process related to the execution of “Wet Maatschappelijke Ondersteuning” (WMO) Harderwijk • Handling WMO applications • WMO: supporting citizens of municipalities (illness, handicaps, elderly, etc.). • Examples: • wheelchair, scootmobiel, ... • adaptation of house (elevator), ... • household help, ...

PAGE 24 Event log (796 applications, 5187 events)

PAGE 25 Helicopter view of 1.5 years

PAGE 26 Process discovered using Genetic Miner

PAGE 27 Various representations

PAGE 28 Seamless abstraction

more detailed more abstract PAGE 29 Fuzzy Replay

PAGE 30 Conformance checking using Replay

= should not have happened but did

= should have happened but did not PAGE 31 Performance analysis using Replay

PAGE 32 Prediction based on Replay

“Your application is expected to be finalized in 65 days”

PAGE 33 From one to many organizations

• More than 80,000 organizations are using Salesforce • More than 1 million organizations are using Google Apps • All 430 Dutch municipalities are implementing the same set of processes • All 94 U.S. District Courts in the United States share the same set of • All car-rental offices of Hertz, Avis, … • …

PAGE 34 Consider n organizations

event process process 1 log 1 model 1

event process process 2 log 2 model 2 ......

event process process n log n model n

PAGE 35 Cross-organizational process mining

event process process 1 log 1 model 1 C

event process (configurable) process 2 log 2 model 2 process model C ......

event process process n log n model n C

event log

PAGE 36 Pure model-based

event process process 1 log 1 model 1 C

event process (configurable) process 2 log 2 model 2 process model C ......

event process process n log n model n C

PM1 + PM2 + … + PMn = CM PAGE 37 Pure log-based

α(EL1 + EL2 + … + ELn) = CM

event process process 1 log 1 model 1 C

event process (configurable) process 2 log 2 model 2 process model C ......

event process process n log n model n C

event log PAGE 38 How to find and How to merge characterize Questions process models into a differences among single configurable processes using What are the effectsmodel? of event logs? these differences on the event performanceprocess of a process 1 log 1 process?model 1 C

How to find and event process (configurable) process 2 characterize differenceslog 2 model 2 process model C using models / How to derive the configurations? ...... configuration... for a process given a eventconfigurableprocess model? process n log n model n C How to discover a configurable model from a collection of event log event logs?

PAGE 39 Evidence-based “best practices”

• Organizations can learn from each other. • Configuration support and diagnostics. • Software vendors/service providers can improve their products/services.

PAGE 40 Correctness

PAGE 41 Remember …

Configuration = limiting behavior !

Activate

Hide/skip

Block

Blocking Hiding Blocking

Action

Activating

PAGE 42 Correctness of configurations

+ =

Configurable Model + Configuration = Configured model • Question 1: Is a particular configuration correct? • Question 2: Is there a correct configuration? • Question 3: How to characterize the set of all correct configurations? • Question 4: How to auto-complete a configuration? PAGE 43 Transition Flow Place XOR-split

AND-split XOR-join Can t3 be blocked? AND-join Token

pI pI

t1 t2 t1 t2

p2 p3 p4 p2 p3 p4

t5 t6 t5 t6 t3 t4 t4 p 6 p6

t8 p5 p5 t8

p7 p7

t7 t7

pO pO

PAGE 44 Transition Flow Place XOR-split Block t and hide t ? AND-split XOR-join 1 3 AND-join Token

p 1 p1 Prepare Prepare Prepare Travel Form t1 t2 Travel Form t Travel Form (Secretary) (Employee) 2 (Employee

p2 p2 Arrange travel p3 t3 p4 insurance p3 t3 τ p4 (Employee)

p5 p5 Check & Update Request for Check & Update change t t Travel Form t τ Request for 7 4 5 Travel Form τ (Admin) (Employee) change t7 t4 t5 (Admin) (Employee) p6 p6 Submit Travel Form Submit t6 Travel Form for Approval t6 (Employee) for Approval (Employee) p7 p7 Approve Reject Travel Form t8 Travel Form t9 Approve Reject (Admin) (Admin) Travel Form t8 Travel Form t9 (Admin) (Admin)

p8 p8

PAGE 45 Transition Flow Place XOR-split Block t also? AND-split XOR-join 4 AND-join Token

p1 p1 Prepare Prepare Prepare Travel Form Travel Form t1 t2 Travel Form t2 (Secretary) (Employee) (Employee

p2 p2

Arrange travel p τ p p3 t3 p4 3 t3 4 insurance (Employee)

p5 p5

Request for Check & Update Request for change t7 t4 Travel Form t5 τ change t7 t5 τ (Admin) (Employee) (Admin)

p6 p6

Submit Submit t Travel Form Travel Form 6 for Approval t6 for Approval (Employee) (Employee)

p7 p7

Approve Reject Approve Reject Travel Form t8 Travel Form t9 Travel Form t8 Travel Form t9 (Admin) (Admin) (Admin) (Admin)

p8 p8

PAGE 46 Existing approaches

• Most approaches only consider the syntactical issues or simply create the configured model and analyze it (i.e., trail and error). • Naïve approach: enumerate all possibilities and check, or trail- and-error at configuration time. • Better approach based on partner synthesis: construct a configuration guideline at design time! W.M.P. van der Aalst, N. Lohmann, M. La Rosa, and J. Xu. Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis. In BPM 2010, volume 6336 of Lecture Notes PAGE 47 in , pages 95-111. Springer-Verlag, Berlin, 2010. Partner synthesis

p11

y t11 t12 x desirable

p14 p12 property = e.g. weakly

τ t13 t14 z partner?? terminating

p13 Given a service: Ω ={[p13]} • Is this a partner? • Is there a partner? • How to describe all partners?

PAGE 48 Partner synthesis

• Existing approaches can do the following: − Check whether there exists a partner. − Construct partners having desirable properties. − Characterize all such partners. cf. [Karsten Wolf. Does My Service Have Partners?. T. Petri Nets and Other Models of Concurrency 2: 152-171 (2009)] • These are implemented in Wendy. cf. [Niels Lohmann, Daniela Weinberg. Wendy: A Tool to Synthesize Partners for Services. Petri Nets 2010: 297-307.]

• How can this be used for ensuring the correctness of a configurable model and its

configurations? PAGE 49 Configurable interface (allow by default)

PAGE 50 Configuration guideline (allow by default)

CG

PAGE 51 Configuration guideline (allow by default)

CG

PAGE 52 Configuration guideline (allow by default)

CG

PAGE 53 Configuration guideline (allow by default)

CG

PAGE 54 Configuration guideline (allow by default)

CG

PAGE 55 Tool support

• YAWL editor − Creating C-YAWL models − Configuring C-YAWL models − Verification and auto-completion (using SAT solver and/or Wendy) • YAWL engine Configuration model (.cml) • YAWL services Quaestio

C-YAWL Editor

C-YAWL model (.yawl) Configured YAWL Engine C-YAWL (.yawl) spec. (.yawl)

Questionnaire Mapping Model (.qml) (.cmap) Process Process Mapper Configured Individualizer EPC Configurator C-EPC (.epml) (.epml) C-EPC model (.epml)

Questionnaire Designer

C-EPC Designer Process Merger cf. www.processconfiguration.com PAGE 56 C-YAWL

p1 Prepare Prepare Travel Form t1 t2 Travel Form (Secretary) (Employee)

p2

Arrange travel p3 t3 p4 insurance (Employee)

p5

Request for Check & Update change t7 t4 Travel Form t5 τ (Admin) (Employee)

p6

Submit Travel Form t6 for Approval (Employee)

p7

Approve Reject Travel Form t8 Travel Form t9 (Admin) (Admin)

p8 PAGE 57 C-YAWL

PAGE 58 Conclusion

• BPM in the cloud triggers the need for configurable process models. • Configuration is important, however, existing reference models are crap! • Challenges: − Design of configurable models (language+approach) − Analysis of configurable models, e.g., ensuring correctness − Discovering configurable models − Cross-organizational process mining

PAGE 59 More information

• www.processconfiguration.com (various references to configuration literature and a comprehensive toolset) • www.win.tue.nl/coselog (webpage of the CoSeLoG project) • www.processmining.org (webpage for process mining) • www.yawlfoundation.org (C-YAWL) • service-technology.org (analysis of services)

PAGE 60 References (Configurable Process Models) • M. Rosemann and W.M.P. van der Aalst. A Configurable Reference Modelling Language. Information Systems, 32(1):1-23, 2007. • F. Gottschalk, W.M.P. van der Aalst, and M.H. Jansen-Vullers. SAP WebFlow Made Configurable: Unifying Templates into a Configurable Model. In BPM 2007, volume 4714 of Lecture Notes in Computer Science, pages 262-270. Springer-Verlag, Berlin, 2007. • F. Gottschalk, W.M.P. van der Aalst, M.H Jansen-Vullers, and M. La Rosa. Configurable Workflow Models. International Journal of Cooperative Information Systems, 17(2):177-221, 2008. • M. La Rosa, W.M.P. van der Aalst, M. Dumas, and A.H.M. ter Hofstede. Questionnaire-based Variability Modeling for System Configuration. Software and Systems Modeling, 8(2):251-274, 2009. • F. Gottschalk, W.M.P. van der Aalst, and H.M. Jansen-Vullers. Configurable Process Models: A Foundational Approach. In F. Lehner, H. Nosekabel, and P. Kleinschmidt, editors, Proceedings of the Multikonferenz Wirtschaftsinformatik 2006 (MKWI '06). GITO-Verlag, Berlin, 2006. • … PAGE 61 References (Correctness Issues)

• W.M.P. van der Aalst, M. Dumas, F. Gottschalk, A.H.M. ter Hofstede, M. La Rosa, and J. Mendling. Correctness-Preserving Configuration of Business Process Models. In FASE 2008, volume 4961 of Lecture Notes in Computer Science, pages 46-61. Springer-Verlag, Berlin, 2008. • W.M.P. van der Aalst, M. Dumas, F. Gottschalk, A.H.M. ter Hofstede, M. La Rosa, and J. Mendling. Preserving Correctness During Business Process Model Configuration. Formal Aspects of Computing, 22(3):459-482, 2010. • W.M.P. van der Aalst, N. Lohmann, M. La Rosa, and J. Xu. Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis. In BPM 2010, volume 6336 of Lecture Notes in Computer Science, pages 95-111. Springer-Verlag, Berlin, 2010. • M.T. Wynn, H.M.W. Verbeek, W.M.P. van der Aalst, A.H.M. ter Hofstede, and D. Edmond. Business Process Verification: Finally a Reality! Business Process Management Journal, 15(1):74-92, 2009. • H.M.W. Verbeek, T. Basten, and W.M.P. van der Aalst. Diagnosing Workflow Processes using Woflan. The Computer Journal, 44(4):246- 279, 2001. PAGE 62 References (Process Mining)

• M.H. Jansen-Vullers, W.M.P. van der Aalst, and M. Rosemann. Mining Configurable Enterprise Information Systems. Data and Knowledge Engineering, 56(3):195-244, 2006. • F. Gottschalk, T. Wagemakers, M.H. Jansen-Vullers, W.M.P. van der Aalst, and M. La Rosa. Configurable Process Models: Experiences From a Municipality Case Study. In CAiSE'09, volume 5565 of Lecture Notes in Computer Science, pages 486-500. Springer-Verlag, Berlin, 2009. • W.M.P. van der Aalst, A.J.M.M. Weijters, and L. Maruster. Workflow Mining: Discovering Process Models from Event Logs. IEEE Transactions on Knowledge and Data Engineering, 16(9):1128-1142, 2004. • W.M.P. van der Aalst, H.A. Reijers, A.J.M.M. Weijters, B.F. van Dongen, A.K. Alves de Medeiros, M. Song, and H.M.W. Verbeek. Business Process Mining: An Industrial Application. Information Systems, 32(5):713-732, 2007. • … PAGE 63