configurable declare: designing customizable flexible models
DESCRIPTION
Presentation at the 20th International Conference on COOPERATIVE INFORMATION SYSTEMS (CoopIS 2012), 10-14 Sept 2012, Roma, Italy.TRANSCRIPT
![Page 1: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/1.jpg)
Configurable Declare: Designing Customizable Flexible Models
Dennis Schunselaar
Fabrizio Maggi
Natalia Sidorova
Wil van der Aalst
http://www.win.tue.nl/coselog/
![Page 2: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/2.jpg)
Procedural versus Declarative
PAGE 2
![Page 3: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/3.jpg)
Procedural versus Declarative
PAGE 3
![Page 4: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/4.jpg)
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
![Page 5: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/5.jpg)
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
![Page 6: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/6.jpg)
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
![Page 7: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/7.jpg)
Basic idea
A B
LTL semantics
![Page 8: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/8.jpg)
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
![Page 9: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/9.jpg)
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
![Page 10: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/10.jpg)
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
![Page 11: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/11.jpg)
Non-Configurable versus Configurable models
PAGE 11
![Page 12: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/12.jpg)
Two variants of the same process …
PAGE 12
![Page 13: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/13.jpg)
Configurable Process Model
PAGE 13
![Page 14: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/14.jpg)
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
![Page 15: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/15.jpg)
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
![Page 16: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/16.jpg)
Life is about making choices …
PAGE 16
![Page 17: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/17.jpg)
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
![Page 18: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/18.jpg)
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
![Page 19: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/19.jpg)
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)
![Page 20: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/20.jpg)
Configurable Declare
PAGE 20
"hideable" activity "omissible" constraint
meta constraints are not shown graphically
![Page 21: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/21.jpg)
Step 1: Hide subset of hideable activities
PAGE 21
note the implicitly derived constraints
![Page 22: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/22.jpg)
Step 2: select valid subset of constraints (remove some of the omissible constraints)
PAGE 22
![Page 23: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/23.jpg)
Implicit Constraints Made Explicit When Hiding
PAGE 23
![Page 24: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/24.jpg)
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
![Page 25: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/25.jpg)
Example from CoSeLoG project
PAGE 25
![Page 26: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/26.jpg)
Municipality A
PAGE 26
![Page 27: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/27.jpg)
Municipality B
PAGE 27
![Page 28: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/28.jpg)
Municipality C
PAGE 28
![Page 29: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/29.jpg)
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
![Page 30: Configurable Declare: Designing Customizable Flexible Models](https://reader033.vdocuments.mx/reader033/viewer/2022060108/554d2c51b4c905ab268b503a/html5/thumbnails/30.jpg)
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