SlideShare a Scribd company logo
Declarative
Specification of
Processes: Discovery
and Reasoning
Claudio Di Ciccio
Claudio Di Ciccio /klˈaːudio di ˈt͡ ʃiːtt͡ ʃo/
Assistant professor
Ph.D. in Computer Science and Engineering
Main research interests:
process mining,
declarative processes,
cryptoeconomics,
service-oriented architectures
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
2
My experience so far
Latina, Italy (B.Sc) Rome, Italy (M.Sc, Ph.D) Vienna, Austria (Post-doc)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
3
Declarative
Specification of
Business Processes
Preliminaries
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
4
Half empty or half full?
http://aeon.co/ideas/which-is-more-fundamental-processes-or-things
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
5
Processes are into dynamics
Thanks Dr. Mieke Jans for offering her hand
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
6
Processes and division of labour
To take an example, the trade of a pin-maker: But in the way in which this business is now carried on, it is
divided into a number of branches:
• One man draws out the wire;
• another straights it;
• a third cuts it;
• a fourth points it;
• a fifth grinds it at the top for receiving the head;
• to make the head requires three operations;
 to put it on is a peculiar business;
 to whiten the pins is another;
 to put them into the paper; …
[…] making a pin is, in this manner, divided into about 18 distinct operations.
[1] Smith 1776 [2] Dumas, La Rosa, Mendling, Reijers 2018
Draw out
wire
Straight wire Cut wire Grind wire
Put head on
pin
Put pin
in paper
Whiten pin
Point wire
Make head
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
7
Division of labour
Icons © freepik.com
Draw out
wire
Straight wire Cut wire Grind wire
Put head on
pin
Put pin
in paper
Whiten pin
Point wire
Make head
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
8
Pretty inhumane
Chaplin 1936
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
9
Division of labour
Draw out
wire
Straight wire Cut wire Grind wire
Put head on
pin
Put pin
in paper
Whiten pin
Point wire
Make head
Icons © freepik.com
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
10
Different perspectives
Factorial
Procedural / imperative
C
long factorial(int n) {
int c;
long result = 1;
for (c = 1; c <= n; c++) {
result = result * c;
}
return result;
}
Functional / declarative
LISP
(defun factorial (n)
(if (= n 0)
1
(* n (factorial (- n 1))) ) )
Local perspective Global perspective
! 𝑛 =
1 if 𝑛 = 0
𝑛 × 𝑛 − 1 if 𝑛 > 0
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
11
Declarative process specification
• “Open model”
• Specify constraints for permitted
behaviour
• Every execution that complies with
them is acceptable
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
12
Everyday examples of declarative specifications
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
13
The Declarative Approach
“When you have eliminated all that is impossible,
whatever remains must be the truth,
no matter how improbable.”
[Sherlock Holmes]
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
14
A fragment of declarative process
in DECLARE
Van der Aalst and Pesic 2006
Submit abstract Write new paper
Submit paper
Send confirmation
email
Submit paper Review paper
Review paper Accept paper
Reject paper Submit paper
Accept paper Reject paper
= activation task
Responded existence(Submit abstract, Write new paper)
Response(Submit paper, Send confirmation email)
Succession(Submit paper, Review paper)
Precedence(Review paper, Accept paper)
Not succession(Reject paper, Submit paper)
Not co-existence(Accept paper, Reject paper)
Template Tasks
• If an abstract is submitted, a new paper had been
written or will be written
• After the paper submission, a confirmation email is
sent
• After the paper submission, the paper will be
reviewed;
there can be no review without a preceding
submission
• A paper can be accepted only after it has been
reviewed
• After the rejection, no further submission follows
• Paper cannot be both accepted and rejected
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
15
A fragment of declarative process map
in DECLARE
Submit abstract
Write new paper Submit paper
Send confirmation
email
Review paper Accept paper
Reject paper
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
16
DECLARE templates:
Existence constraints
Init(a)
Every process instance starts with activity a
 bcaad  adcac  dabce  aeb  aabde
End(a)
Every process instance ends with activity a
 abcde  cedea  aacbaa  ababac  aabde
Participation(a)
Activity a occurs at least once
 bbcd  bedcca  bcaeda  dbdeb  aabde
AtMostOne(a)
Activity a occurs at most once
 baea  beed  acccd  edbcd  aabde
a
Init
a
End
a
1..*
a
0..1
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
17
DECLARE templates:
Relation constraints I
RespondedExistence(a, b)
If a occurs, b has to occur at some point, no matter when
 bcdd  bdca  addcd  adaab  bdaacb
Response(a, b)
If a occurs, b has to occur after a
 bdaac  adbbc  cddce  aadccba  bdaacb
AlternateResponse(a, b)
If a occurs, b has to occur after a, with no a in-between
 aabbd  aedbab  beedcd  abababa  bdaacb
ChainResponse(a, b)
b has to occur immediately after a
 cbaab  dabbab  aba  bdbababb  bdaacb
Activation Target
ba
ba
ba
ba
strictness
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
18
DECLARE templates:
Relation constraints II
RespondedExistence(b, a)
If b occurs, a has to occur at some point, no matter when
 acdd  bdca  bddcd  adabb  acbeead
Precedence(a, b)
If b occurs, then a has to occur before b
 cbdac  adbbc  cddcea  aadccba  acbeead
AlternatePrecedence(a, b)
Each time b occurs, it is preceded by a, with no b in-between
 aabd  adbbab  beead  abababa  acbeead
ChainPrecedence(a, b)
If b occurs, then a has to occur immediately beforehand
 ccbab  abbab  aba  abaab  acbeead
ba
ba
ba
ba
ActivationTarget
strictness
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
19
DECLARE templates:
Mutual relation constraints
CoExistence(a, b)
RespondedExistence(a, b) and RespondedExistence(b, a) hold
 bcdd  cddc  addcd  adaab  dbdaacb
Succession(a, b)
Response(a, b) and Precedence(b, a) hold
 bdaac  adbbc  cddce  aadccba  dbdaacb
AlternateSuccession(a, b)
AlternateResponse(a, b) and AlternatePrecedence(b, a) hold
 aabbd  addbab  beedcd  ababab  dbdaacb
ChainSuccession(a, b)
ChainResponse(a, b) and ChainPrecedence(b, a) hold
 ccbab  dabbab  dabab  babab  dbdaacb
ba
ba
ba
ba
ActivationTarget
Activation Target
strictness
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
20
DECLARE templates:
Negative relation constraints
NotCoExistence(a, b)
a and b cannot co-occur
 bdaac  adeec  cddce  cbdcb  aadccba
NotSuccession(a, b)
b cannot occur after a and a cannot occur before b
 aabad  adccda  bcdaed  dbabc  aadccba
NotChainSuccession(a, b)
b cannot occur immediately after a
 cbbab  adadbb  aba  aaadbbb  aadccba
ba
ba
ba
strictness
ActivationTarget
Activation Target
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
21
Constraints subsumption (strictness) hierarchy
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
22
Warning
The following slides contain sentences with symbols from Greek, math,
and other alphabets out of the sick fantasy of the inventors, which could
hurt, disturb, or offend the sensitivity of the audience.
We apologise in advance for the inconvenience.
F


27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
23
Semantics of DECLARE: LTL and LTLf
• Linear Temporal Logic (LTL) initially was a specification language for the
execution of (endless) concurrent programs (Pnueli, 1977)
 Syntax (let A be a propositional symbol):
 Interpretation over infinite traces,
i.e., an infinite sequence of consecutive instants of time
• LTLf formulae are meant to be interpreted over finite traces
“Until”
“Eventually”“Always”
“Next”
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
24
About the expressive power
[1] Fitch, Friederici 2012 [2] Dwyer et al. 1999
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
25
Linear Temporal Logics over Finite Traces
LTL𝑓
RespondedExistence(a,b) Response(a,c)
Eventually Globally
Templates
Constraints
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
26
Linear Temporal Logics over Finite Traces
LTL𝑓 and Regular Expressions
RespondedExistence(a,b) Response(a,c)
[1] Diekert, Gastin 2008 [2] De Giacomo et al. 2014
Eventually Globally
Templates
Constraints
[^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]*
𝐿𝑇𝐿 𝑓 ≡ 3𝐹𝑂𝐿 𝑓 ⊂ 𝑅𝐸 ≡ 𝑀𝑆𝑂𝐿 𝑓 ⊆ 𝑆𝑂𝐿 𝑓
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
27
Every DECLARE constraint
can be abstracted as a Finite State Automaton
RespondedExistence(a,b) Response(a,c)
Accepting state
Any task but ‘a’
or ‘b’
Any task but ‘a’
Alphabet
State
FSA: (Deterministic) Finite State Automaton
Task ‘a’
Init
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
28
A DECLARE constraint
can be abstracted as an FSA
RespondedExistence(a,b) Response(a,c)&
×
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
29
Every DECLARE constraint
can be abstracted as an FSA
RespondedExistence(a,b) Response(a,c)&
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
30
A fragment of declarative process specification
in DECLARE
RespondedExistence(Submit abstract, Write new paper)
Response(Submit paper, Send confirmation email)
Succession(Submit paper, Review paper)
Precedence(Review paper, Accept paper)
NotSuccession(Reject paper, Submit paper)
NotCoExistence(Accept paper, Reject paper)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
31
A fragment of declarative process specification
in DECLARE
Submit abstract
Write new paper Submit paper
Send confirmation
email
Review paper Accept paper
Reject paper
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
32
Under the carpet
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
33
Under the carpet
RespondedExistence
(Submit abstract, Write new paper)
Response
(Submit paper, Send confirmation email)
Succession
(Submit paper, Review paper)
Precedence
(Review paper, Accept paper)
NotSuccession
(Reject paper, Submit paper)
NotCoExistence
(Accept paper, Reject paper)
⊨
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
34
Under the carpet
RespondedExistence
(Submit abstract, Write new paper)
Response
(Submit paper, Send confirmation email)
Succession
(Submit paper, Review paper)
Precedence
(Review paper, Accept paper)
NotSuccession
(Reject paper, Submit paper)
NotCoExistence
(Accept paper, Reject paper)
⊨
Process model Process specification
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
35
Under the carpet
RespondedExistence
(Submit abstract, Write new paper)
Response
(Submit paper, Send confirmation email)
Succession
(Submit paper, Review paper)
Precedence
(Review paper, Accept paper)
NotSuccession
(Reject paper, Submit paper)
NotCoExistence
(Accept paper, Reject paper)
⊨
Process model Process specification
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
36
The message
Declarative specifications as a means to specify norms & rules
Imperative models as a means to organize operations
in compliance with them
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
37
Discovery of
Declarative Process
Specifications
Extracting temporal rules from data
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
38
Control-flow discovery
Objective:
Extracting the constraints that best
define the allowed behaviour of the
process behind the event log
Event log
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
39
Knowledge-intensive Processes
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
40
Mining flexible processes
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
41
Mining declarative process specifications:
ingredients
“Submit draft”,
“Write deliverable”,
“Organise agenda”,
…
a,
b,
c,
…
Activities Process alphabet
Event log Declarative constraint templates
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
42
Mining declarative process specifications
RespondedExistence(a,b) ?
• Support:
fraction of cases fulfilling the constraint
• Confidence:
support scaled by fraction of traces in which the
activation occurs
• Interest factor:
confidence scaled by fraction of traces in which the
target occurs
Support Conf. I.F.
RespondedExistence(a,c) ?
…
Response(a,b) ?
…
Response(a,c) ?
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
43
Mining declarative process specifications
Support Conf. I.F.
RespondedExistence(a,b) ?
RespondedExistence(a,c) ?
…
Response(a,b) ?
Response(a,c) ?
…
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
44
Mining declarative process specifications
Support Conf. I.F.
RespondedExistence(a,b) ?
RespondedExistence(a,c) ?
…
Response(a,b) ?
Response(a,c) ?
…
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
45
Mining declarative process specifications
Support Conf. I.F.
RespondedExistence(a,b) ?
RespondedExistence(a,c) ?
…
Response(a,b) ?
Response(a,c) ?
…
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
46
Mining declarative process specifications
Support Conf. I.F.
RespondedExistence(a,b) ?
RespondedExistence(a,c) ?
…
Response(a,b) 
Response(a,c) ?
…
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
47
Mining declarative process specifications
Support Conf. I.F.
RespondedExistence(a,b) 
RespondedExistence(a,c) 
…
Response(a,b) 
Response(a,c) 
…
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
48
Is it really that easy?
This is a rhetoric question, you know.
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
49
Reasoning on
Declarative Process
Specifications
Dealing with temporal rules discovered from data
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
50
While mining a real-life event log…
Support threshold: 0.85
Confidence threshold: 0.25
Interest factor threshold: 0.25
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
51
Objective
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
52
While mining a real-life event log…
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
53
Challenging the cross product
×
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
54
Time to challenge the X
Loading…
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
55
The result
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
56
The problems
1) inconsistency
• When support threshold is lower than 100%,
constraints can be valid through most of the log, though being in conflict
• Example: an event log consists of two traces defined over three tasks (a, b, c):
1.<a, b, a, b, a, b, c>
2.<a, b, a, b, a, c>
• Support threshold: 0.7
• a is always the first
 Init(a)
• c is always the last
 End(c)
• In 6 cases over 8 (75%), a and c do not directly follow each other
 NotChainSuccession(a,c)
• In 5 cases over 7 (71.143%), b and c do not directly follow each other
 NotChainSuccession(b,c)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
57
The problems
1) inconsistency
• When support threshold is lower than 100%,
constraints can be valid through most of the log, though being in conflict
• Example: an event log consists of two traces defined over three tasks (a, b, c):
1.<a, b, a, b, a, b, c>
2.<a, b, a, b, a, c>
• Support threshold: 0.7
• a is always the first
 Init(a)
• c is always the last
 End(c)
• In 6 cases over 8 (75%), a and c do not directly follow each other
 NotChainSuccession(a,c)
• In 5 cases over 7 (71.143%), a and b do not directly follow each other
 NotChainSuccession(b,c)
• Question: what can be done right before c?
 inconsistency!
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
58
The problems
1) inconsistency
• Support threshold ≤ 100%  constraints valid through most of the log
though (possibly) in conflict
• How to trust a discovery algorithm that can return inconsistent models?
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
59
The problems
2) redundancy
• Many constraints may be fulfilled 100% of times yet not add a bit of information to other
already discovered ones
• Example: an event log consists of two traces:
1.<a, b, a, b, a, b, c>
2.<a, b, a, b, a, c>
• a is always the first
 Init(a)
• c is always the last
 End(c)
• Before c, a precedes
 Precedence(a,c)
• Before b, a precedes
 Precedence(a,b)
• After a, c eventually follows
 Response(a,c)
• After b, c eventually follows
 Response(b,c)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
60
The problems
2) redundancy
• Many constraints may be fulfilled 100% of times yet not add a bit of information to other
already discovered ones
• Example: an event log consists of two traces:
1.<a, b, a, b, a, b, c>
2.<a, b, a, b, a, c>
• a is always the first
 Init(a)
• c is always the last
 End(c)
• Before c, a precedes
 Precedence(a,c)
• Before b, a precedes
 Precedence(a,b)
• After a, c eventually follows
 Response(a,c)
• After b, c eventually follows
 Response(b,c)
Of course! a is always the first
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
61
The problems
2) redundancy
• Many constraints may be fulfilled 100% of times yet not add a bit of information to other
already discovered ones
• Example: an event log consists of two traces:
1.<a, b, a, b, a, b, c>
2.<a, b, a, b, a, c>
• a is always the first
 Init(a)
• c is always the last
 End(c)
• Before c, a precedes
 Precedence(a,c)
• Before b, a precedes
 Precedence(a,b)
• After a, c eventually follows
 Response(a,c)
• After b, c eventually follows
 Response(b,c)
Of course! a is always the first
Of course! c is always the last
• Question: can't we avoid stating the obvious?
 redundancy!
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
62
The problems
2) redundancy
• Many constraints may be fulfilled 100% of times
yet not add a bit of information to other already discovered ones
• How to reduce the number of unnecessary returned constraints?
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
63
The solution
Automata-product monoid
Algebraic structure with composition
operator (×) holding the properties of
• commutativity
• associativity
and bearing
• identity element
• and absorbing element
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
64
The solution
Automata-product monoid
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
65
Rules of the game
• Intersect the product automaton with
the newly visited constraints, one at a
time

Init(a) Participation(b)
=
Product automaton
Init(a)
Participation(b)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
66
Rules of the game
• Intersect the product automaton with
the newly visited constraints, one at a
time
ChainPrecedence(a,b)
ChainPrecedence(a,b)
Product automaton
Init(a)
Participation(b)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
67
Exploiting formal properties
• We take advantage of
1. associativity
 allows for "storage" of results
Product automaton

ChainPrecedence(a,b)
Old product automaton
=
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
68
Exploiting formal properties
• We take advantage of
1. associativity
 allows for "storage" of results
2. commutativity
 allows for priority sorting of constraints
Product automaton
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
69
Exploiting formal properties
• We take advantage of
1. associativity
 allows for "storage" of results
2. commutativity
 allows for priority sorting of constraints
Product automaton
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
70
Playing the game
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
Product automaton
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
71
Playing the game
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
Product automaton
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
72
Playing the game
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
Product automaton
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
73
Inconsistency!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Conflict:
Product automaton
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
74
Inconsistency!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Conflict:
 The product automaton becomes
(accepts only the empty language)
Response(a,b)
Response(b,a)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
75
Inconsistency!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Conflict:
 The product automaton becomes
(accepts only the empty language)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
76
Inconsistency!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Conflict:
 Remove the constraint, in case
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
77
Redundancy!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Redundancy:
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
78
Redundancy!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Redundancy:
 The new product automaton accepts the
same strings as before
(language inclusion)
Response(a,c)
End(c)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
79
Redundancy!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Redundancy:
 The new product automaton accepts the
same strings as before
(language inclusion)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
80
Redundancy!
• Newly visited constraints add
information to the knowledge on the
process model if they reduce the
number of possible traces (accepted
strings)
• Redundancy:
 Remove the constraint, in case
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
81
Objectives
• Remove inconsistencies
 Through empty language detection
• Minimise redundancies
 Through language inclusion detection
• Analyse each constraint once
 Use sorting for priorities
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
82
Recap
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
83
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
84
Which were the conflicting constraints in the log?
1. NotSuccession(send meeting, organize agenda)
2. NotChainSuccession(send draft, send deliverable)
3. Succession(send draft, submit report)
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
85
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
86
Redundancy reduction and performance
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
87
MINERful
https://github.com/cdc08x/MINERful
Command-line tool (stand-alone) As a Java library (here, in ProM)
ProM screenshot courtesy of Mitchel Schouten
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
88
Current and Future
Work on Declarative
Business Processes
One-slide pitches on ongoing projects + research outlook
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
89
Reactive constraints
and the Janus approach
“Send notification email” triggers that ( )
sometime before “submit paper” must occur and
sometime after “review paper” must occur
Slide courtesy of Alessio Cecconi. Cecconi et al. 2018
Activation event
e
Automaton of
𝐿𝑇𝐿𝑝 𝑓 past formula
Automaton of
𝐿𝑇𝐿𝑝 𝑓 future formula
!s
s
!r
r
e s r
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
90
Finding the needle in the haystack
with semantic technologies
Di Ciccio et al. 2019
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
91
SQL for Data-Aware
Declarative Process Discovery
Return all constraints of the Response(x,y) kind such that x and y occur in the same location,
and indicate the location of x.
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
92
Extraction of declarative process specifications from
natural-language text
van der Aa et al. 2019
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
93
Testing our theory
Correspondence theorems
• Conjectures (theorems to be proven)
are expressed as co-implications
between relations stemming from
different languages
TPTP excerpt (example)
![A,B]: (
( Label(A) & Label(B) )
=>
(
( aaecausal(A,B) & ~canconflict(A,B) )
<=>
( response(A,B) )
)
)
4C rel. 4C rel.
Automated proof (example) Proof graph
DECLARE
𝐿𝑇𝐿 𝑓 ≡ 3𝐹𝑂𝐿 𝑓 ⊂ 𝑅𝐸 ≡ 𝑀𝑆𝑂𝐿 𝑓 ⊆ 𝑆𝑂𝐿 𝑓
𝐿𝑇𝐿 ≡ 3𝐹𝑂𝐿 ⊂ 𝑀𝑆𝑂𝐿 ⊆ 𝑆𝑂𝐿
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
94
Open questions
A short list
• General measures for mined declarative process specifications
• Declarative process constraints to control machine learning
• Vector space based on orthogonal declarative template
primitives
• …
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
95
Transaction
• Transfer of (crypto)assets (Ether, Bitcoin, Litecoin, EOS, …)
from account A to account B
Externally Owned
Account (EOA)
Externally Owned
Account (EOA)
Digital signature
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
96
Ledger
• Ordered collection of transactions
• The order matters!
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
97
Block
• Blocks group and collate transactions
• The order matters!
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
98
Blockchain
• Blocks refer back to direct predecessors
• The order matters!
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
99
The Blockchain remembers
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
100
About decentralisation
Centralisation Decentralisation
Distributing the ledger makes for permanence
BUT
entails no notion of unique distributed clock
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
101
Distributed nature
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
102
Distributed nature
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
103
Distributed nature
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
104
A programmable distributed environment
Gas price (execution costs)
Input (and output) encoded data. Yes, hashing strikes back.
Smart Contract
Account
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
105
Distributed nature
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
106
The polygraph machine
Where are Smart Contracts
executed?
First on the mining nodes.
Then, potentially, on every node!
Only absolutely needed
instructions should be put in code!
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
107
Executing inter-organisational processes on the
Blockchain
Weber, Xu, Riveret, Governatori, Ponomarev, Mendling 2016
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
108
From ledgers to event logs
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
109
From event logs to behavioural specifications
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
110
Upcoming venues
7th Int. Workshop on DEClarative, DECision and Hybrid approaches to
processes (DEC2H 2019, https://ai.wu.ac.at/dec2h2019/)
Sep. 2, 2019
1st Int. Blockchain Forum (https://tinyurl.com/blockchain-forum-bpm2019)
Sep 3-4, 2019
Submission deadline: 31 May 2019 (extended!)
co-located with the 17th Int. Conference on Business Process Management
(BPM 2019, bpm2019.ai.wu.ac.at)
Vienna, Sep. 1-6, 2019
27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses
111
Declarative
Specification of
Processes
Di Ciccio, C. & Mecella, M. On the Discovery of Declarative Control Flows for Artful Processes. ACM
Trans. Manage. Inf. Syst., 2015, 5, 24:1-24:37, doi: 10.1145/2629447
Di Ciccio, C.; Maggi, F. M.; Montali, M. & Mendling, J. Resolving inconsistencies and redundancies in
declarative process models. Information Systems, 2017, 64, 425-446, doi: 10.1016/j.is.2016.09.005
Di Ciccio, C.; Maggi, F. M.; Montali, M. & Mendling, J. On the Relevance of a Business Constraint to an
Event Log. Information Systems, 2018, 78, 144-161, doi: 10.1016/j.is.2018.01.011

More Related Content

Similar to Declarative Specification of Processes: Discovery and Reasoning

Simulations Part III.pdf
Simulations Part III.pdfSimulations Part III.pdf
Simulations Part III.pdf
JeanMarshall8
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
C4Media
 
Supply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdfSupply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdf
Brij Consulting, LLC
 
Simulations Part III.pdf
Simulations Part III.pdfSimulations Part III.pdf
Simulations Part III.pdf
JeanMarshall8
 
Square Pi Key to the Investment, SPO.pdf
Square Pi Key to the Investment, SPO.pdfSquare Pi Key to the Investment, SPO.pdf
Square Pi Key to the Investment, SPO.pdf
Brij Consulting, LLC
 
Building Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph HughesBuilding Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph Hughes
Kalido
 
Adopting BIM - An Architect's Perspective (07 May 2014)
Adopting BIM - An Architect's Perspective (07 May 2014)Adopting BIM - An Architect's Perspective (07 May 2014)
Adopting BIM - An Architect's Perspective (07 May 2014)
Elrond Burrell
 
Dependency Injection in .NET
Dependency Injection in .NETDependency Injection in .NET
Dependency Injection in .NET
ssusere19c741
 
Comments on Simulations Watch Case Part I.pdf
Comments on  Simulations Watch Case Part I.pdfComments on  Simulations Watch Case Part I.pdf
Comments on Simulations Watch Case Part I.pdf
Brij Consulting, LLC
 
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Claudio Di Ciccio
 
Project Case Study Sample
Project Case Study SampleProject Case Study Sample
Project Case Study Sample
Chi D. Nguyen
 
OO design principles & heuristics
OO design principles & heuristicsOO design principles & heuristics
OO design principles & heuristics
Dhaval Shah
 
Cs207 1
Cs207 1Cs207 1
Glass Mix Z-Form V1 thru V3
Glass Mix Z-Form V1 thru V3Glass Mix Z-Form V1 thru V3
Glass Mix Z-Form V1 thru V3
Brij Consulting, LLC
 
Dimensional Building v2 Digital Strength in Z Properties
Dimensional Building v2 Digital Strength in Z PropertiesDimensional Building v2 Digital Strength in Z Properties
Dimensional Building v2 Digital Strength in Z Properties
Brij Consulting, LLC
 
Dimensional Building V3 Interdimensional Positions
Dimensional Building   V3 Interdimensional PositionsDimensional Building   V3 Interdimensional Positions
Dimensional Building V3 Interdimensional Positions
Brij Consulting, LLC
 
Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...
Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...
Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...NYCCTfab
 
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdfSupply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Brij Consulting, LLC
 

Similar to Declarative Specification of Processes: Discovery and Reasoning (19)

Simulations Part III.pdf
Simulations Part III.pdfSimulations Part III.pdf
Simulations Part III.pdf
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Supply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdfSupply Side Portfolio V4 The Paradigm Poll.pdf
Supply Side Portfolio V4 The Paradigm Poll.pdf
 
Simulations Part III.pdf
Simulations Part III.pdfSimulations Part III.pdf
Simulations Part III.pdf
 
Square Pi Key to the Investment, SPO.pdf
Square Pi Key to the Investment, SPO.pdfSquare Pi Key to the Investment, SPO.pdf
Square Pi Key to the Investment, SPO.pdf
 
Building Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph HughesBuilding Agile Data Warehouses with Ralph Hughes
Building Agile Data Warehouses with Ralph Hughes
 
Adopting BIM - An Architect's Perspective (07 May 2014)
Adopting BIM - An Architect's Perspective (07 May 2014)Adopting BIM - An Architect's Perspective (07 May 2014)
Adopting BIM - An Architect's Perspective (07 May 2014)
 
Dependency Injection in .NET
Dependency Injection in .NETDependency Injection in .NET
Dependency Injection in .NET
 
Comments on Simulations Watch Case Part I.pdf
Comments on  Simulations Watch Case Part I.pdfComments on  Simulations Watch Case Part I.pdf
Comments on Simulations Watch Case Part I.pdf
 
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
 
Project Case Study Sample
Project Case Study SampleProject Case Study Sample
Project Case Study Sample
 
OO design principles & heuristics
OO design principles & heuristicsOO design principles & heuristics
OO design principles & heuristics
 
Cs207 1
Cs207 1Cs207 1
Cs207 1
 
D07 Project Charter
D07 Project CharterD07 Project Charter
D07 Project Charter
 
Glass Mix Z-Form V1 thru V3
Glass Mix Z-Form V1 thru V3Glass Mix Z-Form V1 thru V3
Glass Mix Z-Form V1 thru V3
 
Dimensional Building v2 Digital Strength in Z Properties
Dimensional Building v2 Digital Strength in Z PropertiesDimensional Building v2 Digital Strength in Z Properties
Dimensional Building v2 Digital Strength in Z Properties
 
Dimensional Building V3 Interdimensional Positions
Dimensional Building   V3 Interdimensional PositionsDimensional Building   V3 Interdimensional Positions
Dimensional Building V3 Interdimensional Positions
 
Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...
Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...
Closing the LOOP - Int'l High Performance Building Conference (Lansing Commun...
 
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdfSupply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
Supply Side Portfolio V1, V2, V3 Timing, Investments, and Custom Engineering.pdf
 

More from Claudio Di Ciccio

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Look but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and processLook but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and process
Claudio Di Ciccio
 
Measurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process SpecificationsMeasurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process Specifications
Claudio Di Ciccio
 
Blockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platformsBlockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the BlockchainExtracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Claudio Di Ciccio
 
Execution of business processes on the blockchain
Execution of business processes on the blockchainExecution of business processes on the blockchain
Execution of business processes on the blockchain
Claudio Di Ciccio
 
Blockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processesBlockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processes
Claudio Di Ciccio
 
Semantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process MiningSemantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process Mining
Claudio Di Ciccio
 
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Claudio Di Ciccio
 

More from Claudio Di Ciccio (10)

CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Look but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and processLook but don’t touch: On the impalpable bond between blockchain and process
Look but don’t touch: On the impalpable bond between blockchain and process
 
Measurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process SpecificationsMeasurement of Rule-based LTLf Declarative Process Specifications
Measurement of Rule-based LTLf Declarative Process Specifications
 
Blockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platformsBlockchain and smart contracts: infrastructure and platforms
Blockchain and smart contracts: infrastructure and platforms
 
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the BlockchainExtracting Event Logs for Process Mining from Data Stored on the Blockchain
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
 
Execution of business processes on the blockchain
Execution of business processes on the blockchainExecution of business processes on the blockchain
Execution of business processes on the blockchain
 
Blockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processesBlockchain based traceability of inter-organisational business processes
Blockchain based traceability of inter-organisational business processes
 
Semantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process MiningSemantical Vacuity Detection in Declarative Process Mining
Semantical Vacuity Detection in Declarative Process Mining
 
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
 

Recently uploaded

What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
moosaasad1975
 
Leaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdfLeaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdf
RenuJangid3
 
Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
sachin783648
 
NuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final versionNuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final version
pablovgd
 
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdfSCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SELF-EXPLANATORY
 
GBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture MediaGBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture Media
Areesha Ahmad
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
University of Maribor
 
platelets- lifespan -Clot retraction-disorders.pptx
platelets- lifespan -Clot retraction-disorders.pptxplatelets- lifespan -Clot retraction-disorders.pptx
platelets- lifespan -Clot retraction-disorders.pptx
muralinath2
 
Hemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptxHemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptx
muralinath2
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Erdal Coalmaker
 
insect taxonomy importance systematics and classification
insect taxonomy importance systematics and classificationinsect taxonomy importance systematics and classification
insect taxonomy importance systematics and classification
anitaento25
 
Lab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerinLab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerin
ossaicprecious19
 
Orion Air Quality Monitoring Systems - CWS
Orion Air Quality Monitoring Systems - CWSOrion Air Quality Monitoring Systems - CWS
Orion Air Quality Monitoring Systems - CWS
Columbia Weather Systems
 
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
muralinath2
 
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Ana Luísa Pinho
 
THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.
THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.
THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.
Sérgio Sacani
 
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCINGRNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
AADYARAJPANDEY1
 
In silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptxIn silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptx
AlaminAfendy1
 
Mammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also FunctionsMammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also Functions
YOGESH DOGRA
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
silvermistyshot
 

Recently uploaded (20)

What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
 
Leaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdfLeaf Initiation, Growth and Differentiation.pdf
Leaf Initiation, Growth and Differentiation.pdf
 
Comparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebratesComparative structure of adrenal gland in vertebrates
Comparative structure of adrenal gland in vertebrates
 
NuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final versionNuGOweek 2024 Ghent - programme - final version
NuGOweek 2024 Ghent - programme - final version
 
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdfSCHIZOPHRENIA Disorder/ Brain Disorder.pdf
SCHIZOPHRENIA Disorder/ Brain Disorder.pdf
 
GBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture MediaGBSN - Microbiology (Lab 4) Culture Media
GBSN - Microbiology (Lab 4) Culture Media
 
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...
 
platelets- lifespan -Clot retraction-disorders.pptx
platelets- lifespan -Clot retraction-disorders.pptxplatelets- lifespan -Clot retraction-disorders.pptx
platelets- lifespan -Clot retraction-disorders.pptx
 
Hemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptxHemostasis_importance& clinical significance.pptx
Hemostasis_importance& clinical significance.pptx
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
 
insect taxonomy importance systematics and classification
insect taxonomy importance systematics and classificationinsect taxonomy importance systematics and classification
insect taxonomy importance systematics and classification
 
Lab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerinLab report on liquid viscosity of glycerin
Lab report on liquid viscosity of glycerin
 
Orion Air Quality Monitoring Systems - CWS
Orion Air Quality Monitoring Systems - CWSOrion Air Quality Monitoring Systems - CWS
Orion Air Quality Monitoring Systems - CWS
 
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
Circulatory system_ Laplace law. Ohms law.reynaults law,baro-chemo-receptors-...
 
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
 
THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.
THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.
THE IMPORTANCE OF MARTIAN ATMOSPHERE SAMPLE RETURN.
 
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCINGRNA INTERFERENCE: UNRAVELING GENETIC SILENCING
RNA INTERFERENCE: UNRAVELING GENETIC SILENCING
 
In silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptxIn silico drugs analogue design: novobiocin analogues.pptx
In silico drugs analogue design: novobiocin analogues.pptx
 
Mammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also FunctionsMammalian Pineal Body Structure and Also Functions
Mammalian Pineal Body Structure and Also Functions
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
 

Declarative Specification of Processes: Discovery and Reasoning

  • 2. Claudio Di Ciccio /klˈaːudio di ˈt͡ ʃiːtt͡ ʃo/ Assistant professor Ph.D. in Computer Science and Engineering Main research interests: process mining, declarative processes, cryptoeconomics, service-oriented architectures 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 2
  • 3. My experience so far Latina, Italy (B.Sc) Rome, Italy (M.Sc, Ph.D) Vienna, Austria (Post-doc) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 3
  • 5. Half empty or half full? http://aeon.co/ideas/which-is-more-fundamental-processes-or-things 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 5
  • 6. Processes are into dynamics Thanks Dr. Mieke Jans for offering her hand 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 6
  • 7. Processes and division of labour To take an example, the trade of a pin-maker: But in the way in which this business is now carried on, it is divided into a number of branches: • One man draws out the wire; • another straights it; • a third cuts it; • a fourth points it; • a fifth grinds it at the top for receiving the head; • to make the head requires three operations;  to put it on is a peculiar business;  to whiten the pins is another;  to put them into the paper; … […] making a pin is, in this manner, divided into about 18 distinct operations. [1] Smith 1776 [2] Dumas, La Rosa, Mendling, Reijers 2018 Draw out wire Straight wire Cut wire Grind wire Put head on pin Put pin in paper Whiten pin Point wire Make head 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 7
  • 8. Division of labour Icons © freepik.com Draw out wire Straight wire Cut wire Grind wire Put head on pin Put pin in paper Whiten pin Point wire Make head 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 8
  • 10. Division of labour Draw out wire Straight wire Cut wire Grind wire Put head on pin Put pin in paper Whiten pin Point wire Make head Icons © freepik.com 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 10
  • 11. Different perspectives Factorial Procedural / imperative C long factorial(int n) { int c; long result = 1; for (c = 1; c <= n; c++) { result = result * c; } return result; } Functional / declarative LISP (defun factorial (n) (if (= n 0) 1 (* n (factorial (- n 1))) ) ) Local perspective Global perspective ! 𝑛 = 1 if 𝑛 = 0 𝑛 × 𝑛 − 1 if 𝑛 > 0 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 11
  • 12. Declarative process specification • “Open model” • Specify constraints for permitted behaviour • Every execution that complies with them is acceptable 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 12
  • 13. Everyday examples of declarative specifications 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 13
  • 14. The Declarative Approach “When you have eliminated all that is impossible, whatever remains must be the truth, no matter how improbable.” [Sherlock Holmes] 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 14
  • 15. A fragment of declarative process in DECLARE Van der Aalst and Pesic 2006 Submit abstract Write new paper Submit paper Send confirmation email Submit paper Review paper Review paper Accept paper Reject paper Submit paper Accept paper Reject paper = activation task Responded existence(Submit abstract, Write new paper) Response(Submit paper, Send confirmation email) Succession(Submit paper, Review paper) Precedence(Review paper, Accept paper) Not succession(Reject paper, Submit paper) Not co-existence(Accept paper, Reject paper) Template Tasks • If an abstract is submitted, a new paper had been written or will be written • After the paper submission, a confirmation email is sent • After the paper submission, the paper will be reviewed; there can be no review without a preceding submission • A paper can be accepted only after it has been reviewed • After the rejection, no further submission follows • Paper cannot be both accepted and rejected 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 15
  • 16. A fragment of declarative process map in DECLARE Submit abstract Write new paper Submit paper Send confirmation email Review paper Accept paper Reject paper 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 16
  • 17. DECLARE templates: Existence constraints Init(a) Every process instance starts with activity a  bcaad  adcac  dabce  aeb  aabde End(a) Every process instance ends with activity a  abcde  cedea  aacbaa  ababac  aabde Participation(a) Activity a occurs at least once  bbcd  bedcca  bcaeda  dbdeb  aabde AtMostOne(a) Activity a occurs at most once  baea  beed  acccd  edbcd  aabde a Init a End a 1..* a 0..1 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 17
  • 18. DECLARE templates: Relation constraints I RespondedExistence(a, b) If a occurs, b has to occur at some point, no matter when  bcdd  bdca  addcd  adaab  bdaacb Response(a, b) If a occurs, b has to occur after a  bdaac  adbbc  cddce  aadccba  bdaacb AlternateResponse(a, b) If a occurs, b has to occur after a, with no a in-between  aabbd  aedbab  beedcd  abababa  bdaacb ChainResponse(a, b) b has to occur immediately after a  cbaab  dabbab  aba  bdbababb  bdaacb Activation Target ba ba ba ba strictness 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 18
  • 19. DECLARE templates: Relation constraints II RespondedExistence(b, a) If b occurs, a has to occur at some point, no matter when  acdd  bdca  bddcd  adabb  acbeead Precedence(a, b) If b occurs, then a has to occur before b  cbdac  adbbc  cddcea  aadccba  acbeead AlternatePrecedence(a, b) Each time b occurs, it is preceded by a, with no b in-between  aabd  adbbab  beead  abababa  acbeead ChainPrecedence(a, b) If b occurs, then a has to occur immediately beforehand  ccbab  abbab  aba  abaab  acbeead ba ba ba ba ActivationTarget strictness 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 19
  • 20. DECLARE templates: Mutual relation constraints CoExistence(a, b) RespondedExistence(a, b) and RespondedExistence(b, a) hold  bcdd  cddc  addcd  adaab  dbdaacb Succession(a, b) Response(a, b) and Precedence(b, a) hold  bdaac  adbbc  cddce  aadccba  dbdaacb AlternateSuccession(a, b) AlternateResponse(a, b) and AlternatePrecedence(b, a) hold  aabbd  addbab  beedcd  ababab  dbdaacb ChainSuccession(a, b) ChainResponse(a, b) and ChainPrecedence(b, a) hold  ccbab  dabbab  dabab  babab  dbdaacb ba ba ba ba ActivationTarget Activation Target strictness 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 20
  • 21. DECLARE templates: Negative relation constraints NotCoExistence(a, b) a and b cannot co-occur  bdaac  adeec  cddce  cbdcb  aadccba NotSuccession(a, b) b cannot occur after a and a cannot occur before b  aabad  adccda  bcdaed  dbabc  aadccba NotChainSuccession(a, b) b cannot occur immediately after a  cbbab  adadbb  aba  aaadbbb  aadccba ba ba ba strictness ActivationTarget Activation Target 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 21
  • 22. Constraints subsumption (strictness) hierarchy 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 22
  • 23. Warning The following slides contain sentences with symbols from Greek, math, and other alphabets out of the sick fantasy of the inventors, which could hurt, disturb, or offend the sensitivity of the audience. We apologise in advance for the inconvenience. F   27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 23
  • 24. Semantics of DECLARE: LTL and LTLf • Linear Temporal Logic (LTL) initially was a specification language for the execution of (endless) concurrent programs (Pnueli, 1977)  Syntax (let A be a propositional symbol):  Interpretation over infinite traces, i.e., an infinite sequence of consecutive instants of time • LTLf formulae are meant to be interpreted over finite traces “Until” “Eventually”“Always” “Next” 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 24
  • 25. About the expressive power [1] Fitch, Friederici 2012 [2] Dwyer et al. 1999 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 25
  • 26. Linear Temporal Logics over Finite Traces LTL𝑓 RespondedExistence(a,b) Response(a,c) Eventually Globally Templates Constraints 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 26
  • 27. Linear Temporal Logics over Finite Traces LTL𝑓 and Regular Expressions RespondedExistence(a,b) Response(a,c) [1] Diekert, Gastin 2008 [2] De Giacomo et al. 2014 Eventually Globally Templates Constraints [^a]*((a.*b.*)|(b.*a.*))*[^a]* [^a]*(a.*c)*[^a]* 𝐿𝑇𝐿 𝑓 ≡ 3𝐹𝑂𝐿 𝑓 ⊂ 𝑅𝐸 ≡ 𝑀𝑆𝑂𝐿 𝑓 ⊆ 𝑆𝑂𝐿 𝑓 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 27
  • 28. Every DECLARE constraint can be abstracted as a Finite State Automaton RespondedExistence(a,b) Response(a,c) Accepting state Any task but ‘a’ or ‘b’ Any task but ‘a’ Alphabet State FSA: (Deterministic) Finite State Automaton Task ‘a’ Init 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 28
  • 29. A DECLARE constraint can be abstracted as an FSA RespondedExistence(a,b) Response(a,c)& × 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 29
  • 30. Every DECLARE constraint can be abstracted as an FSA RespondedExistence(a,b) Response(a,c)& 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 30
  • 31. A fragment of declarative process specification in DECLARE RespondedExistence(Submit abstract, Write new paper) Response(Submit paper, Send confirmation email) Succession(Submit paper, Review paper) Precedence(Review paper, Accept paper) NotSuccession(Reject paper, Submit paper) NotCoExistence(Accept paper, Reject paper) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 31
  • 32. A fragment of declarative process specification in DECLARE Submit abstract Write new paper Submit paper Send confirmation email Review paper Accept paper Reject paper 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 32
  • 34. Under the carpet RespondedExistence (Submit abstract, Write new paper) Response (Submit paper, Send confirmation email) Succession (Submit paper, Review paper) Precedence (Review paper, Accept paper) NotSuccession (Reject paper, Submit paper) NotCoExistence (Accept paper, Reject paper) ⊨ 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 34
  • 35. Under the carpet RespondedExistence (Submit abstract, Write new paper) Response (Submit paper, Send confirmation email) Succession (Submit paper, Review paper) Precedence (Review paper, Accept paper) NotSuccession (Reject paper, Submit paper) NotCoExistence (Accept paper, Reject paper) ⊨ Process model Process specification 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 35
  • 36. Under the carpet RespondedExistence (Submit abstract, Write new paper) Response (Submit paper, Send confirmation email) Succession (Submit paper, Review paper) Precedence (Review paper, Accept paper) NotSuccession (Reject paper, Submit paper) NotCoExistence (Accept paper, Reject paper) ⊨ Process model Process specification 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 36
  • 37. The message Declarative specifications as a means to specify norms & rules Imperative models as a means to organize operations in compliance with them 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 37
  • 38. Discovery of Declarative Process Specifications Extracting temporal rules from data 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 38
  • 39. Control-flow discovery Objective: Extracting the constraints that best define the allowed behaviour of the process behind the event log Event log 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 39
  • 42. Mining declarative process specifications: ingredients “Submit draft”, “Write deliverable”, “Organise agenda”, … a, b, c, … Activities Process alphabet Event log Declarative constraint templates 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 42
  • 43. Mining declarative process specifications RespondedExistence(a,b) ? • Support: fraction of cases fulfilling the constraint • Confidence: support scaled by fraction of traces in which the activation occurs • Interest factor: confidence scaled by fraction of traces in which the target occurs Support Conf. I.F. RespondedExistence(a,c) ? … Response(a,b) ? … Response(a,c) ? 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 43
  • 44. Mining declarative process specifications Support Conf. I.F. RespondedExistence(a,b) ? RespondedExistence(a,c) ? … Response(a,b) ? Response(a,c) ? … 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 44
  • 45. Mining declarative process specifications Support Conf. I.F. RespondedExistence(a,b) ? RespondedExistence(a,c) ? … Response(a,b) ? Response(a,c) ? … 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 45
  • 46. Mining declarative process specifications Support Conf. I.F. RespondedExistence(a,b) ? RespondedExistence(a,c) ? … Response(a,b) ? Response(a,c) ? … 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 46
  • 47. Mining declarative process specifications Support Conf. I.F. RespondedExistence(a,b) ? RespondedExistence(a,c) ? … Response(a,b)  Response(a,c) ? … 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 47
  • 48. Mining declarative process specifications Support Conf. I.F. RespondedExistence(a,b)  RespondedExistence(a,c)  … Response(a,b)  Response(a,c)  … 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 48
  • 49. Is it really that easy? This is a rhetoric question, you know. 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 49
  • 50. Reasoning on Declarative Process Specifications Dealing with temporal rules discovered from data 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 50
  • 51. While mining a real-life event log… Support threshold: 0.85 Confidence threshold: 0.25 Interest factor threshold: 0.25 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 51
  • 53. While mining a real-life event log… 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 53
  • 54. Challenging the cross product × 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 54
  • 55. Time to challenge the X Loading… 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 55
  • 57. The problems 1) inconsistency • When support threshold is lower than 100%, constraints can be valid through most of the log, though being in conflict • Example: an event log consists of two traces defined over three tasks (a, b, c): 1.<a, b, a, b, a, b, c> 2.<a, b, a, b, a, c> • Support threshold: 0.7 • a is always the first  Init(a) • c is always the last  End(c) • In 6 cases over 8 (75%), a and c do not directly follow each other  NotChainSuccession(a,c) • In 5 cases over 7 (71.143%), b and c do not directly follow each other  NotChainSuccession(b,c) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 57
  • 58. The problems 1) inconsistency • When support threshold is lower than 100%, constraints can be valid through most of the log, though being in conflict • Example: an event log consists of two traces defined over three tasks (a, b, c): 1.<a, b, a, b, a, b, c> 2.<a, b, a, b, a, c> • Support threshold: 0.7 • a is always the first  Init(a) • c is always the last  End(c) • In 6 cases over 8 (75%), a and c do not directly follow each other  NotChainSuccession(a,c) • In 5 cases over 7 (71.143%), a and b do not directly follow each other  NotChainSuccession(b,c) • Question: what can be done right before c?  inconsistency! 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 58
  • 59. The problems 1) inconsistency • Support threshold ≤ 100%  constraints valid through most of the log though (possibly) in conflict • How to trust a discovery algorithm that can return inconsistent models? 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 59
  • 60. The problems 2) redundancy • Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones • Example: an event log consists of two traces: 1.<a, b, a, b, a, b, c> 2.<a, b, a, b, a, c> • a is always the first  Init(a) • c is always the last  End(c) • Before c, a precedes  Precedence(a,c) • Before b, a precedes  Precedence(a,b) • After a, c eventually follows  Response(a,c) • After b, c eventually follows  Response(b,c) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 60
  • 61. The problems 2) redundancy • Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones • Example: an event log consists of two traces: 1.<a, b, a, b, a, b, c> 2.<a, b, a, b, a, c> • a is always the first  Init(a) • c is always the last  End(c) • Before c, a precedes  Precedence(a,c) • Before b, a precedes  Precedence(a,b) • After a, c eventually follows  Response(a,c) • After b, c eventually follows  Response(b,c) Of course! a is always the first 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 61
  • 62. The problems 2) redundancy • Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones • Example: an event log consists of two traces: 1.<a, b, a, b, a, b, c> 2.<a, b, a, b, a, c> • a is always the first  Init(a) • c is always the last  End(c) • Before c, a precedes  Precedence(a,c) • Before b, a precedes  Precedence(a,b) • After a, c eventually follows  Response(a,c) • After b, c eventually follows  Response(b,c) Of course! a is always the first Of course! c is always the last • Question: can't we avoid stating the obvious?  redundancy! 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 62
  • 63. The problems 2) redundancy • Many constraints may be fulfilled 100% of times yet not add a bit of information to other already discovered ones • How to reduce the number of unnecessary returned constraints? 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 63
  • 64. The solution Automata-product monoid Algebraic structure with composition operator (×) holding the properties of • commutativity • associativity and bearing • identity element • and absorbing element 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 64
  • 66. Rules of the game • Intersect the product automaton with the newly visited constraints, one at a time  Init(a) Participation(b) = Product automaton Init(a) Participation(b) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 66
  • 67. Rules of the game • Intersect the product automaton with the newly visited constraints, one at a time ChainPrecedence(a,b) ChainPrecedence(a,b) Product automaton Init(a) Participation(b) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 67
  • 68. Exploiting formal properties • We take advantage of 1. associativity  allows for "storage" of results Product automaton  ChainPrecedence(a,b) Old product automaton = 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 68
  • 69. Exploiting formal properties • We take advantage of 1. associativity  allows for "storage" of results 2. commutativity  allows for priority sorting of constraints Product automaton 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 69
  • 70. Exploiting formal properties • We take advantage of 1. associativity  allows for "storage" of results 2. commutativity  allows for priority sorting of constraints Product automaton 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 70
  • 71. Playing the game • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) Product automaton 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 71
  • 72. Playing the game • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) Product automaton 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 72
  • 73. Playing the game • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) Product automaton 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 73
  • 74. Inconsistency! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Conflict: Product automaton 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 74
  • 75. Inconsistency! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Conflict:  The product automaton becomes (accepts only the empty language) Response(a,b) Response(b,a) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 75
  • 76. Inconsistency! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Conflict:  The product automaton becomes (accepts only the empty language) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 76
  • 77. Inconsistency! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Conflict:  Remove the constraint, in case 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 77
  • 78. Redundancy! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Redundancy: 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 78
  • 79. Redundancy! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Redundancy:  The new product automaton accepts the same strings as before (language inclusion) Response(a,c) End(c) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 79
  • 80. Redundancy! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Redundancy:  The new product automaton accepts the same strings as before (language inclusion) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 80
  • 81. Redundancy! • Newly visited constraints add information to the knowledge on the process model if they reduce the number of possible traces (accepted strings) • Redundancy:  Remove the constraint, in case 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 81
  • 82. Objectives • Remove inconsistencies  Through empty language detection • Minimise redundancies  Through language inclusion detection • Analyse each constraint once  Use sorting for priorities 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 82
  • 85. Which were the conflicting constraints in the log? 1. NotSuccession(send meeting, organize agenda) 2. NotChainSuccession(send draft, send deliverable) 3. Succession(send draft, submit report) 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 85
  • 87. Redundancy reduction and performance 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 87
  • 88. MINERful https://github.com/cdc08x/MINERful Command-line tool (stand-alone) As a Java library (here, in ProM) ProM screenshot courtesy of Mitchel Schouten 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 88
  • 89. Current and Future Work on Declarative Business Processes One-slide pitches on ongoing projects + research outlook 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 89
  • 90. Reactive constraints and the Janus approach “Send notification email” triggers that ( ) sometime before “submit paper” must occur and sometime after “review paper” must occur Slide courtesy of Alessio Cecconi. Cecconi et al. 2018 Activation event e Automaton of 𝐿𝑇𝐿𝑝 𝑓 past formula Automaton of 𝐿𝑇𝐿𝑝 𝑓 future formula !s s !r r e s r 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 90
  • 91. Finding the needle in the haystack with semantic technologies Di Ciccio et al. 2019 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 91
  • 92. SQL for Data-Aware Declarative Process Discovery Return all constraints of the Response(x,y) kind such that x and y occur in the same location, and indicate the location of x. 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 92
  • 93. Extraction of declarative process specifications from natural-language text van der Aa et al. 2019 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 93
  • 94. Testing our theory Correspondence theorems • Conjectures (theorems to be proven) are expressed as co-implications between relations stemming from different languages TPTP excerpt (example) ![A,B]: ( ( Label(A) & Label(B) ) => ( ( aaecausal(A,B) & ~canconflict(A,B) ) <=> ( response(A,B) ) ) ) 4C rel. 4C rel. Automated proof (example) Proof graph DECLARE 𝐿𝑇𝐿 𝑓 ≡ 3𝐹𝑂𝐿 𝑓 ⊂ 𝑅𝐸 ≡ 𝑀𝑆𝑂𝐿 𝑓 ⊆ 𝑆𝑂𝐿 𝑓 𝐿𝑇𝐿 ≡ 3𝐹𝑂𝐿 ⊂ 𝑀𝑆𝑂𝐿 ⊆ 𝑆𝑂𝐿 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 94
  • 95. Open questions A short list • General measures for mined declarative process specifications • Declarative process constraints to control machine learning • Vector space based on orthogonal declarative template primitives • … 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 95
  • 96. Transaction • Transfer of (crypto)assets (Ether, Bitcoin, Litecoin, EOS, …) from account A to account B Externally Owned Account (EOA) Externally Owned Account (EOA) Digital signature 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 96
  • 97. Ledger • Ordered collection of transactions • The order matters! 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 97
  • 98. Block • Blocks group and collate transactions • The order matters! 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 98
  • 99. Blockchain • Blocks refer back to direct predecessors • The order matters! 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 99
  • 101. About decentralisation Centralisation Decentralisation Distributing the ledger makes for permanence BUT entails no notion of unique distributed clock 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 101
  • 105. A programmable distributed environment Gas price (execution costs) Input (and output) encoded data. Yes, hashing strikes back. Smart Contract Account 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 105
  • 107. The polygraph machine Where are Smart Contracts executed? First on the mining nodes. Then, potentially, on every node! Only absolutely needed instructions should be put in code! 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 107
  • 108. Executing inter-organisational processes on the Blockchain Weber, Xu, Riveret, Governatori, Ponomarev, Mendling 2016 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 108
  • 109. From ledgers to event logs 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 109
  • 110. From event logs to behavioural specifications 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 110
  • 111. Upcoming venues 7th Int. Workshop on DEClarative, DECision and Hybrid approaches to processes (DEC2H 2019, https://ai.wu.ac.at/dec2h2019/) Sep. 2, 2019 1st Int. Blockchain Forum (https://tinyurl.com/blockchain-forum-bpm2019) Sep 3-4, 2019 Submission deadline: 31 May 2019 (extended!) co-located with the 17th Int. Conference on Business Process Management (BPM 2019, bpm2019.ai.wu.ac.at) Vienna, Sep. 1-6, 2019 27/05/2019©DiCiccio-DeclarativeSpecificationofProcesses 111
  • 112. Declarative Specification of Processes Di Ciccio, C. & Mecella, M. On the Discovery of Declarative Control Flows for Artful Processes. ACM Trans. Manage. Inf. Syst., 2015, 5, 24:1-24:37, doi: 10.1145/2629447 Di Ciccio, C.; Maggi, F. M.; Montali, M. & Mendling, J. Resolving inconsistencies and redundancies in declarative process models. Information Systems, 2017, 64, 425-446, doi: 10.1016/j.is.2016.09.005 Di Ciccio, C.; Maggi, F. M.; Montali, M. & Mendling, J. On the Relevance of a Business Constraint to an Event Log. Information Systems, 2018, 78, 144-161, doi: 10.1016/j.is.2018.01.011

Editor's Notes

  1. © Google Street View https://goo.gl/maps/8pFckVAafJA2 (Viale Le Corbusier) © Alessandro Falaschi https://goo.gl/maps/RtN4JQCsMWD2 (Sapienza sede di Latina) © Google Street View https://goo.gl/maps/tDes95eYpTR2 (Via Scarpa) © RadioSapienza.net (S. Pietro in Vincoli) © Bert Kaufmann https://flic.kr/p/dcZFjp (Rome) © Stefano Iachella https://flic.kr/p/994cWX (Latina) © SapienzaApps https://goo.gl/images/VR2YSB (Via Ariosto) © MeinBezirk.at https://www.meinbezirk.at/alsergrund/lokales/wirtschaftsuni-wien-augasse-m2826640,322271.html (WU Wien Augasse) © Peter Haas https://commons.wikimedia.org/wiki/File:Campus_WU_LC_D1_TC_DSC_1440w.jpg#/media/File:Campus_WU_LC_D1_TC_DSC_1440w.jpg (WU Wien Campus) © BRJ INC. https://flic.kr/p/p855cV (St. Stephen’s Cathedral)
  2. Generalists Intermediate level of specialism (guilds of craftsmen) Pure specialisation (2nd industrial revolution) (Taylor: scientific mgt) (=> managers!) Managers and functional organisation
  3. If I enter the intersection in reverse gear?
  4. 3𝐹𝑂𝐿_𝑓⊂𝑅𝐸 because of periodicity ( (𝑎𝑎)∗ )
  5. © Henri Liriani, “Your Move” https://flic.kr/p/6mKzzs