Paolo Felli, Marco Montali, Sarah Winkler
Soundness of data-aware processes
with arithmetic conditions
CAiSE 2022, Leuven
Starting point
A holistic view of information systems
static constraints dynamic constraints
data processes
Starting point
A holistic view of information systems
static constraints dynamic constraints
data processes
Starting point
A holistic view of information systems
static constraints dynamic constraints
data processes
Process-oriented view:


“data-aware processes”
Formal foundations:


execution semantics,
analysis, correctness
guarantees
The zoo of data-aware processes
Control-
fl
ow
• Petri nets, condition-action rules, declarative
constraints,…

Data
• Variables, relational, semi-structured, with
constraints, with read-only data, ontologies, …

Integration
• Data access, query, manipulation, external
inputs, …
A process model with case data and conditions
Adapted from [Mannhardt et al., Computing 2016]
Fine
received
Send


fi
ne
Appeal to
prefecture
Pay
Insert
noti
fi
cation
Pay
Appeal to
judge
Pay
Send to
prefecture
Result
prefecture
Notify
Collect
credit
Add
penalty
Adapted from [Mannhardt et al., Computing 2016]
Fine
received
Send


fi
ne
Appeal to
prefecture
Pay
Insert
noti
fi
cation
Pay
Appeal to
judge
Pay
Send to
prefecture
Result
prefecture
Notify
Collect
credit
Add
penalty
amount total
amount
dismissal
code
points
deducted
expenses ds dp dj
A process model with case data and conditions
Adapted from [Mannhardt et al., Computing 2016]
Fine
received
Send


fi
ne
Appeal to
prefecture
Pay
Insert
noti
fi
cation
Pay
Appeal to
judge
Pay
Send to
prefecture
Result
prefecture
Notify
Collect
credit
Add
penalty
amount total
amount
dismissal
code
points
deducted
expenses ds dp dj
dj
A process model with case data and conditions
x
xw
xr
Adapted from [Mannhardt et al., Computing 2016]
Fine
received
Send


fi
ne
Appeal to
prefecture
Pay
Insert
noti
fi
cation
Pay
Appeal to
judge
Pay
Send to
prefecture
Result
prefecture
Notify
Collect
credit
Add
penalty
aw
, tw
, dw
, pw
≥ 0
pw
≥ 0
0 ≤ dsw
≤ 90days ∧ ew
≥ 0
pw
≥ 0 pw
≥ 0 aw
≥ 0
tr
≥ ar
+ er
dr
≠ 0 ∨ (pr
= 0 ∧ tr
≥ ar
)
t
r
<
a
r
+
e
r
tr
≥ ar
+ er
0 ≤ djw
≤ 60days ∧ dw
≥ 0
d
r
=
0
dr
= 2
0 ≤ dpw
≤ 60days dw
≥ 0 dr
= 0
dr
= 1
amount total
amount
dismissal
code
points
deducted
expenses ds dp dj
A process model with case data and conditions
Mining Modelling
Fine
received
Send


fi
ne
Appeal to
prefecture
Pay
Insert
noti
fi
cation
Pay
Appeal to
judge
Pay Notify
Collect
credit
Add
penalty
aw
, tw
, dw
, pw
≥ 0
pw
≥ 0
0 ≤ dsw
≤ 90days ∧ ew
≥ 0
pw
≥ 0 pw
≥ 0 aw
≥ 0
tr
≥ ar
+ er
dr
≠ 0 ∨ (pr
= 0 ∧ tr
≥ ar
)
t
r
<
a
r
+
e
r
tr
≥ ar
+ er
0 ≤ djw
≤ 60days ∧ dw
≥ 0
d
r
=
0
dr
= 2
0 ≤ dpw
≤ 60days
Is the model “correct”?
Send to
prefecture
Result
prefecture
dw
≥ 0 dr
= 0
dr
= 1
Fine
received
Send


fi
ne
Appeal to
prefecture
Pay
Insert
noti
fi
cation
Pay
Appeal to
judge
Pay Notify
Collect
credit
Add
penalty
aw
, tw
, dw
, pw
≥ 0
pw
≥ 0
0 ≤ dsw
≤ 90days ∧ ew
≥ 0
pw
≥ 0 pw
≥ 0 aw
≥ 0
tr
≥ ar
+ er
dr
≠ 0 ∨ (pr
= 0 ∧ tr
≥ ar
)
t
r
<
a
r
+
e
r
tr
≥ ar
+ er
0 ≤ djw
≤ 60days ∧ dw
≥ 0
d
r
=
0
dr
= 2
0 ≤ dpw
≤ 60days
Is the model “correct”?
Send to
prefecture
Result
prefecture
dw
≥ 0 dr
= 0
dr
= 1
Send to
prefecture
Result
prefecture
dr
= 0
dr
= 1
dw
≥ 0
Fine
received
Send


fi
ne
Appeal to
prefecture
Pay
Insert
noti
fi
cation
Pay
Appeal to
judge
Pay Notify
Collect
credit
Add
penalty
aw
, tw
, dw
, pw
≥ 0
pw
≥ 0
0 ≤ dsw
≤ 90days ∧ ew
≥ 0
pw
≥ 0 pw
≥ 0 aw
≥ 0
tr
≥ ar
+ er
dr
≠ 0 ∨ (pr
= 0 ∧ tr
≥ ar
)
t
r
<
a
r
+
e
r
tr
≥ ar
+ er
0 ≤ djw
≤ 60days ∧ dw
≥ 0
d
r
=
0
dr
= 2
0 ≤ dpw
≤ 60days
Is the model “correct”?
Send to
prefecture
Result
prefecture
dw
≥ 0 dr
= 0
dr
= 1
Send to
prefecture
Result
prefecture
dr
= 0
dr
= 1
dw
≥ 0
Stuck if “send to prefecture” writes d > 1
Data Petri Nets
[Mannhardt,PhD2018; _____,ER2018; _____,ACSD2019]
• Petri nets enriched with typed variables
(ranging over in
fi
nite domains)

• Transitions access variables via read and
write guards

• State: marking + variable assignment

• Transition
fi
ring: usual
fi
ring semantics +
variable assignment update given a binding
for the written variables
In
fi
nite reachability graph even when the net is bounded
Which language to express conditions? We want (linear) arithmetic
Fragile setting: undecidability around the corner!
Soundness for Petri nets
Always “option to complete”:

• There are no dead tasks 

• The
fi
nal marking is only reached in a clean way

• In every reachable marking, it must be possible to
reach the
fi
nal marking
Soundness for Petri nets
Always “option to complete”:

• There are no dead tasks 

• The
fi
nal marking is only reached in a clean way

• In every reachable marking, it must be possible to
reach the
fi
nal marking
Reachability Reachability
Branching property
Data-Aware Soundness for Data Petri nets
[____,ER2018;____,ACSD2019]
Always “option to complete”:

• There are no dead tasks 

• The
fi
nal marking is only reached in a clean way for
some variable assignment
• In every reachable marking, it must be possible to
reach the
fi
nal marking for some variable assignment
Key questions…
1.Soundness checking decidable for DPNs
equipped with arithmetic? 

2.Is there an operational way to conduct the
check?

3.Is this operational way e
ff
ective from the
computational point of view?
A tale of encodings
bounded


Data Petri
Net
A tale of encodings
Reachability
graph


(in
fi
nite-state)
bounded


Data Petri
Net
DDS


(Transition
system with
guards on
edges)
Interleaving
Sound?
A tale of encodings
Reachability
graph


(in
fi
nite-state)
bounded


Data Petri
Net
DDS


(Transition
system with
guards on
edges)
Interleaving
Sound?
Constraint
graph
Symbolic states
Sound?
A tale of encodings
Reachability
graph


(in
fi
nite-state)
bounded


Data Petri
Net
DDS


(Transition
system with
guards on
edges)
Interleaving
Sound?
Constraint
graph
Symbolic states
Sound?
[ER2018]: variable-to-constant


[ACSD2019]: variable-to-variable


no arithmetic


Direct,
fi
nite abstractions!
A tale of encodings
Reachability
graph


(in
fi
nite-state)
bounded


Data Petri
Net
DDS


(Transition
system with
guards on
edges)
Interleaving
Sound?
Constraint
graph
Symbolic states
Sound?
φ
A tale of encodings
Reachability
graph


(in
fi
nite-state)
bounded


Data Petri
Net
DDS


(Transition
system with
guards on
edges)
Interleaving
Sound?
Constraint
graph
Symbolic states
Sound?
φ
SMT solvers!
Requirements


Decidable SAT
on guards


Finite formula
A tale of encodings
Reachability
graph


(in
fi
nite-state)
bounded


Data Petri
Net
DDS


(Transition
system with
guards on
edges)
Interleaving
Sound?
Constraint
graph
Symbolic states
Sound?
φ
SMT solvers!
[AAAI2022]


Semantic notion of
fi
nite-summary


Identi
fi
ed syntactic
classes inducing
fi
nite-
summary


Linear-time properties
Requirements


Decidable SAT
on guards


Finite formula
In this paper…
bounded


Data Petri
Net φ
Data-aware soundness
• There are no dead tasks 

• The
fi
nal marking is only reached in a clean way for
some variable assignment

• In every reachable marking, it must be possible to
reach the
fi
nal marking for some variable assignment
In this paper…
bounded


Data Petri
Net φ
Data-aware soundness
• There are no dead tasks 

• The
fi
nal marking is only reached in a clean way for
some variable assignment

• In every reachable marking, it must be possible to
reach the
fi
nal marking for some variable assignment
φ1
φ2
φ3
In this paper…
bounded


Data Petri
Net φ
Data-aware soundness
• There are no dead tasks 

• The
fi
nal marking is only reached in a clean way for
some variable assignment

• In every reachable marking, it must be possible to
reach the
fi
nal marking for some variable assignment
φ1
φ2
φ3
SMT
In this paper…
bounded


Data Petri
Net φ
Data-aware soundness
• There are no dead tasks 

• The
fi
nal marking is only reached in a clean way for
some variable assignment

• In every reachable marking, it must be possible to
reach the
fi
nal marking for some variable assignment
φ1
φ2
φ3
SMT
For general linear
arithmetic: no
guarantees


Guarantees for classes
identi
fi
ed in AAAI22


(includes all previous
results)


The example before falls
in one of these classes
Implementation
ada:
Implementation
ada:
Implementation
ada:
Implementation
ada:
Experiments
Experiments
Out of reach with previous techniques
Experiments
Performance improvement
Almost 3hours with
previous techniques
Scalability
A
A1 An
A2 …
e ⊙ e′

e = z1 ∧ z1 = z2 ∧ … ∧ zk−1 = zk ⊙ zk = e′

n k
sec
sec
General framework for DPNs with arithmetic
Formal analysis paired with data abstraction techniques
No ad-hoc algorithms: SMT as a Swiss Army knife
Recent progress: CTL* model checking [IJCAR22]
SMT for discovery, tight discovery-reasoning integration
On-
fi
eld validation?

Soundness of Data-Aware Processes with Arithmetic Conditions

  • 1.
    Paolo Felli, MarcoMontali, Sarah Winkler Soundness of data-aware processes with arithmetic conditions CAiSE 2022, Leuven
  • 2.
    Starting point A holisticview of information systems static constraints dynamic constraints data processes
  • 3.
    Starting point A holisticview of information systems static constraints dynamic constraints data processes
  • 4.
    Starting point A holisticview of information systems static constraints dynamic constraints data processes Process-oriented view: “data-aware processes” Formal foundations: execution semantics, analysis, correctness guarantees
  • 5.
    The zoo ofdata-aware processes Control- fl ow • Petri nets, condition-action rules, declarative constraints,… Data • Variables, relational, semi-structured, with constraints, with read-only data, ontologies, … Integration • Data access, query, manipulation, external inputs, …
  • 6.
    A process modelwith case data and conditions Adapted from [Mannhardt et al., Computing 2016] Fine received Send fi ne Appeal to prefecture Pay Insert noti fi cation Pay Appeal to judge Pay Send to prefecture Result prefecture Notify Collect credit Add penalty
  • 7.
    Adapted from [Mannhardtet al., Computing 2016] Fine received Send fi ne Appeal to prefecture Pay Insert noti fi cation Pay Appeal to judge Pay Send to prefecture Result prefecture Notify Collect credit Add penalty amount total amount dismissal code points deducted expenses ds dp dj A process model with case data and conditions
  • 8.
    Adapted from [Mannhardtet al., Computing 2016] Fine received Send fi ne Appeal to prefecture Pay Insert noti fi cation Pay Appeal to judge Pay Send to prefecture Result prefecture Notify Collect credit Add penalty amount total amount dismissal code points deducted expenses ds dp dj dj A process model with case data and conditions x xw xr
  • 9.
    Adapted from [Mannhardtet al., Computing 2016] Fine received Send fi ne Appeal to prefecture Pay Insert noti fi cation Pay Appeal to judge Pay Send to prefecture Result prefecture Notify Collect credit Add penalty aw , tw , dw , pw ≥ 0 pw ≥ 0 0 ≤ dsw ≤ 90days ∧ ew ≥ 0 pw ≥ 0 pw ≥ 0 aw ≥ 0 tr ≥ ar + er dr ≠ 0 ∨ (pr = 0 ∧ tr ≥ ar ) t r < a r + e r tr ≥ ar + er 0 ≤ djw ≤ 60days ∧ dw ≥ 0 d r = 0 dr = 2 0 ≤ dpw ≤ 60days dw ≥ 0 dr = 0 dr = 1 amount total amount dismissal code points deducted expenses ds dp dj A process model with case data and conditions
  • 10.
  • 11.
    Fine received Send fi ne Appeal to prefecture Pay Insert noti fi cation Pay Appeal to judge PayNotify Collect credit Add penalty aw , tw , dw , pw ≥ 0 pw ≥ 0 0 ≤ dsw ≤ 90days ∧ ew ≥ 0 pw ≥ 0 pw ≥ 0 aw ≥ 0 tr ≥ ar + er dr ≠ 0 ∨ (pr = 0 ∧ tr ≥ ar ) t r < a r + e r tr ≥ ar + er 0 ≤ djw ≤ 60days ∧ dw ≥ 0 d r = 0 dr = 2 0 ≤ dpw ≤ 60days Is the model “correct”? Send to prefecture Result prefecture dw ≥ 0 dr = 0 dr = 1
  • 12.
    Fine received Send fi ne Appeal to prefecture Pay Insert noti fi cation Pay Appeal to judge PayNotify Collect credit Add penalty aw , tw , dw , pw ≥ 0 pw ≥ 0 0 ≤ dsw ≤ 90days ∧ ew ≥ 0 pw ≥ 0 pw ≥ 0 aw ≥ 0 tr ≥ ar + er dr ≠ 0 ∨ (pr = 0 ∧ tr ≥ ar ) t r < a r + e r tr ≥ ar + er 0 ≤ djw ≤ 60days ∧ dw ≥ 0 d r = 0 dr = 2 0 ≤ dpw ≤ 60days Is the model “correct”? Send to prefecture Result prefecture dw ≥ 0 dr = 0 dr = 1 Send to prefecture Result prefecture dr = 0 dr = 1 dw ≥ 0
  • 13.
    Fine received Send fi ne Appeal to prefecture Pay Insert noti fi cation Pay Appeal to judge PayNotify Collect credit Add penalty aw , tw , dw , pw ≥ 0 pw ≥ 0 0 ≤ dsw ≤ 90days ∧ ew ≥ 0 pw ≥ 0 pw ≥ 0 aw ≥ 0 tr ≥ ar + er dr ≠ 0 ∨ (pr = 0 ∧ tr ≥ ar ) t r < a r + e r tr ≥ ar + er 0 ≤ djw ≤ 60days ∧ dw ≥ 0 d r = 0 dr = 2 0 ≤ dpw ≤ 60days Is the model “correct”? Send to prefecture Result prefecture dw ≥ 0 dr = 0 dr = 1 Send to prefecture Result prefecture dr = 0 dr = 1 dw ≥ 0 Stuck if “send to prefecture” writes d > 1
  • 14.
    Data Petri Nets [Mannhardt,PhD2018;_____,ER2018; _____,ACSD2019] • Petri nets enriched with typed variables (ranging over in fi nite domains) • Transitions access variables via read and write guards • State: marking + variable assignment • Transition fi ring: usual fi ring semantics + variable assignment update given a binding for the written variables In fi nite reachability graph even when the net is bounded Which language to express conditions? We want (linear) arithmetic
  • 15.
  • 16.
    Soundness for Petrinets Always “option to complete”: • There are no dead tasks • The fi nal marking is only reached in a clean way • In every reachable marking, it must be possible to reach the fi nal marking
  • 17.
    Soundness for Petrinets Always “option to complete”: • There are no dead tasks • The fi nal marking is only reached in a clean way • In every reachable marking, it must be possible to reach the fi nal marking Reachability Reachability Branching property
  • 18.
    Data-Aware Soundness forData Petri nets [____,ER2018;____,ACSD2019] Always “option to complete”: • There are no dead tasks • The fi nal marking is only reached in a clean way for some variable assignment • In every reachable marking, it must be possible to reach the fi nal marking for some variable assignment
  • 19.
    Key questions… 1.Soundness checkingdecidable for DPNs equipped with arithmetic? 2.Is there an operational way to conduct the check? 3.Is this operational way e ff ective from the computational point of view?
  • 20.
    A tale ofencodings bounded Data Petri Net
  • 21.
    A tale ofencodings Reachability graph (in fi nite-state) bounded Data Petri Net DDS (Transition system with guards on edges) Interleaving Sound?
  • 22.
    A tale ofencodings Reachability graph (in fi nite-state) bounded Data Petri Net DDS (Transition system with guards on edges) Interleaving Sound? Constraint graph Symbolic states Sound?
  • 23.
    A tale ofencodings Reachability graph (in fi nite-state) bounded Data Petri Net DDS (Transition system with guards on edges) Interleaving Sound? Constraint graph Symbolic states Sound? [ER2018]: variable-to-constant [ACSD2019]: variable-to-variable no arithmetic Direct, fi nite abstractions!
  • 24.
    A tale ofencodings Reachability graph (in fi nite-state) bounded Data Petri Net DDS (Transition system with guards on edges) Interleaving Sound? Constraint graph Symbolic states Sound? φ
  • 25.
    A tale ofencodings Reachability graph (in fi nite-state) bounded Data Petri Net DDS (Transition system with guards on edges) Interleaving Sound? Constraint graph Symbolic states Sound? φ SMT solvers! Requirements Decidable SAT on guards Finite formula
  • 26.
    A tale ofencodings Reachability graph (in fi nite-state) bounded Data Petri Net DDS (Transition system with guards on edges) Interleaving Sound? Constraint graph Symbolic states Sound? φ SMT solvers! [AAAI2022] Semantic notion of fi nite-summary Identi fi ed syntactic classes inducing fi nite- summary Linear-time properties Requirements Decidable SAT on guards Finite formula
  • 27.
    In this paper… bounded DataPetri Net φ Data-aware soundness • There are no dead tasks • The fi nal marking is only reached in a clean way for some variable assignment • In every reachable marking, it must be possible to reach the fi nal marking for some variable assignment
  • 28.
    In this paper… bounded DataPetri Net φ Data-aware soundness • There are no dead tasks • The fi nal marking is only reached in a clean way for some variable assignment • In every reachable marking, it must be possible to reach the fi nal marking for some variable assignment φ1 φ2 φ3
  • 29.
    In this paper… bounded DataPetri Net φ Data-aware soundness • There are no dead tasks • The fi nal marking is only reached in a clean way for some variable assignment • In every reachable marking, it must be possible to reach the fi nal marking for some variable assignment φ1 φ2 φ3 SMT
  • 30.
    In this paper… bounded DataPetri Net φ Data-aware soundness • There are no dead tasks • The fi nal marking is only reached in a clean way for some variable assignment • In every reachable marking, it must be possible to reach the fi nal marking for some variable assignment φ1 φ2 φ3 SMT For general linear arithmetic: no guarantees Guarantees for classes identi fi ed in AAAI22 (includes all previous results) The example before falls in one of these classes
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
    Experiments Out of reachwith previous techniques
  • 37.
  • 38.
    Scalability A A1 An A2 … e⊙ e′  e = z1 ∧ z1 = z2 ∧ … ∧ zk−1 = zk ⊙ zk = e′  n k sec sec
  • 39.
    General framework forDPNs with arithmetic Formal analysis paired with data abstraction techniques No ad-hoc algorithms: SMT as a Swiss Army knife Recent progress: CTL* model checking [IJCAR22] SMT for discovery, tight discovery-reasoning integration On- fi eld validation?