SlideShare a Scribd company logo
Declarative Process
Modeling in BPMN
Marco Montali
Free University of Bozen-Bolzano
joint work with Giuseppe De Giacomo, Fabrizio M. Maggi, Marlon Dumas
CAiSE’151
Disclaimer for this Talk
Process = Control-flow
2
Trends in BPM
modeling
• Highly-variable BPs
• Metaphor: rules/constraints
Dec t i
lar
a
ev
Imperative modeling
• Traditional repetitive BPs
• Metaphor: flow-chart
3
Imperative Modeling
4
Imperative Modeling
Focus: howthings must be done
• Explicit description of the process control-flow
Closedmodeling
• All that is not explicitly modeled is forbidden
• Exceptions all to be considered at design time
5
BPMN
Receive
order
Check
availability
Article available?
Ship article
Financial
settlement
yes
Procurement
no
Payment
received
Inform
customer
Late deliveryUndeliverable
Customer
informed
Inform
customer
Article
removed
Remove
article from
catalogue
6
BPMN
Receive
order
Check
availability
Article available?
Ship article
Financial
settlement
yes
Procurement
no
Payment
received
Inform
customer
Late deliveryUndeliverable
Customer
informed
Inform
customer
Article
removed
Remove
article from
catalogue
Input Output
7
BPMN
Receive
order
Check
availability
Article available?
Ship article
Financial
settlement
yes
Procurement
no
Payment
received
Inform
customer
Late deliveryUndeliverable
Customer
informed
Inform
customer
Article
removed
Remove
article from
catalogue
Input Output
8
Constraint-Based Modeling
9
Constraint-Based Modeling
Focus: whathas to be accomplished
• Explicit description of the relevant business constraints
• behavioral constraints, best practices, norms, rules, …
Openmodeling
• All behaviors are possible provided that they respect the
constraints
• Control-flow left implicit
10
Declare
Finalize order
Confirm
order
Reject
order
Ship
Notify
shipment issue
11
Declare
12
Declare
13
Declare
14
Pros and Cons (for dummies)
Flexibility Control
Imperative
modeling - +
Declarative
modeling + -
15
Ultimate Goal:

Trade-off between Flexibility and Control
16
Towards a Suitable Trade-Off
In the literature: many hybrid notations
• Mix declarative and imperative constructs
• Lasagne integration vs spaghetti integration
This suggests that new notations are needed. 

Bad impact on understandability.
Do we really need completely new notations?
Our answer: NO!
17
Our Approach
Translate Declare into a notation that
• mediates between flexibility and control
• is a conservative extension to well-known
imperative modeling languages (BPMN)
• Looks familiar
• Can be converted back into standard BPMN
But… why not plain BPMN???
18
Process Responsibilities
• History recognition: given the history of a running
instance, compute the current state (or reject)
• Todo list: given the current state, tell 

which tasks can be executed next

(including possibility of termination)

• Update: given a state and a task,

determine the new state
S
A
B
C
S
SnewS
19
Declare as a Process?
Automata to the Rescue!
20
Declare and Temporal Logics
• Observation: Declare constraints are formalized using
LTL over finite traces (LTLf)
• A Declare model is simply a big LTLf formula
• LTLf corresponds to the star-free fragment of regular
expressions
• Intimate connection with finite-state automata
21
Declare 2 DFA
…
…
…
'
LTLf NFA

nondeterministic
DFA

deterministic
LTLf2aut determin.
22
From Declare to DFA
…
…
…
'
LTLf NFA

nondeterministic
DFA

deterministic
LTLf2aut determin.
A process!
• allowed tasks: alphabet, task: symbol, trace: word
• history recognition —> word prefix recognition
• todo list —> return next symbols
• update —> transition
23
Example
onse constraint).
close
order
pay
receipt
invoice
Fig. 1: Example of a Declare model
clarative model, this model should be interpreted according
antics: It is possible to send a receipt or an invoice without p
so, to close an order without eventually paying. In addition,
an be executed several times. Closing an order several times
ss execution, whereas it is possible to pay several times (this i
0 1
close order
2
pay
receipt
invoice
receipt
invoice
close order
receipt
invoice
close order
pay
24
Problem Solved (?)
Convert Declare model into a DFA.

The DFA:
• accepts all and only the traces accepted by
the Declare model
• can be easily converted into workflow nets,
BPMN, …
• is apt to be post-processed
• E.g., theory of region to discover concurrent parts
(cf. [Prescher et al., SIMPDA 2014])
25
Can you Digest Spaghetti?
Or: the Issue of Understandability
26
Declare 2 DFA: Complexity
'
LTLf NFA

nondeterministic
DFA

deterministic
LTLf2aut determin.
exponential

blow-up
exponential

blow-up
N.B.: this complexity is unavoidable 

(and is not just related to concurrency)
27
From [Prescher et al., SIMPDA 2014]
(a) Declare model (b) Finite State Automaton
Fig. 7: The process mined out of BPIC 2013 log [33],
4.1 Implementation
In order to have the opportunity to analyze real-life de
28
From [Prescher et al., SIMPDA 2014]
(a) Declare model (b) Finite State Automaton
Fig. 7: The process mined out of BPIC 2013 log [33],
4.1 Implementation
In order to have the opportunity to analyze real-life de
re model
Completed
Accepted
Unmatched
Queued
Completed Queued
Accepted
Accepted
Completed
Accepted
Queued
Completed
Accepted
Completed
Accepted
Completed
Accepted
Queued
CompletedAccepted
AcceptedQueued
Completed
Accepted
Completed
Queued
Accepted
Queued
Completed
Completed
Queued
Accepted
(b) Finite State Automaton derived from the Declare model
process mined out of BPIC 2013 log [33], as Declare model and FSA
29
From [Prescher et al., SIMPDA 2014]
(a) Declare model (b) Finite State Automaton
Fig. 7: The process mined out of BPIC 2013 log [33],
4.1 Implementation
In order to have the opportunity to analyze real-life de
re model
Completed
Accepted
Unmatched
Queued
Completed Queued
Accepted
Accepted
Completed
Accepted
Queued
Completed
Accepted
Completed
Accepted
Completed
Accepted
Queued
CompletedAccepted
AcceptedQueued
Completed
Accepted
Completed
Queued
Accepted
Queued
Completed
Completed
Queued
Accepted
(b) Finite State Automaton derived from the Declare model
process mined out of BPIC 2013 log [33], as Declare model and FSA
q
q
q q
q q
q
q
c
c
c
c
c
c
c
c
c
c
a
a
a
a
a
a
a
a
a
a
a
u
30
Our Solution
BPMN-D: a declarative view on top of BPMN
BPMN-D
BPMN
Declare
31
BPMN-D
Core BPMN constructs
• None start/end events
• Atomic tasks
• XOR gateways
• Sequence flows
Extended, “declarative” constructs
• Extended tasks
• Extended flow connectors
32
BPMN-D Tasks
Notation Name Semantics
t Atomic task As in BPMN: perform t
IN
{t1,…,tn}
Inclusive task Perform a task among t1, . . . , tn
EX
{t1,…,tn}
Exclusive task Perform a task different from t1, . . . , tn
ANY Any task Perform any task from those available in the business context
Table 2: Overview of BPMN-D activity nodes
A flow connector is a binary, directed relation between nodes in the process. It indi-
cates an ordering relationship between the connected nodes, and implicitly also the state
33
BPMN-D Flow Connectors
Notation Name Semantics
A B Sequence flow As in BPMN: node B is traversed next to A
IN {t1,…,tn}
A B
Inclusive flow B is traversed after A, with 0 or more repetitions of tasks
from t1, . . . , tn in between
EX {t1,…,tn}
A B
Exclusive flow B is traversed after A, with 0 or more repetitions of tasks
different from t1, . . . , tn in between
ANY
A B
Any flow B is traversed after A, with 0 or more repetitions of tasks in
between
Table 3: Overview of BPMN-D flow connectors
34
Example
haviors that are allowed during the process execution, following the standard BPMN
semantics of deferred choice (i.e., choice freely taken by the resources responsible for
the process execution). As shown in Fig. 2, the graphical representation for a XOR gate-
way is the same as in BPMN. In this paper, we only discuss XOR gateways as they are
sufficient to demonstrate the extensions proposed in BPMN-D and the translation from
Declare to BPMN-D. In the remainder of the paper, we denote by ⌃ the set of all tasks
that can be performed in a given business context.
X
close
order
IN {receipt, invoice}
X pay
EX {pay}
IN
{receipt,invoice}
IN {pay, close order}
X
Fig. 2: Example of a BPMN-D model
BPMN-D extends only two constructs in BPMN, namely activity nodes and se-
quence flows connectors. An activity node represents a task in the process, and is repre-
sented as a labeled, rounded rectangle. As in standard BPMN, this in turn corresponds
to an execution step inside the process. Differently from BPMN, though, a BPMN-D
35
From BPMN-D to BPMN
• BPMN-D is just a “view” on top of (a fragment of) BPMN
• Once the set of available tasks is known…
• EX constructs can be converted into IN constructs via set-difference
• IN constructs can be modularly turned into standard BPMN
BPMN-D Translation into BPMN
IN
{t1,…,tn}
A B A B
t1
tn
X X…
IN {t1,…,tn}
A B
A B
t1
tnX X
…
X X
36
Modular Unfolding
X
close
order XX
pay
IN {receipt, invoice} EX {pay}
IN
{receipt,invoice}
IN {pay, close order}
BPMN-D
37
Modular Unfolding
X
close
orderX XX
receipt
invoice XX XX
receipt
invoice
close
order
XX
pay
close
order
pay
receipt
invoice
XX X X
Fig. 3: Standard BPMN representation of the BPMN-D diagram of Figure 2
BPMN
38
From Declare to BPMN-D
…
…
…
X
close
order XX
pay
IN {r, i}
EX {p}
IN
{r,i}
IN {p,c}
Declare

model
Constraint

Automaton
BPMN-D

model
Declare 2 CA CA 2 BPMN-D
Correct: accepts all and
only the traces accepted by
the input Declare model
A DFA with 

constraints as labels
39
Constraint Automaton
• A DFA can have multiple edges between same 2 states
• They represent the same state change!
• Constraint automaton combines them into a single
“constraint transition” that resembles BPMN-D
• “t” —> normal transition
• IN T —> move with a symbol in the set T
• EX T —> move with a symbol not in the set T
• ANY —> move with any symbol
• Procedure: Declare to DFA, then “compact” the DFA
into a constraint automaton
S1 S2
a
b
a
b
c
S1 S2
IN {a,b}
EX {d}
TASKS: {a,b,c,d}
40
d
d
Example
ever a payment is done, then a receipt or an invoice must be produce
esponse constraint).
close
order
pay
receipt
invoice
Fig. 1: Example of a Declare model
declarative model, this model should be interpreted according to
mantics: It is possible to send a receipt or an invoice without payi
also, to close an order without eventually paying. In addition, an
l can be executed several times. Closing an order several times ha
ocess execution, whereas it is possible to pay several times (this is th
of installments) and, also, to send invoices and receipts several tim
0 1
close order
2
pay
receipt
invoice
receipt
invoice
close order
receipt
invoice
close order
pay
41
Example
ever a payment is done, then a receipt or an invoice must be produce
esponse constraint).
close
order
pay
receipt
invoice
Fig. 1: Example of a Declare model
declarative model, this model should be interpreted according to
mantics: It is possible to send a receipt or an invoice without payi
also, to close an order without eventually paying. In addition, an
l can be executed several times. Closing an order several times ha
ocess execution, whereas it is possible to pay several times (this is th
of installments) and, also, to send invoices and receipts several tim
0
IN {receipt, invoice}
1
close order
2
EX {pay}
pay
IN {pay, close order}
IN {receipt, invoice}
42
From CA to BPMN-D
Linear translation, in 3 steps:
1.Iterate through states, generating process
blocks
2.Interconnect blocks through tasks
obtained from transitions
3.Remove unnecessary gateways that have
only one input and one output
43
From CA to BPMN-D: States
1. State: introduces XOR split/join logic
2. Initial state: single start event of the process
3. Final state: choice of termination
S X X
start
XS0 X
Sf
X X
44
From CA to BPMN-D: Transitions
4. Self-loop: no effective state change; executable 0..* times
5. Proper transition: state transformation through task execution
X X
label
S
label
S1 S2
label X …
X X…labelX
45
Example
0
IN {receipt, invoice}
1
close order
2
EX {pay}
pay
IN {pay, close order}
IN {receipt, invoice}
46
Example
X
0
IN {receipt, invoice}
1
close order
2
EX {pay}
pay
IN {pay, close order}
IN {receipt, invoice}
X
IN {receipt, invoice}
X
EX {pay}
IN {pay, close order}
X X XX X X
47
Example
X
0
IN {receipt, invoice}
1
close order
2
EX {pay}
pay
IN {pay, close order}
IN {receipt, invoice}
X
close
order
IN {receipt, invoice}
X pay
EX {pay}
IN
{receipt,invoice}
IN {pay, close order}
X X XX X X
48
Example
X
0
IN {receipt, invoice}
1
close order
2
EX {pay}
pay
IN {pay, close order}
IN {receipt, invoice}
X
close
order
IN {receipt, invoice}
X pay
EX {pay}
IN
{receipt,invoice}
IN {pay, close order}
X X XX X X
49
Example
0
IN {receipt, invoice}
1
close order
2
EX {pay}
pay
IN {pay, close order}
IN {receipt, invoice}
X
close
order
IN {receipt, invoice}
X pay
EX {pay}
IN
{receipt,invoice}
IN {pay, close order}
XX
50
Conclusion
• BPMN-D: conservative, “minor” extension of BPMN
with declarative constructs
• Can be encoded back into standard BPMN
• Translation mechanism from Declare to BPMN-D
• Tackles directly all regular expressions / LDLf
• Lessons learnt:
• We don’t need completely new notations
• We cannot apply standard techniques off-the-shelf
51
Ongoing/Future Work
• Include parallel gateways and exceptions
• Exception handling derived from “compensation
constraints” 

[De Giacomo et al., BPM 2014]
• Tooling and benchmarking with case studies
• Synthesis of “just sound” BPMN-D processes
• Compliant by-design, but not necessarily accepting all the
original intended behaviors
• “Tuning knob” for trade-off between understandability and
coverage of behaviors
52

More Related Content

What's hot

Compiler in System Programming/Code Optimization techniques in System Program...
Compiler in System Programming/Code Optimization techniques in System Program...Compiler in System Programming/Code Optimization techniques in System Program...
Compiler in System Programming/Code Optimization techniques in System Program...
Janki Shah
 
ICFP 2011 "Subtyping Delimited Continuations" slides
ICFP 2011 "Subtyping Delimited Continuations" slidesICFP 2011 "Subtyping Delimited Continuations" slides
ICFP 2011 "Subtyping Delimited Continuations" slides
Marek Materzok
 
IRJET- Implementation of Material Requirement Planning(MRP) for a MULTI-L...
IRJET-  	  Implementation of Material Requirement Planning(MRP) for a MULTI-L...IRJET-  	  Implementation of Material Requirement Planning(MRP) for a MULTI-L...
IRJET- Implementation of Material Requirement Planning(MRP) for a MULTI-L...
IRJET Journal
 
Code optimization
Code optimizationCode optimization
Code optimization
Pradip Bhattarai
 
11 functions
11 functions11 functions
11 functions
Rohit Shrivastava
 
Dead Code Elimination
Dead Code EliminationDead Code Elimination
Dead Code Elimination
Samiul Ehsan
 
Code optimization
Code optimizationCode optimization
Code optimization
veena venugopal
 
Dataflow Analysis
Dataflow AnalysisDataflow Analysis
Dataflow Analysis
Eelco Visser
 
Compiler Design Unit 5
Compiler Design Unit 5Compiler Design Unit 5
Compiler Design Unit 5
Jena Catherine Bel D
 
Theory of Computation Unit 4
Theory of Computation Unit 4Theory of Computation Unit 4
Theory of Computation Unit 4
Jena Catherine Bel D
 
Flow control instructions
Flow control instructionsFlow control instructions
Flow control instructions
Prodip Ghosh
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
IIUM
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
IIUM
 
Code optimization
Code optimization Code optimization
Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion |
Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion | Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion |
Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion |
FabMinds
 
Loop optimization
Loop optimizationLoop optimization
Loop optimization
Vivek Gandhi
 
Static Analysis of Computer programs
Static Analysis of Computer programs Static Analysis of Computer programs
Static Analysis of Computer programs
Arvind Devaraj
 
Basic blocks - compiler design
Basic blocks - compiler designBasic blocks - compiler design
Basic blocks - compiler design
hmnasim15
 
DMN 1-4 and Beyond
DMN 1-4 and BeyondDMN 1-4 and Beyond
DMN 1-4 and Beyond
Denis Gagné
 
What is New in DMN 1.4
What is New in DMN 1.4What is New in DMN 1.4
What is New in DMN 1.4
Denis Gagné
 

What's hot (20)

Compiler in System Programming/Code Optimization techniques in System Program...
Compiler in System Programming/Code Optimization techniques in System Program...Compiler in System Programming/Code Optimization techniques in System Program...
Compiler in System Programming/Code Optimization techniques in System Program...
 
ICFP 2011 "Subtyping Delimited Continuations" slides
ICFP 2011 "Subtyping Delimited Continuations" slidesICFP 2011 "Subtyping Delimited Continuations" slides
ICFP 2011 "Subtyping Delimited Continuations" slides
 
IRJET- Implementation of Material Requirement Planning(MRP) for a MULTI-L...
IRJET-  	  Implementation of Material Requirement Planning(MRP) for a MULTI-L...IRJET-  	  Implementation of Material Requirement Planning(MRP) for a MULTI-L...
IRJET- Implementation of Material Requirement Planning(MRP) for a MULTI-L...
 
Code optimization
Code optimizationCode optimization
Code optimization
 
11 functions
11 functions11 functions
11 functions
 
Dead Code Elimination
Dead Code EliminationDead Code Elimination
Dead Code Elimination
 
Code optimization
Code optimizationCode optimization
Code optimization
 
Dataflow Analysis
Dataflow AnalysisDataflow Analysis
Dataflow Analysis
 
Compiler Design Unit 5
Compiler Design Unit 5Compiler Design Unit 5
Compiler Design Unit 5
 
Theory of Computation Unit 4
Theory of Computation Unit 4Theory of Computation Unit 4
Theory of Computation Unit 4
 
Flow control instructions
Flow control instructionsFlow control instructions
Flow control instructions
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
 
Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14Csc1100 lecture03 ch03-pt2-s14
Csc1100 lecture03 ch03-pt2-s14
 
Code optimization
Code optimization Code optimization
Code optimization
 
Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion |
Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion | Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion |
Python Programming | JNTUA | UNIT 2 | Conditionals and Recursion |
 
Loop optimization
Loop optimizationLoop optimization
Loop optimization
 
Static Analysis of Computer programs
Static Analysis of Computer programs Static Analysis of Computer programs
Static Analysis of Computer programs
 
Basic blocks - compiler design
Basic blocks - compiler designBasic blocks - compiler design
Basic blocks - compiler design
 
DMN 1-4 and Beyond
DMN 1-4 and BeyondDMN 1-4 and Beyond
DMN 1-4 and Beyond
 
What is New in DMN 1.4
What is New in DMN 1.4What is New in DMN 1.4
What is New in DMN 1.4
 

Similar to CAiSE 2015 - Montali - Declarative Process Modeling in BPMN

Lec 05 - Combinational Logic
Lec 05 - Combinational LogicLec 05 - Combinational Logic
Lec 05 - Combinational Logic
Vajira Thambawita
 
Chapter 4: Combinational Logic
Chapter 4: Combinational LogicChapter 4: Combinational Logic
Chapter 4: Combinational Logic
Er. Nawaraj Bhandari
 
1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf
RohitkumarYadav80
 
1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf
RohitkumarYadav80
 
Flow chart programming
Flow chart programmingFlow chart programming
Flow chart programming
Tearsome Llantada
 
02_4-Conventional Decline Curve Analysis.ppt
02_4-Conventional Decline Curve Analysis.ppt02_4-Conventional Decline Curve Analysis.ppt
02_4-Conventional Decline Curve Analysis.ppt
rokur4099
 
Code Optimization.ppt
Code Optimization.pptCode Optimization.ppt
Code Optimization.ppt
JohnSamuel280314
 
CS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.pptCS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.ppt
ssuser0be977
 
Code optimization
Code optimizationCode optimization
Code optimization
veena venugopal
 
module 2-1 Design Analysis & Investigation of combinational logic in HDL.pptx
module 2-1 Design Analysis & Investigation of combinational logic in HDL.pptxmodule 2-1 Design Analysis & Investigation of combinational logic in HDL.pptx
module 2-1 Design Analysis & Investigation of combinational logic in HDL.pptx
Maaz609108
 
Data flow model -Lecture-4
Data flow model -Lecture-4Data flow model -Lecture-4
Data flow model -Lecture-4
Dr.YNM
 
Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
Meghaj Mallick
 
combinational-circuit (1).ppt
combinational-circuit (1).pptcombinational-circuit (1).ppt
combinational-circuit (1).ppt
ThanmayiKumar
 
Python Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and FunctionsPython Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and Functions
DhivyaSubramaniyam
 
COA Unit 2 chapter 2.pptx
COA Unit 2 chapter 2.pptxCOA Unit 2 chapter 2.pptx
COA Unit 2 chapter 2.pptx
Mala Gowda
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler design
Kuppusamy P
 
Design and minimization of reversible programmable logic arrays and its reali...
Design and minimization of reversible programmable logic arrays and its reali...Design and minimization of reversible programmable logic arrays and its reali...
Design and minimization of reversible programmable logic arrays and its reali...
Sajib Mitra
 
Unit I_CDA-1 computer design and applications.
Unit I_CDA-1 computer design and applications.Unit I_CDA-1 computer design and applications.
Unit I_CDA-1 computer design and applications.
brijeshgolani77
 
module3:Karnaugh Map
module3:Karnaugh Mapmodule3:Karnaugh Map
module3:Karnaugh Map
chandrakant shinde
 
Logic simplification sop and pos forms
Logic simplification sop and pos formsLogic simplification sop and pos forms
Logic simplification sop and pos forms
Manesh T
 

Similar to CAiSE 2015 - Montali - Declarative Process Modeling in BPMN (20)

Lec 05 - Combinational Logic
Lec 05 - Combinational LogicLec 05 - Combinational Logic
Lec 05 - Combinational Logic
 
Chapter 4: Combinational Logic
Chapter 4: Combinational LogicChapter 4: Combinational Logic
Chapter 4: Combinational Logic
 
1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf
 
1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf1. Combinational Logic Circutis with examples (1).pdf
1. Combinational Logic Circutis with examples (1).pdf
 
Flow chart programming
Flow chart programmingFlow chart programming
Flow chart programming
 
02_4-Conventional Decline Curve Analysis.ppt
02_4-Conventional Decline Curve Analysis.ppt02_4-Conventional Decline Curve Analysis.ppt
02_4-Conventional Decline Curve Analysis.ppt
 
Code Optimization.ppt
Code Optimization.pptCode Optimization.ppt
Code Optimization.ppt
 
CS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.pptCS540-2-lecture11 - Copy.ppt
CS540-2-lecture11 - Copy.ppt
 
Code optimization
Code optimizationCode optimization
Code optimization
 
module 2-1 Design Analysis & Investigation of combinational logic in HDL.pptx
module 2-1 Design Analysis & Investigation of combinational logic in HDL.pptxmodule 2-1 Design Analysis & Investigation of combinational logic in HDL.pptx
module 2-1 Design Analysis & Investigation of combinational logic in HDL.pptx
 
Data flow model -Lecture-4
Data flow model -Lecture-4Data flow model -Lecture-4
Data flow model -Lecture-4
 
Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
 
combinational-circuit (1).ppt
combinational-circuit (1).pptcombinational-circuit (1).ppt
combinational-circuit (1).ppt
 
Python Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and FunctionsPython Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and Functions
 
COA Unit 2 chapter 2.pptx
COA Unit 2 chapter 2.pptxCOA Unit 2 chapter 2.pptx
COA Unit 2 chapter 2.pptx
 
Code optimization in compiler design
Code optimization in compiler designCode optimization in compiler design
Code optimization in compiler design
 
Design and minimization of reversible programmable logic arrays and its reali...
Design and minimization of reversible programmable logic arrays and its reali...Design and minimization of reversible programmable logic arrays and its reali...
Design and minimization of reversible programmable logic arrays and its reali...
 
Unit I_CDA-1 computer design and applications.
Unit I_CDA-1 computer design and applications.Unit I_CDA-1 computer design and applications.
Unit I_CDA-1 computer design and applications.
 
module3:Karnaugh Map
module3:Karnaugh Mapmodule3:Karnaugh Map
module3:Karnaugh Map
 
Logic simplification sop and pos forms
Logic simplification sop and pos formsLogic simplification sop and pos forms
Logic simplification sop and pos forms
 

More from Faculty of Computer Science - Free University of Bozen-Bolzano

From Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two ModelsFrom Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two Models
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic SettingReasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Constraints for Process Framing in Augmented BPM
Constraints for Process Framing in Augmented BPMConstraints for Process Framing in Augmented BPM
Constraints for Process Framing in Augmented BPM
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Intelligent Systems for Process Mining
Intelligent Systems for Process MiningIntelligent Systems for Process Mining
Declarative process mining
Declarative process miningDeclarative process mining
Process Reasoning and Mining with Uncertainty
Process Reasoning and Mining with UncertaintyProcess Reasoning and Mining with Uncertainty
Process Reasoning and Mining with Uncertainty
Faculty of Computer Science - Free University of Bozen-Bolzano
 
From Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric ProcessesFrom Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric Processes
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Modeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware ProcessesModeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware Processes
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Soundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic ConditionsSoundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic Conditions
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Probabilistic Trace Alignment
Probabilistic Trace AlignmentProbabilistic Trace Alignment
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple ActorsStrategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Faculty of Computer Science - Free University of Bozen-Bolzano
 
From legacy data to event data
From legacy data to event dataFrom legacy data to event data
Putting Decisions in Perspective(s)
Putting Decisions in Perspective(s)Putting Decisions in Perspective(s)
Enriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral ConstraintsEnriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral Constraints
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Representing and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data accessRepresenting and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data access
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Compliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process modelsCompliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process models
Faculty of Computer Science - Free University of Bozen-Bolzano
 
Processes and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wallProcesses and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wall
Faculty of Computer Science - Free University of Bozen-Bolzano
 

More from Faculty of Computer Science - Free University of Bozen-Bolzano (20)

From Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two ModelsFrom Case-Isolated to Object-Centric Processes - A Tale of two Models
From Case-Isolated to Object-Centric Processes - A Tale of two Models
 
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic SettingReasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
 
Constraints for Process Framing in Augmented BPM
Constraints for Process Framing in Augmented BPMConstraints for Process Framing in Augmented BPM
Constraints for Process Framing in Augmented BPM
 
Intelligent Systems for Process Mining
Intelligent Systems for Process MiningIntelligent Systems for Process Mining
Intelligent Systems for Process Mining
 
Declarative process mining
Declarative process miningDeclarative process mining
Declarative process mining
 
Process Reasoning and Mining with Uncertainty
Process Reasoning and Mining with UncertaintyProcess Reasoning and Mining with Uncertainty
Process Reasoning and Mining with Uncertainty
 
From Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric ProcessesFrom Case-Isolated to Object-Centric Processes
From Case-Isolated to Object-Centric Processes
 
Modeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware ProcessesModeling and Reasoning over Declarative Data-Aware Processes
Modeling and Reasoning over Declarative Data-Aware Processes
 
Soundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic ConditionsSoundness of Data-Aware Processes with Arithmetic Conditions
Soundness of Data-Aware Processes with Arithmetic Conditions
 
Probabilistic Trace Alignment
Probabilistic Trace AlignmentProbabilistic Trace Alignment
Probabilistic Trace Alignment
 
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple ActorsStrategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
 
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with UncertaintyExtending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
 
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
 
From legacy data to event data
From legacy data to event dataFrom legacy data to event data
From legacy data to event data
 
Putting Decisions in Perspective(s)
Putting Decisions in Perspective(s)Putting Decisions in Perspective(s)
Putting Decisions in Perspective(s)
 
Enriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral ConstraintsEnriching Data Models with Behavioral Constraints
Enriching Data Models with Behavioral Constraints
 
Representing and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data accessRepresenting and querying norm states using temporal ontology-based data access
Representing and querying norm states using temporal ontology-based data access
 
Compliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process modelsCompliance monitoring of multi-perspective declarative process models
Compliance monitoring of multi-perspective declarative process models
 
Processes and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wallProcesses and organizations - a look behind the paper wall
Processes and organizations - a look behind the paper wall
 

Recently uploaded

Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
SkillCertProExams
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 
Updated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidismUpdated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidism
Faculty of Medicine And Health Sciences
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
OECD Directorate for Financial and Enterprise Affairs
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
artemacademy2
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
samililja
 
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPointMẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
1990 Media
 
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
OECD Directorate for Financial and Enterprise Affairs
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
ToshihiroIto4
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 

Recently uploaded (19)

Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 
Updated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidismUpdated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidism
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
 
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPointMẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
 
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 

CAiSE 2015 - Montali - Declarative Process Modeling in BPMN

  • 1. Declarative Process Modeling in BPMN Marco Montali Free University of Bozen-Bolzano joint work with Giuseppe De Giacomo, Fabrizio M. Maggi, Marlon Dumas CAiSE’151
  • 2. Disclaimer for this Talk Process = Control-flow 2
  • 3. Trends in BPM modeling • Highly-variable BPs • Metaphor: rules/constraints Dec t i lar a ev Imperative modeling • Traditional repetitive BPs • Metaphor: flow-chart 3
  • 5. Imperative Modeling Focus: howthings must be done • Explicit description of the process control-flow Closedmodeling • All that is not explicitly modeled is forbidden • Exceptions all to be considered at design time 5
  • 6. BPMN Receive order Check availability Article available? Ship article Financial settlement yes Procurement no Payment received Inform customer Late deliveryUndeliverable Customer informed Inform customer Article removed Remove article from catalogue 6
  • 7. BPMN Receive order Check availability Article available? Ship article Financial settlement yes Procurement no Payment received Inform customer Late deliveryUndeliverable Customer informed Inform customer Article removed Remove article from catalogue Input Output 7
  • 8. BPMN Receive order Check availability Article available? Ship article Financial settlement yes Procurement no Payment received Inform customer Late deliveryUndeliverable Customer informed Inform customer Article removed Remove article from catalogue Input Output 8
  • 10. Constraint-Based Modeling Focus: whathas to be accomplished • Explicit description of the relevant business constraints • behavioral constraints, best practices, norms, rules, … Openmodeling • All behaviors are possible provided that they respect the constraints • Control-flow left implicit 10
  • 15. Pros and Cons (for dummies) Flexibility Control Imperative modeling - + Declarative modeling + - 15
  • 16. Ultimate Goal:
 Trade-off between Flexibility and Control 16
  • 17. Towards a Suitable Trade-Off In the literature: many hybrid notations • Mix declarative and imperative constructs • Lasagne integration vs spaghetti integration This suggests that new notations are needed. 
 Bad impact on understandability. Do we really need completely new notations? Our answer: NO! 17
  • 18. Our Approach Translate Declare into a notation that • mediates between flexibility and control • is a conservative extension to well-known imperative modeling languages (BPMN) • Looks familiar • Can be converted back into standard BPMN But… why not plain BPMN??? 18
  • 19. Process Responsibilities • History recognition: given the history of a running instance, compute the current state (or reject) • Todo list: given the current state, tell 
 which tasks can be executed next
 (including possibility of termination)
 • Update: given a state and a task,
 determine the new state S A B C S SnewS 19
  • 20. Declare as a Process? Automata to the Rescue! 20
  • 21. Declare and Temporal Logics • Observation: Declare constraints are formalized using LTL over finite traces (LTLf) • A Declare model is simply a big LTLf formula • LTLf corresponds to the star-free fragment of regular expressions • Intimate connection with finite-state automata 21
  • 22. Declare 2 DFA … … … ' LTLf NFA
 nondeterministic DFA
 deterministic LTLf2aut determin. 22
  • 23. From Declare to DFA … … … ' LTLf NFA
 nondeterministic DFA
 deterministic LTLf2aut determin. A process! • allowed tasks: alphabet, task: symbol, trace: word • history recognition —> word prefix recognition • todo list —> return next symbols • update —> transition 23
  • 24. Example onse constraint). close order pay receipt invoice Fig. 1: Example of a Declare model clarative model, this model should be interpreted according antics: It is possible to send a receipt or an invoice without p so, to close an order without eventually paying. In addition, an be executed several times. Closing an order several times ss execution, whereas it is possible to pay several times (this i 0 1 close order 2 pay receipt invoice receipt invoice close order receipt invoice close order pay 24
  • 25. Problem Solved (?) Convert Declare model into a DFA.
 The DFA: • accepts all and only the traces accepted by the Declare model • can be easily converted into workflow nets, BPMN, … • is apt to be post-processed • E.g., theory of region to discover concurrent parts (cf. [Prescher et al., SIMPDA 2014]) 25
  • 26. Can you Digest Spaghetti? Or: the Issue of Understandability 26
  • 27. Declare 2 DFA: Complexity ' LTLf NFA
 nondeterministic DFA
 deterministic LTLf2aut determin. exponential
 blow-up exponential
 blow-up N.B.: this complexity is unavoidable 
 (and is not just related to concurrency) 27
  • 28. From [Prescher et al., SIMPDA 2014] (a) Declare model (b) Finite State Automaton Fig. 7: The process mined out of BPIC 2013 log [33], 4.1 Implementation In order to have the opportunity to analyze real-life de 28
  • 29. From [Prescher et al., SIMPDA 2014] (a) Declare model (b) Finite State Automaton Fig. 7: The process mined out of BPIC 2013 log [33], 4.1 Implementation In order to have the opportunity to analyze real-life de re model Completed Accepted Unmatched Queued Completed Queued Accepted Accepted Completed Accepted Queued Completed Accepted Completed Accepted Completed Accepted Queued CompletedAccepted AcceptedQueued Completed Accepted Completed Queued Accepted Queued Completed Completed Queued Accepted (b) Finite State Automaton derived from the Declare model process mined out of BPIC 2013 log [33], as Declare model and FSA 29
  • 30. From [Prescher et al., SIMPDA 2014] (a) Declare model (b) Finite State Automaton Fig. 7: The process mined out of BPIC 2013 log [33], 4.1 Implementation In order to have the opportunity to analyze real-life de re model Completed Accepted Unmatched Queued Completed Queued Accepted Accepted Completed Accepted Queued Completed Accepted Completed Accepted Completed Accepted Queued CompletedAccepted AcceptedQueued Completed Accepted Completed Queued Accepted Queued Completed Completed Queued Accepted (b) Finite State Automaton derived from the Declare model process mined out of BPIC 2013 log [33], as Declare model and FSA q q q q q q q q c c c c c c c c c c a a a a a a a a a a a u 30
  • 31. Our Solution BPMN-D: a declarative view on top of BPMN BPMN-D BPMN Declare 31
  • 32. BPMN-D Core BPMN constructs • None start/end events • Atomic tasks • XOR gateways • Sequence flows Extended, “declarative” constructs • Extended tasks • Extended flow connectors 32
  • 33. BPMN-D Tasks Notation Name Semantics t Atomic task As in BPMN: perform t IN {t1,…,tn} Inclusive task Perform a task among t1, . . . , tn EX {t1,…,tn} Exclusive task Perform a task different from t1, . . . , tn ANY Any task Perform any task from those available in the business context Table 2: Overview of BPMN-D activity nodes A flow connector is a binary, directed relation between nodes in the process. It indi- cates an ordering relationship between the connected nodes, and implicitly also the state 33
  • 34. BPMN-D Flow Connectors Notation Name Semantics A B Sequence flow As in BPMN: node B is traversed next to A IN {t1,…,tn} A B Inclusive flow B is traversed after A, with 0 or more repetitions of tasks from t1, . . . , tn in between EX {t1,…,tn} A B Exclusive flow B is traversed after A, with 0 or more repetitions of tasks different from t1, . . . , tn in between ANY A B Any flow B is traversed after A, with 0 or more repetitions of tasks in between Table 3: Overview of BPMN-D flow connectors 34
  • 35. Example haviors that are allowed during the process execution, following the standard BPMN semantics of deferred choice (i.e., choice freely taken by the resources responsible for the process execution). As shown in Fig. 2, the graphical representation for a XOR gate- way is the same as in BPMN. In this paper, we only discuss XOR gateways as they are sufficient to demonstrate the extensions proposed in BPMN-D and the translation from Declare to BPMN-D. In the remainder of the paper, we denote by ⌃ the set of all tasks that can be performed in a given business context. X close order IN {receipt, invoice} X pay EX {pay} IN {receipt,invoice} IN {pay, close order} X Fig. 2: Example of a BPMN-D model BPMN-D extends only two constructs in BPMN, namely activity nodes and se- quence flows connectors. An activity node represents a task in the process, and is repre- sented as a labeled, rounded rectangle. As in standard BPMN, this in turn corresponds to an execution step inside the process. Differently from BPMN, though, a BPMN-D 35
  • 36. From BPMN-D to BPMN • BPMN-D is just a “view” on top of (a fragment of) BPMN • Once the set of available tasks is known… • EX constructs can be converted into IN constructs via set-difference • IN constructs can be modularly turned into standard BPMN BPMN-D Translation into BPMN IN {t1,…,tn} A B A B t1 tn X X… IN {t1,…,tn} A B A B t1 tnX X … X X 36
  • 37. Modular Unfolding X close order XX pay IN {receipt, invoice} EX {pay} IN {receipt,invoice} IN {pay, close order} BPMN-D 37
  • 38. Modular Unfolding X close orderX XX receipt invoice XX XX receipt invoice close order XX pay close order pay receipt invoice XX X X Fig. 3: Standard BPMN representation of the BPMN-D diagram of Figure 2 BPMN 38
  • 39. From Declare to BPMN-D … … … X close order XX pay IN {r, i} EX {p} IN {r,i} IN {p,c} Declare
 model Constraint
 Automaton BPMN-D
 model Declare 2 CA CA 2 BPMN-D Correct: accepts all and only the traces accepted by the input Declare model A DFA with 
 constraints as labels 39
  • 40. Constraint Automaton • A DFA can have multiple edges between same 2 states • They represent the same state change! • Constraint automaton combines them into a single “constraint transition” that resembles BPMN-D • “t” —> normal transition • IN T —> move with a symbol in the set T • EX T —> move with a symbol not in the set T • ANY —> move with any symbol • Procedure: Declare to DFA, then “compact” the DFA into a constraint automaton S1 S2 a b a b c S1 S2 IN {a,b} EX {d} TASKS: {a,b,c,d} 40 d d
  • 41. Example ever a payment is done, then a receipt or an invoice must be produce esponse constraint). close order pay receipt invoice Fig. 1: Example of a Declare model declarative model, this model should be interpreted according to mantics: It is possible to send a receipt or an invoice without payi also, to close an order without eventually paying. In addition, an l can be executed several times. Closing an order several times ha ocess execution, whereas it is possible to pay several times (this is th of installments) and, also, to send invoices and receipts several tim 0 1 close order 2 pay receipt invoice receipt invoice close order receipt invoice close order pay 41
  • 42. Example ever a payment is done, then a receipt or an invoice must be produce esponse constraint). close order pay receipt invoice Fig. 1: Example of a Declare model declarative model, this model should be interpreted according to mantics: It is possible to send a receipt or an invoice without payi also, to close an order without eventually paying. In addition, an l can be executed several times. Closing an order several times ha ocess execution, whereas it is possible to pay several times (this is th of installments) and, also, to send invoices and receipts several tim 0 IN {receipt, invoice} 1 close order 2 EX {pay} pay IN {pay, close order} IN {receipt, invoice} 42
  • 43. From CA to BPMN-D Linear translation, in 3 steps: 1.Iterate through states, generating process blocks 2.Interconnect blocks through tasks obtained from transitions 3.Remove unnecessary gateways that have only one input and one output 43
  • 44. From CA to BPMN-D: States 1. State: introduces XOR split/join logic 2. Initial state: single start event of the process 3. Final state: choice of termination S X X start XS0 X Sf X X 44
  • 45. From CA to BPMN-D: Transitions 4. Self-loop: no effective state change; executable 0..* times 5. Proper transition: state transformation through task execution X X label S label S1 S2 label X … X X…labelX 45
  • 46. Example 0 IN {receipt, invoice} 1 close order 2 EX {pay} pay IN {pay, close order} IN {receipt, invoice} 46
  • 47. Example X 0 IN {receipt, invoice} 1 close order 2 EX {pay} pay IN {pay, close order} IN {receipt, invoice} X IN {receipt, invoice} X EX {pay} IN {pay, close order} X X XX X X 47
  • 48. Example X 0 IN {receipt, invoice} 1 close order 2 EX {pay} pay IN {pay, close order} IN {receipt, invoice} X close order IN {receipt, invoice} X pay EX {pay} IN {receipt,invoice} IN {pay, close order} X X XX X X 48
  • 49. Example X 0 IN {receipt, invoice} 1 close order 2 EX {pay} pay IN {pay, close order} IN {receipt, invoice} X close order IN {receipt, invoice} X pay EX {pay} IN {receipt,invoice} IN {pay, close order} X X XX X X 49
  • 50. Example 0 IN {receipt, invoice} 1 close order 2 EX {pay} pay IN {pay, close order} IN {receipt, invoice} X close order IN {receipt, invoice} X pay EX {pay} IN {receipt,invoice} IN {pay, close order} XX 50
  • 51. Conclusion • BPMN-D: conservative, “minor” extension of BPMN with declarative constructs • Can be encoded back into standard BPMN • Translation mechanism from Declare to BPMN-D • Tackles directly all regular expressions / LDLf • Lessons learnt: • We don’t need completely new notations • We cannot apply standard techniques off-the-shelf 51
  • 52. Ongoing/Future Work • Include parallel gateways and exceptions • Exception handling derived from “compensation constraints” 
 [De Giacomo et al., BPM 2014] • Tooling and benchmarking with case studies • Synthesis of “just sound” BPMN-D processes • Compliant by-design, but not necessarily accepting all the original intended behaviors • “Tuning knob” for trade-off between understandability and coverage of behaviors 52