Configurable Declare: Designing Customizable Flexible Models
-
Upload
wil-van-der-aalst -
Category
Economy & Finance
-
view
541 -
download
0
description
Transcript of Configurable Declare: Designing Customizable Flexible Models
Configurable Declare: Designing Customizable Flexible Models
Dennis Schunselaar
Fabrizio Maggi
Natalia Sidorova
Wil van der Aalst
http://www.win.tue.nl/coselog/
Procedural versus Declarative
PAGE 2
Procedural versus Declarative
PAGE 3
Procedural Process Models
• Mainstream notations: BPMN, EPCs, ULM Ads, etc.• Nothing is possible unless explicitly triggered.• Removing model elements yields "less" behavior.• Procedural models become complex when there are
many alternative paths (flexibility implies complexity).
PAGE 4
register request
add extra insurance
check drivers licence
initiate check-in
start
selectcar
charge credit card
initiate check-in
end
register request
add extra insurance
check drivers licence
start
charge credit card
initiate check-in
end
Remark on Petri Nets
• Petri nets are typically classified as procedural, but adding a place can only remove behavior.
PAGE 5
book car
c
add extra insurance
d change booking
e
confirm initiate check-in
j
check driver’s license
k
charge credit card
i
select car
g
supply car
a
b
skip extrainsurance
f
h
add extra insurance
skip extra insurance
l
book car
c
add extra insurance
d change booking
e
confirm initiate check-in
j
check driver’s license
k
charge credit card
i
select car
g
supply car
in
a
b
skip extrainsurance
f
h
add extra insurance
skip extra insurance
l
c5
c6
c7
c9
c10
c11
book car
c
add extra insurance
d change booking
e
confirm initiate check-in
j
check driver’s license
k
charge credit card
i
select car
g
supply car
in
a
b
skip extrainsurance
f
h
add extra insurance
skip extra insurance
l
out
c1 c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
The Declare language
PAGE 6
b
c
a e
non co-existence: activities b and c cannot happen both
response: every occurrence of c should be eventually followed by h
g
h
precedence: every occurrence of c needs to be preceded by a
response
non co-existence
precedence
book car
add extra insurance early
confirm
skip extraInsurance early
add extra insurance late
skip extra insurance late
Basic idea
A B
LTL semantics
Example: "existence response"
• OK:• [ ]• [A,B,C,D,E]• [A,A,A,C,D,E,B,B,B]• [B,B,A,A,C,D,E]• [B,C,D,E]
• NOK• [A]• [A,A,C,D,E]
A B
Example: "response"
• OK:• [ ]• [A,B,C,D,E]• [A,A,A,B,C,D,E]• [B,B,A,A,B,C,D,E]• [B,C,D,E]
• NOK• [A]• [B,B,B,B,A,A]
A B
Example: "precedence"
• OK:• [ ]• [A,B,C,D,E]• [A,A,A,C,D,E,B,B,B]• [A,A,C,D,E]
• NOK• [B]• [B,A,C,D,E]
A B
Non-Configurable versus Configurable models
PAGE 11
Two variants of the same process …
PAGE 12
Configurable Process Model
PAGE 13
Variants of the same process
PAGE 14
aa bb
dd
ee
gg hh
cc
ff
aa bb
dd
gg hh
ff
aa
dd
ee
gg hh
cc
ff
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 16
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
V
V
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 b
cd e
f g
h i
j
k mn
o p
l
a b
ce
g
i
mn
o p
l
C-LTS
LTS
PAGE 17
a
c
e
i
g
i
Configuration Techniques
b
p
d
f
h
l
m
n
j
k
l
blockblock
o
• Blocking(removing an option)
• Hiding(skipping activities)
a b
c
d e
f g
h i
j
k m
n
o p
l
τ
hidehide
hideBlocking 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 18
Configurable Declare models
PAGE 19
procedural declarative
non-
confi
gurable
confi
gurable
• Subset of activities is "hideable".
• Subset of constraints is "omissible".
• There may be dependencies between the different configuration decisions (meta-constraints)
Configurable Declare
PAGE 20
"hideable" activity "omissible" constraint
meta constraints are not shown graphically
Step 1: Hide subset of hideable activities
PAGE 21
note the implicitly derived constraints
Step 2: select valid subset of constraints (remove some of the omissible constraints)
PAGE 22
Implicit Constraints Made Explicit When Hiding
PAGE 23
Details (see paper)
• Not always possible to have language equivalence: use the closest constraint stronger/weaker than the implicit inexpressible constraint.
• Implicit constraints that are made explicit because of hiding may be omissible.
• Hiding is done iteratively.• Meta constraints need to be updated when hiding
activities, in fact completely new meta constraints may be introduced.
PAGE 24
Example from CoSeLoG project
PAGE 25
Municipality A
PAGE 26
Municipality B
PAGE 27
Municipality C
PAGE 28
Conclusion
PAGE 29
procedural declarative
non-
confi
gurable
confi
gurable
• Configurable Declare shows that a declarative language can indeed be made configurable.
• More case studies are needed.
• Problems: − few existing
declarative process models
− adoption is difficult
procedural declarative
non-
confi
gurable
confi
gurable
Advertisement: Tools supporting Declare and/or Process Configuration
PAGE 30
http://www.win.tue.nl/declare/http://www.processmining.org
discovering
Declare
models
conformance
checking
using Declare
models
enacting
Declare
models configuratio
n
support