keynote at 18th international conference on cooperative information systems (coopis 2010), crete,...
Embed Size (px)
DESCRIPTION
The Software as a Service (SaaS) paradigm is particularly interesting for situations where many organizations need to support similar processes. For example, municipalities, courts, rental agencies, etc. support highly similar processes. However, despite these similarities, there is also the need to allow for local variations in a controlled manner. Therefore, cloud infrastructures should provide configurable services such that products and processes can be customized while sharing commonalities. Configurable and executable process models are essential to realize such infrastructures. This will finally transform reference models from "paper tigers" (reference modeling a la SAP, ARIS, etc.) into an "executable reality". Moreover, "configurable services in the cloud" enable cross-organizational process mining. This way, organizations can learn from each other and improve their processes.TRANSCRIPT

Configurable Services in the Cloud
Supporting variability while enabling cross-organizational process mining
Wil van der Aalst

Acknowledgements
• Marcello La Rosa• Florian Gottschalk• CoSeLoG: Joos Buijs, Jan Vogelaar, Boudewijn van
Dongen, Eric Verbeek, Hajo Reijers.• Marlon Dumas, Arthur ter Hofstede, 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
PAGE 2+/- 430 Dutch municipalities

The need for configurable process models: Suncorp case
PAGE 3
End to end process has between 250-1000 process steps
Sources: Guidewire reference models, GIO CISSS Project, CI US&S P4PI Project
Product Dev
• 25+ steps
Sales
• 50+ steps
Service
• 75+ steps
Claims
• 100+ steps
30variations
500steps
Home
Motor
Commercial
Liability
CTP / WC

Two variants of the same process …
PAGE 4

Variation points
PAGE 5
… in the cloud

Cloud computing
PAGE 6

Traditional Situation
PAGE 7
Processes Organization 1
M1E1
IS1
Processes Organization 2
M2E2
IS2
Processes Organization n
MnEn
ISn
...
IS = Information SystemE = Event logM = Models

ExampleAcknowledgement of an Unborn Child
• Same but different …• “Couleur Locale”• Different from NVVB
models.• Configurable process
models!
PAGE 8

Using SaaS Technology
PAGE 9
Processes Municipality 1
C1
EIS-SaaS
Processes Municipality 2
C2 Processes Municipality n
Cn
...
CM
IS-SaaS = Information System (using a SaaS-based BPMS)E = Event logCM = Configurable ModelsC = Configuration

Process Mining: Before
PAGE 10
Processes Municipality 1
M1E1
IS1
Processes Municipality 2
M2E2
IS2
Processes Municipality n
MnEn
ISn
...

Process Mining: After
PAGE 11cross-organizational process mining

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
Positioning of Configuration

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 Netherlands, …• In Brisbane, …• When the sun shines, …• On Sunday, …• When very busy, …• For these customers, …• …
Branching structurePAGE 16

Hiding and blocking
PAGE 17
Action
Blocking
Activating
HidingBlocking
Activate
Hide/skip
Block
Configuration = limiting behavior !

Configurable Process Models
Purchase order created
Service is accepted
Goods receipt posted
Invoice received
V
V
Process Invoice
XOR
Goods receipts
to be settled automatically
Evaluated Receipt
Settlement (ERS)
Invoicetransmitted for vendor’s
records
Material is released
Invoice postedand blocked for release
Invoicing plans require
settlement
Invoicing Plan Settlement
V
Release Invoice
manually
Payment mustbe effectes
V
GUIDELINEERS = ON, if - long term
contract- goods and
conditions are specified
REQUIRED:IPS = ON
⇒ ERS = ON
Consignment/pipeline
liability is created
Consignment/pipeline
liabilities are to be settled
Consignment/ Pipeline
Settlement
V
XOR
V
Consignment/pipeline
settlement document
transmitted
XOR
XOR
Invoice postedand not
blocked for release
Release Invoice
automatically
Purchase order created
Service is accepted
Goods receipt posted
Invoice received
VV
Process Invoice
Material is released
Invoice postedand blocked for release
Release Invoice
manually
Payment mustbe effectes
V
XOR
XOR
Invoice postedand not
blocked for release
Release Invoice
automatically
Blocking HidingConfiguration
C-EPC
C-Petri Net
C-YAWL
C-BPEL
EPC
Petri Net
YAWL
BPEL
a bc
d ef g
h i
jk m
no p
l
a bc
egi
mn
o p
l
C-LTS
LTS
PAGE 18

Variant BSuperclassSuperclass Reference ModelVariant A
a
c
d e
f g
h i
o
a b
c
e
g
i
j
k m
n
o p
l
a b
c
d e
f g
h i
j
k m
n
o p
l
a
c
d e
f g
h i
o
a b
c
d e
f g
h i
j
k m
n
o p
l
a b
c
e
g
i
j
k m
n
o p
l
a b
c
e
g
i
j
k m
n
o p
l
a
c
d e
f g
h i
o
Inheritance Inheritance
Subclass
Configuration Configuration
Inheritance of dynamic behavior
PAGE 19

a
c
e
i
g
i
Configuration Techniques
b
p
d
f
h
l
m
n
j
k
l
o
• Blocking(removing an option)
• Hiding(skipping activities)
a b
c
d e
f g
h i
j
k m
n
o p
l
τ
ττ
Blocking and hiding are the essential concepts of configuration.
“Every block of stone has a statue inside it and it is the task of the sculptor to discover it.”
PAGE 20

PAGE 21
Cross-organizationalmining

PAGE 22Data Mining
Smoker
Drinker
Weight
Short(91/10)
YesNo
Long(30/1)
NoYes
Long(150/20)
Short(321/25)
<81.5 ≥81.5
Process Mining =
Process Analysis
start register initial conditions
check_Aneeded?
check_A
modify conditions
check_Bneeded?
check_B
check_Cneeded?
check_C
assesrisk
declinec1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
c13
makeoffer
handleresponse
handlepayment
send insurance
documents
timeout1 timeout2 withdraw offer
c14 c15 c16
c17
(RM,RD)(RM,RD)(E,SD) (E,RD)
(SM,SD) (E,SD)(E,FD)
(E,SD)
(E,SD)
(YE,RD)
(YE,RD)
(FE,FD)
(RM,RD)
+

PAGE 23
Process mining: Linking events to models
software system
(process)model
eventlogs
modelsanalyzes
discovery
records events, e.g., messages,
transactions, etc.
specifies configures implements
analyzes
supports/controls
extension
conformance
“world”
people machines
organizationscomponents
business processes

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
PAGE 29more detailed more abstract

Fuzzy Replay
PAGE 30

Conformance checking using Replay
PAGE 31
= should not have happened but did
= should have happened but did not

Performance analysis using Replay
PAGE 32

Prediction based on Replay
PAGE 33
“Your application is expected to be finalized in 65 days”

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 workflows• All car-rental offices of Hertz, Avis, …• …
PAGE 34

Consider n organizations
PAGE 35
process 1 eventlog 1
processmodel 1
process 2 eventlog 2
processmodel 2
process n eventlog n
processmodel n
... ... ...

Cross-organizational process mining
PAGE 36
process 1 eventlog 1
processmodel 1
process 2 eventlog 2
processmodel 2
process n eventlog n
processmodel n
... ... ...
(configurable)process model
event log
C
C
C

Pure model-based
PAGE 37
process 1 eventlog 1
processmodel 1
process 2 eventlog 2
processmodel 2
process n eventlog n
processmodel n
... ... ...
(configurable)process model
C
C
C
PM1 + PM2 + … + PMn = CM

Pure log-based
PAGE 38
process 1 eventlog 1
processmodel 1
process 2 eventlog 2
processmodel 2
process n eventlog n
processmodel n
... ... ...
(configurable)process model
event log
C
C
C
α(EL1 + EL2 + … + ELn) = CM

Questions
PAGE 39
process 1 eventlog 1
processmodel 1
process 2 eventlog 2
processmodel 2
process n eventlog n
processmodel n
... ... ...
(configurable)process model
event log
C
C
C
How to merge process models into a single configurable model?
How to discover a configurable model from a collection of event logs?
How to derive the configuration for a process given a configurable model?
How to find and characterize differences among processes using event logs?
How to find and characterize differences using models / configurations?
What are the effects of these differences on the performance of a process?

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

Remember …
PAGE 42
Action
Blocking
Activating
HidingBlocking
Activate
Hide/skip
Block
Configuration = limiting behavior !

Correctness of configurations
• 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
Configurable Model + Configuration = Configured model
+ =

Can t3 be blocked?
PAGE 44
pI
p5
t7
p6
t8
pO
t2
p3
t1
p2
t4t5
p4
t6
p7
pI
p5
t7
p6
t8
pO
t2
p3
t1
p2
t4t5
p4
t6t3
p7
XOR-join
XOR-split
AND-join
AND-split
Flow
Place
Transition
Token

Block t1 and hide t3 ?
PAGE 45
p2
p3
p5
p8
t3
t1 t2
t4
t6
Prepare Travel Form(Secretary)
Prepare Travel Form(Employee)
ApproveTravel Form
(Admin)
RejectTravel Form
(Admin)
Submit Travel Form for Approval (Employee)
Request for change(Admin)
t7Check & Update Travel Form(Employee)
Arrange travel insurance (Employee)
p4
t5 τ
p6
p7
t9t8
p1
XOR-join
XOR-split
AND-join
AND-split
Flow
Place
Transition
Token
p2
p3
p5
p8
t3
t2
t4
t6
ApproveTravel Form
(Admin)
RejectTravel Form
(Admin)
Submit Travel Form for Approval (Employee)
Request for change(Admin)
t7Check & Update Travel Form(Employee)
p4
t5 τ
p6
p7
t9t8
τ
p1Prepare Travel Form(Employee

Block t4 also?
PAGE 46
p2
p3
p5
p8
t3
t1 t2
t4
t6
Prepare Travel Form(Secretary)
Prepare Travel Form(Employee)
ApproveTravel Form
(Admin)
RejectTravel Form
(Admin)
Submit Travel Form for Approval (Employee)
Request for change(Admin)
t7Check & Update Travel Form(Employee)
Arrange travel insurance (Employee)
p4
t5 τ
p6
p7
t9t8
p1
XOR-join
XOR-split
AND-join
AND-split
Flow
Place
Transition
Token
p2
p3
p5
p8
t3
t2
t6
Prepare Travel Form(Employee
ApproveTravel Form
(Admin)
RejectTravel Form
(Admin)
Submit Travel Form for Approval (Employee)
Request for change(Admin)
t7
p4
t5 τ
p6
p7
t9t8
τ
p1

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!
PAGE 47
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.

Partner synthesis
PAGE 48
t11 t12 xy
τ t14t13 z
p11
p12
p13
Ω ={[p13]}
p14 =desirable propertye.g. weakly terminatingpartner??
Given a service:• Is this a partner?• Is there a partner?• How to describe all partners?

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)
PAGE 51
CG

Configuration guideline (allow by default)
PAGE 52
CG

Configuration guideline (allow by default)
PAGE 53
CG

PAGE 54
Configuration guideline (allow by default)
CG

Configuration guideline (allow by default)
PAGE 55
CG

Tool support
• YAWL editor− Creating C-YAWL models− Configuring C-YAWL models− Verification and auto-completion (using SAT solver
and/or Wendy)• YAWL engine• YAWL services
PAGE 56
Mapping(.cmap)
C-EPC model(.epml)
ConfiguredC-EPC (.epml)
EPC(.epml)
Questionnaire Model (.qml)
ConfiguredC-YAWL (.yawl)
YAWL Engine spec. (.yawl)
C-YAWL model(.yawl)
Quaestio
Mapper ProcessConfigurator
ProcessIndividualizer
Configurationmodel (.cml)
QuestionnaireDesigner
C-YAWL Editor
C-EPC Designer Process Merger
cf. www.processconfiguration.com

p2
p3
p5
p8
t3
t1 t2
t4
t6
Prepare Travel Form(Secretary)
Prepare Travel Form(Employee)
ApproveTravel Form
(Admin)
RejectTravel Form
(Admin)
Submit Travel Form for Approval (Employee)
Request for change(Admin)
t7Check & Update Travel Form(Employee)
Arrange travel insurance (Employee)
p4
t5 τ
p6
p7
t9t8
p1
C-YAWL
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 Workflow 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