State-Boundedness in Data-Aware Dynamic Systems
Marco Montali
KRDB Research Centre for Knowledge and Data
Free University of Bozen-Bolzano
Joint work with: B. Bagheri Hariri, D. Calvanese, A. Deutsch
KR 2014
Marco Montali (unibz) State-Boundedness KR 2014 1 / 26
Data-Aware Dynamic System
A dynamic system that manipulate data over time.
Recall the VSL keynote by F. Baader.
Data-aware dynamic system
Data Layer
Process Layer external
world
UpdateRead
• Data layer: maintains data of interest.
Relational database.
(Description logic) ontology.
• Process layer: evolves the extensional part of the data layer.
Control-flow component: determines when actions can be executed.
Actions: atomic units of work that update the data.
Interact with the external world to inject fresh data into the system.
Marco Montali (unibz) State-Boundedness KR 2014 2 / 26
Data-Centric Dynamic Systems (DCDSs)
• Data layer: relational database with FO constraints.
• Process (control-flow): condition-action rules.
• Actions: specified by (parallel) effects that query the current state
and determine the next state.
Service calls can be invoked to get new data.
Example
• Data layer: schema {R/2, Q/1, S/1}, no constraint.
• Process: ∃y.R(x, y) → t(x).
• Action: t(p) :



R(x, y) ∧ x = p R(x, y)
R(p, y) R(p, f (y))
R(p, y) Q(p)



Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
Data-Centric Dynamic Systems (DCDSs)
• Data layer: relational database with FO constraints.
• Process (control-flow): condition-action rules.
• Actions: specified by (parallel) effects that query the current state
and determine the next state.
Service calls can be invoked to get new data.
Example
• Data layer: schema {R/2, Q/1, S/1}, no constraint.
• Process: ∃y.R(x, y) → t(x).
• Action: t(p) :



R(x, y) ∧ x = p R(x, y)
R(p, y) R(p, f (y))
R(p, y) Q(p)



R(a,b), R(a,c),
R(c,d),
Q(d),
S(b)
Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
Data-Centric Dynamic Systems (DCDSs)
• Data layer: relational database with FO constraints.
• Process (control-flow): condition-action rules.
• Actions: specified by (parallel) effects that query the current state
and determine the next state.
Service calls can be invoked to get new data.
Example
• Data layer: schema {R/2, Q/1, S/1}, no constraint.
• Process: ∃y.R(x, y) → t(x).
• Action: t(p) :



R(x, y) ∧ x = p R(x, y)
R(p, y) R(p, f (y))
R(p, y) Q(p)



R(a,b), R(a,c),
R(c,d),
Q(d),
S(b)
t(a)
t(c)
Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
Data-Centric Dynamic Systems (DCDSs)
• Data layer: relational database with FO constraints.
• Process (control-flow): condition-action rules.
• Actions: specified by (parallel) effects that query the current state
and determine the next state.
Service calls can be invoked to get new data.
Example
• Data layer: schema {R/2, Q/1, S/1}, no constraint.
• Process: ∃y.R(x, y) → t(x).
• Action: t(a) :



R(x, y) ∧ x = a R(x, y)
R(a, y) R(a, f (y))
R(a, y) Q(a)



R(a,b), R(a,c),
R(c,d),
Q(d),
S(b)
R(c,d), Q(a),
R(a,f(b)) R(a,f(c))
t(a)
Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
Data-Centric Dynamic Systems (DCDSs)
• Data layer: relational database with FO constraints.
• Process (control-flow): condition-action rules.
• Actions: specified by (parallel) effects that query the current state
and determine the next state.
Service calls can be invoked to get new data.
Example
• Data layer: schema {R/2, Q/1, S/1}, no constraint.
• Process: ∃y.R(x, y) → t(x).
• Action: t(a) :



R(x, y) ∧ x = a R(x, y)
R(a, y) R(a, f (y))
R(a, y) Q(a)



R(a,b), R(a,c),
R(c,d),
Q(d),
S(b)
R(c,d), Q(a),
R(a,f(b)) R(a,f(c))
R(c,d), Q(a),
R(a,a)t(a)
f(b) = f(c) = a
Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
Data-Centric Dynamic Systems (DCDSs)
• Data layer: relational database with FO constraints.
• Process (control-flow): condition-action rules.
• Actions: specified by (parallel) effects that query the current state
and determine the next state.
Service calls can be invoked to get new data.
Example
• Data layer: schema {R/2, Q/1, S/1}, no constraint.
• Process: ∃y.R(x, y) → t(x).
• Action: t(a) :



R(x, y) ∧ x = a R(x, y)
R(a, y) R(a, f (y))
R(a, y) Q(a)



R(a,b), R(a,c),
R(c,d),
Q(d),
S(b)
R(c,d), Q(a),
R(a,f(b)) R(a,f(c)) R(c,d), Q(a),
R(a,c), R(a,u)
t(a) f(b) = c,
f(c) = u
Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
Data-Centric Dynamic Systems (DCDSs)
• Data layer: relational database with FO constraints.
• Process (control-flow): condition-action rules.
• Actions: specified by (parallel) effects that query the current state
and determine the next state.
Service calls can be invoked to get new data.
Example
• Data layer: schema {R/2, Q/1, S/1}, no constraint.
• Process: ∃y.R(x, y) → t(x).
• Action: t(a) :



R(x, y) ∧ x = a R(x, y)
R(a, y) R(a, f (y))
R(a, y) Q(a)



R(a,b), R(a,c),
R(c,d),
Q(d),
S(b)
R(c,d), Q(a),
R(a,f(b)) R(a,f(c))
. . .
t(a)
. . .
Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
Verification
Execution semantics: a relational
transition system, possibly with
infinitely many states.
... .
.
.
... .
.
.
. . .
. . .
Verification Problem
Check whether the dynamic system guarantees a desired property,
expressed in some variant of a first-order temporal logic.
Marco Montali (unibz) State-Boundedness KR 2014 4 / 26
Verification
Execution semantics: a relational
transition system, possibly with
infinitely many states.
... .
.
.
... .
.
.
. . .
. . .
Verification Problem
Check whether the dynamic system guarantees a desired property,
expressed in some variant of a first-order temporal logic.
Undecidable in general!
(Even for propositional temporal logics)
Marco Montali (unibz) State-Boundedness KR 2014 4 / 26
State-boundedness
State-Bounded System
Has an overall bound on the number of
individuals stored in each single state of
the system.
Structurally State-Bounded
State-Bounded for any given initial database.
...
...
. . .
. . .
Marco Montali (unibz) State-Boundedness KR 2014 5 / 26
State-boundedness
State-Bounded System
Has an overall bound on the number of
individuals stored in each single state of
the system.
Structurally State-Bounded
State-Bounded for any given initial database.
...
...
. . .
. . .
Decidability under state-boundedness
Shown in a plethora of recent works, for a variety of dynamic systems:
• Artifact-centric MASs, and FO-CTLK [BelardinelliEtAl-KR12].
• DCDSs and µLp.
• DL-based Dynamic Systems, and µLECQ
p [CalvaneseEtAl-RR13].
• Data-aware MASs with commitments, and µLECQ
p [MontaliEtAl-AAMAS14].
• Bounded situation calculus action theories, and µL [DeGiacomoEtAl-KR12].
Marco Montali (unibz) State-Boundedness KR 2014 5 / 26
Checking State-Boundedness
State-boundedness is a semantic property
Typically, assumed to hold.
Theorem ([BagheriHaririEtAl-PODS13])
Checking whether a DCDS is state-bounded is undecidable.
study of sufficient, syntactic conditions guaranteeing state-boundedness.
Marco Montali (unibz) State-Boundedness KR 2014 6 / 26
Checking State-Boundedness
State-boundedness is a semantic property
Typically, assumed to hold.
Theorem ([BagheriHaririEtAl-PODS13])
Checking whether a DCDS is state-bounded is undecidable.
study of sufficient, syntactic conditions guaranteeing state-boundedness.
Central question
Do there exist significant classes of data-aware dynamic systems for
which checking state-boundedness is decidable?
Marco Montali (unibz) State-Boundedness KR 2014 6 / 26
Checking State-Boundedness
State-boundedness is a semantic property
Typically, assumed to hold.
Theorem ([BagheriHaririEtAl-PODS13])
Checking whether a DCDS is state-bounded is undecidable.
study of sufficient, syntactic conditions guaranteeing state-boundedness.
Central question
Do there exist significant classes of data-aware dynamic systems for
which checking state-boundedness is decidable?
A similar question has been extensively studied in a different setting . . .
Marco Montali (unibz) State-Boundedness KR 2014 6 / 26
P/T nets
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T nets - The Good
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T nets - The Good
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T nets - The Good
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T nets - The Good
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T nets - The Good
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T nets - The Good
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T nets - The Good
• Introduced by Carl Adam Petri in his PhD thesis (1962).
• Extensively used for modelling concurrent systems:
Distributed systems, workflows, business processes, . . .
• Study of several formal properties: reachability, deadlock
freedom, boundedness.
a b
c
d
e
f
g
Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
P/T Nets - The Bad
Not all marked Petri nets are bounded.
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
Forms of Boundedness
Boundedness
A marked Petri net is bounded
if all executions starting from the
given marking do not produce an
unbounded amount of tokens.
Structural boundedness
A Petri net is structurally
bounded if for all possible initial
markings the resulting marked
net is bounded.
Marco Montali (unibz) State-Boundedness KR 2014 9 / 26
Forms of Boundedness
Boundedness
A marked Petri net is bounded
if all executions starting from the
given marking do not produce an
unbounded amount of tokens.
Bounded
a
b c
Structural boundedness
A Petri net is structurally
bounded if for all possible initial
markings the resulting marked
net is bounded.
Structurally unbounded
a
b c
Marco Montali (unibz) State-Boundedness KR 2014 9 / 26
Reset Transfer Nets - The Ugly
P/T nets ⊂ RT nets ⊂ Reset Post G-nets [DufourEtAlICALP98]
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
Reset arc
P t
P
When t fires, all tokens in P are removed.
Transfer pair
P t Q
P P
When t fires, all tokens in P are transferred to Q.
Marco Montali (unibz) State-Boundedness KR 2014 10 / 26
Boundedness Spectrum
boundedness
structural
boundedness
RT nets
T nets
R nets
P/T nets
RT nets
T nets R nets
P/T nets
Marco Montali (unibz) State-Boundedness KR 2014 11 / 26
Boundedness Spectrum
boundedness
structural
boundedness
RT nets
T nets
R nets
P/T nets
RT nets
T nets R nets
P/T nets
Undec.
Marco Montali (unibz) State-Boundedness KR 2014 11 / 26
Boundedness Spectrum
boundedness
structural
boundedness
RT nets
T nets
R nets
P/T nets
RT nets
T nets R nets
P/T nets
Undec.
Dec.
ExpSpace
PTime
Marco Montali (unibz) State-Boundedness KR 2014 11 / 26
Understanding State-Boundedness
Goal
Devise a connection between RT nets and DCDSs so as to understand the
state-boundedness spectrum in data-aware dynamic systems.
Main issue: set vs bag semantics.
RT nets
DCDSs
Marco Montali (unibz) State-Boundedness KR 2014 12 / 26
Understanding State-Boundedness
Goal
Devise a connection between RT nets and DCDSs so as to understand the
state-boundedness spectrum in data-aware dynamic systems.
Main issue: set vs bag semantics.
RT nets
DCDSs
LRT DCDSs
Marco Montali (unibz) State-Boundedness KR 2014 12 / 26
Understanding State-Boundedness
Goal
Devise a connection between RT nets and DCDSs so as to understand the
state-boundedness spectrum in data-aware dynamic systems.
Main issue: set vs bag semantics.
RT nets
bounded
structurally
bounded
DCDSs
LRT DCDSs
state bounded
structurally
state bounded
Marco Montali (unibz) State-Boundedness KR 2014 12 / 26
From RT Nets to DCDSs
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
Idea
Tokens as distinct identifiers distributed over place relations.
Only cardinalities matter, not the data values.
Data layer.
• Unary relations for places: {Pi/1 | i ∈ {1, . . . , 4}}
• No constraints.
Process layer: each transition becomes an action + condition-action rule.
• Condition: gets tokens from input places; feeds the action with them.
• Action: moves tokens according to the firing semantics of the net.
Service calls to generate identifiers for new tokens.
Marco Montali (unibz) State-Boundedness KR 2014 13 / 26
From RT Nets to DCDSs - The P/T Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P0(x1) → a(x1)
Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
From RT Nets to DCDSs - The P/T Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P0(x1) → a(x1)
a(x1) :



P0 P0(y) ∧ y = x1 P0(f (y))
P1
P2
P3
P4



Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
From RT Nets to DCDSs - The P/T Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P0(x1) → a(x1)
a(x1) :



P0 P0(y) ∧ y = x1 P0(f (y))
P1 P1(y) P1(h1(y))
true P1(g1())
P2 P2(y) P2(h2(y))
true P2(g2())
P3
P4



Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
From RT Nets to DCDSs - The P/T Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P0(x1) → a(x1)
a(x1) :



P0 P0(y) ∧ y = x1 P0(f (y))
P1 P1(y) P1(h1(y))
true P1(g1())
P2 P2(y) P2(h2(y))
true P2(g2())
P3 P3(y) P3(h3(y))
P4 P4(y) P4(h4(y))



Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
From RT Nets to DCDSs - The Reset Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) ∧ P3(x2) → b(x1, x2)
Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
From RT Nets to DCDSs - The Reset Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) ∧ P3(x2) → b(x1, x2)
b(x1, x2) :



P0 P0(y) P0(h0(y))
P1
P2
P3
P4



Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
From RT Nets to DCDSs - The Reset Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) ∧ P3(x2) → b(x1, x2)
b(x1, x2) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2
P3 P3(y) ∧ y = x2 P3(h3(y))
P4



Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
From RT Nets to DCDSs - The Reset Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) ∧ P3(x2) → b(x1, x2)
b(x1, x2) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2 –
P3 P3(y) ∧ y = x2 P3(h3(y))
P4



Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
From RT Nets to DCDSs - The Reset Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) ∧ P3(x2) → b(x1, x2)
b(x1, x2) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2 –
P3 P3(y) ∧ y = x2 P3(h3(y))
P4 P4(y) P4(h4(y))
true P4(g4())



Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
From RT Nets to DCDSs - The Reset Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) ∧ P3(x2) → b(x1, x2)
b(x1, x2) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2 –
P3 P3(y) ∧ y = x2 P3(h3(y))
P4 P4(y) P4(h4(y))
true P4(g4())



A relation (P2) does not appear in the action!
Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
From RT Nets to DCDSs - The Transfer Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) → c(x1)
Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
From RT Nets to DCDSs - The Transfer Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) → c(x1)
c(x1) :



P0 P0(y) P0(h0(y))
P1
P2
P3 P3(y) P3(h3(y))
P4



Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
From RT Nets to DCDSs - The Transfer Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) → c(x1)
c(x1) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2
P3 P3(y) P3(h3(y))
P4



Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
From RT Nets to DCDSs - The Transfer Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) → c(x1)
c(x1) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2 P2(y) P4(h2(y))
P3 P3(y) P3(h3(y))
P4



Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
From RT Nets to DCDSs - The Transfer Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) → c(x1)
c(x1) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2 P2(y) P4(h2(y))
P3 P3(y) P3(h3(y))
P4 P4(y) P4(h4(y))



Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
From RT Nets to DCDSs - The Transfer Case
P0 a
P1
P2
b P3
c
P4
P2
P2
P2
P1(x1) → c(x1)
c(x1) :



P0 P0(y) P0(h0(y))
P1 P1(y) ∧ y = x1 P1(h1(y))
P2 P2(y) P4(h2(y))
P3 P3(y) P3(h3(y))
P4 P4(y) P4(h4(y))



There is an effect involving two different relations (P2 and P4)!
Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
Is the Translation Correct?
NO! The resulting DCDS has a lossy behavior.
Marco Montali (unibz) State-Boundedness KR 2014 17 / 26
Is the Translation Correct?
NO! The resulting DCDS has a lossy behavior.
Petri net
P0
. . . t . . . t
=⇒
P0
. . . t . . .
DCDS
t(. . .) : {. . . , P0(y) P0(h0(y)), . . .}
P0
. . . t . . .a
b c t(...)
=⇒
h0(a) = a, h0(b) = b, h0(c) = c
P0
. . . t . . .a
b c
h0(a) = a, h0(b) = a, h0(c) = a
P0
. . . t . . .a
h0(a) = a, h0(b) = a, h0(c) = c
P0
. . . t . . .a c
. . .
Marco Montali (unibz) State-Boundedness KR 2014 17 / 26
Is the Translation Correct?
However. . .
The resulting DCDS reproduces all behaviors of the net (and more).
Marco Montali (unibz) State-Boundedness KR 2014 18 / 26
Is the Translation Correct?
However. . .
The resulting DCDS reproduces all behaviors of the net (and more).
Theorem
An RT net is (structurally) bounded if and only if the corresponding
DCDS is (structurally) state-bounded.
Marco Montali (unibz) State-Boundedness KR 2014 18 / 26
LRT DCDS
Data Layer
Schema R with unary relations only, and no constraint.
Process
Only one rule per action, of the form Q(x) → α(x), where
Q(x1, . . . , xn) =
i∈{1,...,n}, Pi=Pj for i=j
Pi(xi)
Shape of action α(x)
For each Pi ∈ rels(Q), α must contain:
• Pi(y) ∧ y = xi Pi(fi(y))
and may contain:
• true Pi(gi())
For each Pl ∈ R  rels(Q), α may contain:
• Pl(y) Pl(hl(y))
• either true Pj(gj()),
or Pj (y) Pj(hj(y))
for some Pj ∈ R  (rels(Q) ∪ Pj).
Marco Montali (unibz) State-Boundedness KR 2014 19 / 26
From LRT DCDSs to RT Nets
Consider schema R = {P0, P1, P2, P3, P4}, and action t with:
• process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1)
• action t(x0, x1) :



P0(y) ∧ y = x0 P0(f0(y))
P1(y) ∧ y = x1 P1(f1(y))
true P1(g1())
true P2(g2())
P3(y) P4(h3(y))
P4(y) P4(h4(y))



Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
From LRT DCDSs to RT Nets
Consider schema R = {P0, P1, P2, P3, P4}, and action t with:
• process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1)
• action t(x0, x1) :



P0(y) ∧ y = x0 P0(f0(y))
P1(y) ∧ y = x1 P1(f1(y))
true P1(g1())
true P2(g2())
P3(y) P4(h3(y))
P4(y) P4(h4(y))



P0
P1
t
P2
P3
P4
Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
From LRT DCDSs to RT Nets
Consider schema R = {P0, P1, P2, P3, P4}, and action t with:
• process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1)
• action t(x0, x1) :



P0(y) ∧ y = x0 P0(f0(y))
P1(y) ∧ y = x1 P1(f1(y))
true P1(g1())
true P2(g2())
P3(y) P4(h3(y))
P4(y) P4(h4(y))



P0
P1
t
P2
P3
P4
Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
From LRT DCDSs to RT Nets
Consider schema R = {P0, P1, P2, P3, P4}, and action t with:
• process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1)
• action t(x0, x1) :



P0(y) ∧ y = x0 P0(f0(y))
P1(y) ∧ y = x1 P1(f1(y))
true P1(g1())
true P2(g2())
P3(y) P4(h3(y))
P4(y) P4(h4(y))



P0
P1
t
P2
P3
P4
Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
From LRT DCDSs to RT Nets
Consider schema R = {P0, P1, P2, P3, P4}, and action t with:
• process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1)
• action t(x0, x1) :



P0(y) ∧ y = x0 P0(f0(y))
P1(y) ∧ y = x1 P1(f1(y))
true P1(g1())
true P2(g2())
P3(y) P4(h3(y))
P4(y) P4(h4(y))



P0
P1
t
P2
P3
P4
P2
Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
From LRT DCDSs to RT Nets
Consider schema R = {P0, P1, P2, P3, P4}, and action t with:
• process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1)
• action t(x0, x1) :



P0(y) ∧ y = x0 P0(f0(y))
P1(y) ∧ y = x1 P1(f1(y))
true P1(g1())
true P2(g2())
P3(y) P4(h3(y))
P4(y) P4(h4(y))



P0
P1
t
P2
P3
P4
P2
P3
P3
Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
From LRT DCDSs to RT Nets
Consider schema R = {P0, P1, P2, P3, P4}, and action t with:
• process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1)
• action t(x0, x1) :



P0(y) ∧ y = x0 P0(f0(y))
P1(y) ∧ y = x1 P1(f1(y))
true P1(g1())
true P2(g2())
P3(y) P4(h3(y))
P4(y) P4(h4(y))



P0
P1
t
P2
P3
P4
P2
P3
P3
Theorem
An LRT DCDS is (structurally)
state-bounded if and only if the
corresponding RT net is
(structurally) bounded.
Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
State-Boundedness Spectrum
state
boundedness
structural state
boundedness
LRT DCDSs
LT DCDSs
LR DCDSs
LP DCDSs
LRT DCDSs
LT DCDSs LR DCDSs
LP DCDSs
Undec.
Dec.
ExpSpace
PTime
Marco Montali (unibz) State-Boundedness KR 2014 21 / 26
Take Home Message
LRT DCDSs are weak:
• Only unary relations.
• Only conjunctions without joins in conditions.
• Only atomic queries inside effects (possibly with a value inequality).
• Very limited use of negation (inequalities).
• No direct transfer of values from one state to the other.
Marco Montali (unibz) State-Boundedness KR 2014 22 / 26
Take Home Message
LRT DCDSs are weak:
• Only unary relations.
• Only conjunctions without joins in conditions.
• Only atomic queries inside effects (possibly with a value inequality).
• Very limited use of negation (inequalities).
• No direct transfer of values from one state to the other.
Still, to ensure that (structural) state-boundedness is decidable . . .
Boundedness
All relations must appear on the left-hand side of action effects, i.e.,
contribute to form the new state.
Structural Boundedness
Each action must be such that only a fixed amount of tuples is added
to/removed from each relation in the schema.
Marco Montali (unibz) State-Boundedness KR 2014 22 / 26
Back to our Question
Central question
Do there exist significant classes of data-aware dynamic systems for
which checking state-boundedness is decidable?
Answer
NO
Hence, it becomes important to provide significant sufficient, checkable
syntactic conditions that guarantee structural state-boundedness.
Marco Montali (unibz) State-Boundedness KR 2014 23 / 26
Back to our Question
Central question
Do there exist significant classes of data-aware dynamic systems for
which checking state-boundedness is decidable?
Answer
NO
Hence, it becomes important to provide significant sufficient, checkable
syntactic conditions that guarantee structural state-boundedness.
We follow this line, focusing on DCDSs and starting from
[BagheriHaririEtAl-PODS13].
Marco Montali (unibz) State-Boundedness KR 2014 23 / 26
GR-Acyclicity [BagheriHaririEtAl-PODS13]
Example
Consider a DCDS with process {true → α()}, and
α() :



P(x) P(x)
P(x) Q(f (x))
Q(x) Q(x)



Marco Montali (unibz) State-Boundedness KR 2014 24 / 26
GR-Acyclicity [BagheriHaririEtAl-PODS13]
Example
Consider a DCDS with process {true → α()}, and
α() :



P(x) P(x)
P(x) Q(f (x))
Q(x) Q(x)



We approximate the DCDS data-flow through a dependency graph.
P,1 Q,1*
The system is not state-bounded, due to:
• a generate cycle that continuously feeds a path issuing service calls;
• a recall cycle that accumulates the obtained results.
• (+ the fact that both cycles are simultaneously active)
GR-acycliclity detects exactly these undesired situations.
Marco Montali (unibz) State-Boundedness KR 2014 24 / 26
Our Contribution
GR
GR+
in CoNP in Σp
2
Marco Montali (unibz) State-Boundedness KR 2014 25 / 26
Our Contribution
GR
GR+
GR++
Safe-GR++
Stratified-GR++
∃GR++
Safe-∃GR++
Stratified-∃GR++
in CoNP in Σp
2
Marco Montali (unibz) State-Boundedness KR 2014 25 / 26
Conclusion
1.
No significant decidable classes of data-aware dynamic systems for which
state-boundedness is decidable.
2.
It becomes crucial to provide checkable, sufficient conditions.
• We have built on results on chase termination for tuple-generating
dependencies, providing a family of conditions for DCDSs.
Ongoing and future work
• Refine the syntactic conditions to handle if-then-else effects.
• Follow a different approach: provide modelling guidelines towards
systems that are structurally state bounded by design.
Preliminary results in [SolomakhinEtAl-ICSOC13].
Marco Montali (unibz) State-Boundedness KR 2014 26 / 26

More Related Content

PPTX
Masters Thesis Defense Presentation
PDF
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
PDF
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
PDF
Verso una gestione dei processi aziendali basata sulla realtà
PDF
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
PDF
Temporal logics over finite traces for declarative BPM
PDF
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
PDF
PV 2014 - Montali - Verification of Parameterized Data-Aware Dynamic Systems
Masters Thesis Defense Presentation
Seminar@KRDB 2012 - Montali - Verification of Relational Data-Centric Systems...
Prohealth 2011 - Montali - Conformance Checking of Executed Clinical Guidelin...
Verso una gestione dei processi aziendali basata sulla realtà
Montali - Da Leibniz a Turing: la nascita dei computer e la scoperta dei limi...
Temporal logics over finite traces for declarative BPM
Montali - DB-Nets: On The Marriage of Colored Petri Nets 
and Relational Data...
PV 2014 - Montali - Verification of Parameterized Data-Aware Dynamic Systems

Similar to KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems (20)

PDF
RR 2013 - Montali - Verification and Synthesis in Description Logic Based Dyn...
PPTX
presentation_btp
PPT
Open Analytics Environment
PDF
PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
PDF
Foundation and Synchronization of the Dynamic Output Dual Systems
PDF
Computational Discovery of Two-Dimensional Materials, Evaluation of Force-Fie...
PDF
A Machine Learning Framework for Materials Knowledge Systems
PDF
Event triggered control design of linear networked systems with quantizations
PPTX
Graphical Structure Learning accelerated with POWER9
PDF
1 Aminullah Assagaf_Estimation-of-domain-of-attraction-for-the-fract_2021_Non...
PPTX
LiveLinkedData - TransWebData - Nantes 2013
PDF
Matrix Factorization In Recommender Systems
PDF
Verification of Data-Aware Processes at ESSLLI 2017 2/6 - Data-Centric Dynami...
PDF
Spacey random walks and higher-order data analysis
PPTX
Shantanu Kulkarni Research Career Interests
PDF
Modeling full scale-data(2)
PDF
Universal approximators for Direct Policy Search in multi-purpose water reser...
PDF
Ijariie1117 volume 1-issue 1-page-25-27
PDF
2017 nov reflow sbtb
PPTX
Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...
RR 2013 - Montali - Verification and Synthesis in Description Logic Based Dyn...
presentation_btp
Open Analytics Environment
PODS 2013 - Montali - Verification of Relational Data-Centric Dynamic Systems...
Foundation and Synchronization of the Dynamic Output Dual Systems
Computational Discovery of Two-Dimensional Materials, Evaluation of Force-Fie...
A Machine Learning Framework for Materials Knowledge Systems
Event triggered control design of linear networked systems with quantizations
Graphical Structure Learning accelerated with POWER9
1 Aminullah Assagaf_Estimation-of-domain-of-attraction-for-the-fract_2021_Non...
LiveLinkedData - TransWebData - Nantes 2013
Matrix Factorization In Recommender Systems
Verification of Data-Aware Processes at ESSLLI 2017 2/6 - Data-Centric Dynami...
Spacey random walks and higher-order data analysis
Shantanu Kulkarni Research Career Interests
Modeling full scale-data(2)
Universal approximators for Direct Policy Search in multi-purpose water reser...
Ijariie1117 volume 1-issue 1-page-25-27
2017 nov reflow sbtb
Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...
Ad

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

PDF
From Case-Isolated to Object-Centric Processes - A Tale of two Models
PDF
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
PDF
Constraints for Process Framing in Augmented BPM
PDF
PDF
Process Reasoning and Mining with Uncertainty
PDF
From Case-Isolated to Object-Centric Processes
PDF
Modeling and Reasoning over Declarative Data-Aware Processes
PDF
Soundness of Data-Aware Processes with Arithmetic Conditions
PDF
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
PDF
Extending Temporal Business Constraints with Uncertainty
PDF
Extending Temporal Business Constraints with Uncertainty
PDF
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
PDF
Enriching Data Models with Behavioral Constraints
PDF
Representing and querying norm states using temporal ontology-based data access
PDF
Compliance monitoring of multi-perspective declarative process models
PDF
Processes and organizations - a look behind the paper wall
From Case-Isolated to Object-Centric Processes - A Tale of two Models
Reasoning on Labelled Petri Nets and Their Dynamics in a Stochastic Setting
Constraints for Process Framing in Augmented BPM
Process Reasoning and Mining with Uncertainty
From Case-Isolated to Object-Centric Processes
Modeling and Reasoning over Declarative Data-Aware Processes
Soundness of Data-Aware Processes with Arithmetic Conditions
Strategy Synthesis for Data-Aware Dynamic Systems with Multiple Actors
Extending Temporal Business Constraints with Uncertainty
Extending Temporal Business Constraints with Uncertainty
Modeling and Reasoning over Declarative Data-Aware Processes with Object-Cent...
Enriching Data Models with Behavioral Constraints
Representing and querying norm states using temporal ontology-based data access
Compliance monitoring of multi-perspective declarative process models
Processes and organizations - a look behind the paper wall
Ad

Recently uploaded (20)

PDF
5_tips_to_become_a_Presentation_Jedi_@itseugenec.pdf
PPTX
WEB_DEVELOPMENTGJMFGHJMGJMFJM FGJMFGHMNF
PPTX
Public Speaking Is Easy . Start Now . It's now or never.
PPT
Comm.-100W-Writing-a-Convincing-Editorial-slides.ppt
PPTX
Bob Difficult Questions 08 17 2025.pptx
PPTX
Lesson 2 (Technology and Transmission) - Terms.pptx
PDF
Presentation on cloud computing and ppt..
PPT
Lessons from Presentation Zen_ how to craft your story visually
PPTX
Analytics in Human Resource Management FY
PPTX
Rakhi Presentation vbbrfferregergrgerg.pptx
PPTX
INDIGENOUS-LANGUAGES-AND-LITERATURE.pptx
PDF
Unnecessary information is required for the
PPTX
Shizophrnia ppt for clinical psychology students of AS
PPTX
Literatura en Star Wars (Legends y Canon)
PPTX
CASEWORK Power Point Presentation - pointers
PPTX
Ulangan Harian_TEOREMA PYTHAGORAS_8.pptx
PPTX
CASEWORK Pointers presentation Field instruction I
PDF
Yoken Capital Network Presentation Slide
PPTX
TG Hospitality workshop Vietnam (1).pptx
DOCX
CLASS XII bbbbbnjhcvfyfhfyfyhPROJECT.docx
5_tips_to_become_a_Presentation_Jedi_@itseugenec.pdf
WEB_DEVELOPMENTGJMFGHJMGJMFJM FGJMFGHMNF
Public Speaking Is Easy . Start Now . It's now or never.
Comm.-100W-Writing-a-Convincing-Editorial-slides.ppt
Bob Difficult Questions 08 17 2025.pptx
Lesson 2 (Technology and Transmission) - Terms.pptx
Presentation on cloud computing and ppt..
Lessons from Presentation Zen_ how to craft your story visually
Analytics in Human Resource Management FY
Rakhi Presentation vbbrfferregergrgerg.pptx
INDIGENOUS-LANGUAGES-AND-LITERATURE.pptx
Unnecessary information is required for the
Shizophrnia ppt for clinical psychology students of AS
Literatura en Star Wars (Legends y Canon)
CASEWORK Power Point Presentation - pointers
Ulangan Harian_TEOREMA PYTHAGORAS_8.pptx
CASEWORK Pointers presentation Field instruction I
Yoken Capital Network Presentation Slide
TG Hospitality workshop Vietnam (1).pptx
CLASS XII bbbbbnjhcvfyfhfyfyhPROJECT.docx

KR 2014 - Montali - State-Boundedness in Data-Aware Dynamic Systems

  • 1. State-Boundedness in Data-Aware Dynamic Systems Marco Montali KRDB Research Centre for Knowledge and Data Free University of Bozen-Bolzano Joint work with: B. Bagheri Hariri, D. Calvanese, A. Deutsch KR 2014 Marco Montali (unibz) State-Boundedness KR 2014 1 / 26
  • 2. Data-Aware Dynamic System A dynamic system that manipulate data over time. Recall the VSL keynote by F. Baader. Data-aware dynamic system Data Layer Process Layer external world UpdateRead • Data layer: maintains data of interest. Relational database. (Description logic) ontology. • Process layer: evolves the extensional part of the data layer. Control-flow component: determines when actions can be executed. Actions: atomic units of work that update the data. Interact with the external world to inject fresh data into the system. Marco Montali (unibz) State-Boundedness KR 2014 2 / 26
  • 3. Data-Centric Dynamic Systems (DCDSs) • Data layer: relational database with FO constraints. • Process (control-flow): condition-action rules. • Actions: specified by (parallel) effects that query the current state and determine the next state. Service calls can be invoked to get new data. Example • Data layer: schema {R/2, Q/1, S/1}, no constraint. • Process: ∃y.R(x, y) → t(x). • Action: t(p) :    R(x, y) ∧ x = p R(x, y) R(p, y) R(p, f (y)) R(p, y) Q(p)    Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
  • 4. Data-Centric Dynamic Systems (DCDSs) • Data layer: relational database with FO constraints. • Process (control-flow): condition-action rules. • Actions: specified by (parallel) effects that query the current state and determine the next state. Service calls can be invoked to get new data. Example • Data layer: schema {R/2, Q/1, S/1}, no constraint. • Process: ∃y.R(x, y) → t(x). • Action: t(p) :    R(x, y) ∧ x = p R(x, y) R(p, y) R(p, f (y)) R(p, y) Q(p)    R(a,b), R(a,c), R(c,d), Q(d), S(b) Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
  • 5. Data-Centric Dynamic Systems (DCDSs) • Data layer: relational database with FO constraints. • Process (control-flow): condition-action rules. • Actions: specified by (parallel) effects that query the current state and determine the next state. Service calls can be invoked to get new data. Example • Data layer: schema {R/2, Q/1, S/1}, no constraint. • Process: ∃y.R(x, y) → t(x). • Action: t(p) :    R(x, y) ∧ x = p R(x, y) R(p, y) R(p, f (y)) R(p, y) Q(p)    R(a,b), R(a,c), R(c,d), Q(d), S(b) t(a) t(c) Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
  • 6. Data-Centric Dynamic Systems (DCDSs) • Data layer: relational database with FO constraints. • Process (control-flow): condition-action rules. • Actions: specified by (parallel) effects that query the current state and determine the next state. Service calls can be invoked to get new data. Example • Data layer: schema {R/2, Q/1, S/1}, no constraint. • Process: ∃y.R(x, y) → t(x). • Action: t(a) :    R(x, y) ∧ x = a R(x, y) R(a, y) R(a, f (y)) R(a, y) Q(a)    R(a,b), R(a,c), R(c,d), Q(d), S(b) R(c,d), Q(a), R(a,f(b)) R(a,f(c)) t(a) Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
  • 7. Data-Centric Dynamic Systems (DCDSs) • Data layer: relational database with FO constraints. • Process (control-flow): condition-action rules. • Actions: specified by (parallel) effects that query the current state and determine the next state. Service calls can be invoked to get new data. Example • Data layer: schema {R/2, Q/1, S/1}, no constraint. • Process: ∃y.R(x, y) → t(x). • Action: t(a) :    R(x, y) ∧ x = a R(x, y) R(a, y) R(a, f (y)) R(a, y) Q(a)    R(a,b), R(a,c), R(c,d), Q(d), S(b) R(c,d), Q(a), R(a,f(b)) R(a,f(c)) R(c,d), Q(a), R(a,a)t(a) f(b) = f(c) = a Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
  • 8. Data-Centric Dynamic Systems (DCDSs) • Data layer: relational database with FO constraints. • Process (control-flow): condition-action rules. • Actions: specified by (parallel) effects that query the current state and determine the next state. Service calls can be invoked to get new data. Example • Data layer: schema {R/2, Q/1, S/1}, no constraint. • Process: ∃y.R(x, y) → t(x). • Action: t(a) :    R(x, y) ∧ x = a R(x, y) R(a, y) R(a, f (y)) R(a, y) Q(a)    R(a,b), R(a,c), R(c,d), Q(d), S(b) R(c,d), Q(a), R(a,f(b)) R(a,f(c)) R(c,d), Q(a), R(a,c), R(a,u) t(a) f(b) = c, f(c) = u Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
  • 9. Data-Centric Dynamic Systems (DCDSs) • Data layer: relational database with FO constraints. • Process (control-flow): condition-action rules. • Actions: specified by (parallel) effects that query the current state and determine the next state. Service calls can be invoked to get new data. Example • Data layer: schema {R/2, Q/1, S/1}, no constraint. • Process: ∃y.R(x, y) → t(x). • Action: t(a) :    R(x, y) ∧ x = a R(x, y) R(a, y) R(a, f (y)) R(a, y) Q(a)    R(a,b), R(a,c), R(c,d), Q(d), S(b) R(c,d), Q(a), R(a,f(b)) R(a,f(c)) . . . t(a) . . . Marco Montali (unibz) State-Boundedness KR 2014 3 / 26
  • 10. Verification Execution semantics: a relational transition system, possibly with infinitely many states. ... . . . ... . . . . . . . . . Verification Problem Check whether the dynamic system guarantees a desired property, expressed in some variant of a first-order temporal logic. Marco Montali (unibz) State-Boundedness KR 2014 4 / 26
  • 11. Verification Execution semantics: a relational transition system, possibly with infinitely many states. ... . . . ... . . . . . . . . . Verification Problem Check whether the dynamic system guarantees a desired property, expressed in some variant of a first-order temporal logic. Undecidable in general! (Even for propositional temporal logics) Marco Montali (unibz) State-Boundedness KR 2014 4 / 26
  • 12. State-boundedness State-Bounded System Has an overall bound on the number of individuals stored in each single state of the system. Structurally State-Bounded State-Bounded for any given initial database. ... ... . . . . . . Marco Montali (unibz) State-Boundedness KR 2014 5 / 26
  • 13. State-boundedness State-Bounded System Has an overall bound on the number of individuals stored in each single state of the system. Structurally State-Bounded State-Bounded for any given initial database. ... ... . . . . . . Decidability under state-boundedness Shown in a plethora of recent works, for a variety of dynamic systems: • Artifact-centric MASs, and FO-CTLK [BelardinelliEtAl-KR12]. • DCDSs and µLp. • DL-based Dynamic Systems, and µLECQ p [CalvaneseEtAl-RR13]. • Data-aware MASs with commitments, and µLECQ p [MontaliEtAl-AAMAS14]. • Bounded situation calculus action theories, and µL [DeGiacomoEtAl-KR12]. Marco Montali (unibz) State-Boundedness KR 2014 5 / 26
  • 14. Checking State-Boundedness State-boundedness is a semantic property Typically, assumed to hold. Theorem ([BagheriHaririEtAl-PODS13]) Checking whether a DCDS is state-bounded is undecidable. study of sufficient, syntactic conditions guaranteeing state-boundedness. Marco Montali (unibz) State-Boundedness KR 2014 6 / 26
  • 15. Checking State-Boundedness State-boundedness is a semantic property Typically, assumed to hold. Theorem ([BagheriHaririEtAl-PODS13]) Checking whether a DCDS is state-bounded is undecidable. study of sufficient, syntactic conditions guaranteeing state-boundedness. Central question Do there exist significant classes of data-aware dynamic systems for which checking state-boundedness is decidable? Marco Montali (unibz) State-Boundedness KR 2014 6 / 26
  • 16. Checking State-Boundedness State-boundedness is a semantic property Typically, assumed to hold. Theorem ([BagheriHaririEtAl-PODS13]) Checking whether a DCDS is state-bounded is undecidable. study of sufficient, syntactic conditions guaranteeing state-boundedness. Central question Do there exist significant classes of data-aware dynamic systems for which checking state-boundedness is decidable? A similar question has been extensively studied in a different setting . . . Marco Montali (unibz) State-Boundedness KR 2014 6 / 26
  • 17. P/T nets • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 18. P/T nets - The Good • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 19. P/T nets - The Good • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 20. P/T nets - The Good • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 21. P/T nets - The Good • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 22. P/T nets - The Good • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 23. P/T nets - The Good • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 24. P/T nets - The Good • Introduced by Carl Adam Petri in his PhD thesis (1962). • Extensively used for modelling concurrent systems: Distributed systems, workflows, business processes, . . . • Study of several formal properties: reachability, deadlock freedom, boundedness. a b c d e f g Marco Montali (unibz) State-Boundedness KR 2014 7 / 26
  • 25. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 26. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 27. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 28. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 29. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 30. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 31. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 32. P/T Nets - The Bad Not all marked Petri nets are bounded. a b c Marco Montali (unibz) State-Boundedness KR 2014 8 / 26
  • 33. Forms of Boundedness Boundedness A marked Petri net is bounded if all executions starting from the given marking do not produce an unbounded amount of tokens. Structural boundedness A Petri net is structurally bounded if for all possible initial markings the resulting marked net is bounded. Marco Montali (unibz) State-Boundedness KR 2014 9 / 26
  • 34. Forms of Boundedness Boundedness A marked Petri net is bounded if all executions starting from the given marking do not produce an unbounded amount of tokens. Bounded a b c Structural boundedness A Petri net is structurally bounded if for all possible initial markings the resulting marked net is bounded. Structurally unbounded a b c Marco Montali (unibz) State-Boundedness KR 2014 9 / 26
  • 35. Reset Transfer Nets - The Ugly P/T nets ⊂ RT nets ⊂ Reset Post G-nets [DufourEtAlICALP98] P0 a P1 P2 b P3 c P4 P2 P2 P2 Reset arc P t P When t fires, all tokens in P are removed. Transfer pair P t Q P P When t fires, all tokens in P are transferred to Q. Marco Montali (unibz) State-Boundedness KR 2014 10 / 26
  • 36. Boundedness Spectrum boundedness structural boundedness RT nets T nets R nets P/T nets RT nets T nets R nets P/T nets Marco Montali (unibz) State-Boundedness KR 2014 11 / 26
  • 37. Boundedness Spectrum boundedness structural boundedness RT nets T nets R nets P/T nets RT nets T nets R nets P/T nets Undec. Marco Montali (unibz) State-Boundedness KR 2014 11 / 26
  • 38. Boundedness Spectrum boundedness structural boundedness RT nets T nets R nets P/T nets RT nets T nets R nets P/T nets Undec. Dec. ExpSpace PTime Marco Montali (unibz) State-Boundedness KR 2014 11 / 26
  • 39. Understanding State-Boundedness Goal Devise a connection between RT nets and DCDSs so as to understand the state-boundedness spectrum in data-aware dynamic systems. Main issue: set vs bag semantics. RT nets DCDSs Marco Montali (unibz) State-Boundedness KR 2014 12 / 26
  • 40. Understanding State-Boundedness Goal Devise a connection between RT nets and DCDSs so as to understand the state-boundedness spectrum in data-aware dynamic systems. Main issue: set vs bag semantics. RT nets DCDSs LRT DCDSs Marco Montali (unibz) State-Boundedness KR 2014 12 / 26
  • 41. Understanding State-Boundedness Goal Devise a connection between RT nets and DCDSs so as to understand the state-boundedness spectrum in data-aware dynamic systems. Main issue: set vs bag semantics. RT nets bounded structurally bounded DCDSs LRT DCDSs state bounded structurally state bounded Marco Montali (unibz) State-Boundedness KR 2014 12 / 26
  • 42. From RT Nets to DCDSs P0 a P1 P2 b P3 c P4 P2 P2 P2 Idea Tokens as distinct identifiers distributed over place relations. Only cardinalities matter, not the data values. Data layer. • Unary relations for places: {Pi/1 | i ∈ {1, . . . , 4}} • No constraints. Process layer: each transition becomes an action + condition-action rule. • Condition: gets tokens from input places; feeds the action with them. • Action: moves tokens according to the firing semantics of the net. Service calls to generate identifiers for new tokens. Marco Montali (unibz) State-Boundedness KR 2014 13 / 26
  • 43. From RT Nets to DCDSs - The P/T Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P0(x1) → a(x1) Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
  • 44. From RT Nets to DCDSs - The P/T Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P0(x1) → a(x1) a(x1) :    P0 P0(y) ∧ y = x1 P0(f (y)) P1 P2 P3 P4    Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
  • 45. From RT Nets to DCDSs - The P/T Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P0(x1) → a(x1) a(x1) :    P0 P0(y) ∧ y = x1 P0(f (y)) P1 P1(y) P1(h1(y)) true P1(g1()) P2 P2(y) P2(h2(y)) true P2(g2()) P3 P4    Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
  • 46. From RT Nets to DCDSs - The P/T Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P0(x1) → a(x1) a(x1) :    P0 P0(y) ∧ y = x1 P0(f (y)) P1 P1(y) P1(h1(y)) true P1(g1()) P2 P2(y) P2(h2(y)) true P2(g2()) P3 P3(y) P3(h3(y)) P4 P4(y) P4(h4(y))    Marco Montali (unibz) State-Boundedness KR 2014 14 / 26
  • 47. From RT Nets to DCDSs - The Reset Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) ∧ P3(x2) → b(x1, x2) Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
  • 48. From RT Nets to DCDSs - The Reset Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) ∧ P3(x2) → b(x1, x2) b(x1, x2) :    P0 P0(y) P0(h0(y)) P1 P2 P3 P4    Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
  • 49. From RT Nets to DCDSs - The Reset Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) ∧ P3(x2) → b(x1, x2) b(x1, x2) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 P3 P3(y) ∧ y = x2 P3(h3(y)) P4    Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
  • 50. From RT Nets to DCDSs - The Reset Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) ∧ P3(x2) → b(x1, x2) b(x1, x2) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 – P3 P3(y) ∧ y = x2 P3(h3(y)) P4    Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
  • 51. From RT Nets to DCDSs - The Reset Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) ∧ P3(x2) → b(x1, x2) b(x1, x2) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 – P3 P3(y) ∧ y = x2 P3(h3(y)) P4 P4(y) P4(h4(y)) true P4(g4())    Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
  • 52. From RT Nets to DCDSs - The Reset Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) ∧ P3(x2) → b(x1, x2) b(x1, x2) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 – P3 P3(y) ∧ y = x2 P3(h3(y)) P4 P4(y) P4(h4(y)) true P4(g4())    A relation (P2) does not appear in the action! Marco Montali (unibz) State-Boundedness KR 2014 15 / 26
  • 53. From RT Nets to DCDSs - The Transfer Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) → c(x1) Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
  • 54. From RT Nets to DCDSs - The Transfer Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) → c(x1) c(x1) :    P0 P0(y) P0(h0(y)) P1 P2 P3 P3(y) P3(h3(y)) P4    Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
  • 55. From RT Nets to DCDSs - The Transfer Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) → c(x1) c(x1) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 P3 P3(y) P3(h3(y)) P4    Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
  • 56. From RT Nets to DCDSs - The Transfer Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) → c(x1) c(x1) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 P2(y) P4(h2(y)) P3 P3(y) P3(h3(y)) P4    Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
  • 57. From RT Nets to DCDSs - The Transfer Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) → c(x1) c(x1) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 P2(y) P4(h2(y)) P3 P3(y) P3(h3(y)) P4 P4(y) P4(h4(y))    Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
  • 58. From RT Nets to DCDSs - The Transfer Case P0 a P1 P2 b P3 c P4 P2 P2 P2 P1(x1) → c(x1) c(x1) :    P0 P0(y) P0(h0(y)) P1 P1(y) ∧ y = x1 P1(h1(y)) P2 P2(y) P4(h2(y)) P3 P3(y) P3(h3(y)) P4 P4(y) P4(h4(y))    There is an effect involving two different relations (P2 and P4)! Marco Montali (unibz) State-Boundedness KR 2014 16 / 26
  • 59. Is the Translation Correct? NO! The resulting DCDS has a lossy behavior. Marco Montali (unibz) State-Boundedness KR 2014 17 / 26
  • 60. Is the Translation Correct? NO! The resulting DCDS has a lossy behavior. Petri net P0 . . . t . . . t =⇒ P0 . . . t . . . DCDS t(. . .) : {. . . , P0(y) P0(h0(y)), . . .} P0 . . . t . . .a b c t(...) =⇒ h0(a) = a, h0(b) = b, h0(c) = c P0 . . . t . . .a b c h0(a) = a, h0(b) = a, h0(c) = a P0 . . . t . . .a h0(a) = a, h0(b) = a, h0(c) = c P0 . . . t . . .a c . . . Marco Montali (unibz) State-Boundedness KR 2014 17 / 26
  • 61. Is the Translation Correct? However. . . The resulting DCDS reproduces all behaviors of the net (and more). Marco Montali (unibz) State-Boundedness KR 2014 18 / 26
  • 62. Is the Translation Correct? However. . . The resulting DCDS reproduces all behaviors of the net (and more). Theorem An RT net is (structurally) bounded if and only if the corresponding DCDS is (structurally) state-bounded. Marco Montali (unibz) State-Boundedness KR 2014 18 / 26
  • 63. LRT DCDS Data Layer Schema R with unary relations only, and no constraint. Process Only one rule per action, of the form Q(x) → α(x), where Q(x1, . . . , xn) = i∈{1,...,n}, Pi=Pj for i=j Pi(xi) Shape of action α(x) For each Pi ∈ rels(Q), α must contain: • Pi(y) ∧ y = xi Pi(fi(y)) and may contain: • true Pi(gi()) For each Pl ∈ R rels(Q), α may contain: • Pl(y) Pl(hl(y)) • either true Pj(gj()), or Pj (y) Pj(hj(y)) for some Pj ∈ R (rels(Q) ∪ Pj). Marco Montali (unibz) State-Boundedness KR 2014 19 / 26
  • 64. From LRT DCDSs to RT Nets Consider schema R = {P0, P1, P2, P3, P4}, and action t with: • process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1) • action t(x0, x1) :    P0(y) ∧ y = x0 P0(f0(y)) P1(y) ∧ y = x1 P1(f1(y)) true P1(g1()) true P2(g2()) P3(y) P4(h3(y)) P4(y) P4(h4(y))    Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
  • 65. From LRT DCDSs to RT Nets Consider schema R = {P0, P1, P2, P3, P4}, and action t with: • process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1) • action t(x0, x1) :    P0(y) ∧ y = x0 P0(f0(y)) P1(y) ∧ y = x1 P1(f1(y)) true P1(g1()) true P2(g2()) P3(y) P4(h3(y)) P4(y) P4(h4(y))    P0 P1 t P2 P3 P4 Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
  • 66. From LRT DCDSs to RT Nets Consider schema R = {P0, P1, P2, P3, P4}, and action t with: • process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1) • action t(x0, x1) :    P0(y) ∧ y = x0 P0(f0(y)) P1(y) ∧ y = x1 P1(f1(y)) true P1(g1()) true P2(g2()) P3(y) P4(h3(y)) P4(y) P4(h4(y))    P0 P1 t P2 P3 P4 Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
  • 67. From LRT DCDSs to RT Nets Consider schema R = {P0, P1, P2, P3, P4}, and action t with: • process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1) • action t(x0, x1) :    P0(y) ∧ y = x0 P0(f0(y)) P1(y) ∧ y = x1 P1(f1(y)) true P1(g1()) true P2(g2()) P3(y) P4(h3(y)) P4(y) P4(h4(y))    P0 P1 t P2 P3 P4 Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
  • 68. From LRT DCDSs to RT Nets Consider schema R = {P0, P1, P2, P3, P4}, and action t with: • process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1) • action t(x0, x1) :    P0(y) ∧ y = x0 P0(f0(y)) P1(y) ∧ y = x1 P1(f1(y)) true P1(g1()) true P2(g2()) P3(y) P4(h3(y)) P4(y) P4(h4(y))    P0 P1 t P2 P3 P4 P2 Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
  • 69. From LRT DCDSs to RT Nets Consider schema R = {P0, P1, P2, P3, P4}, and action t with: • process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1) • action t(x0, x1) :    P0(y) ∧ y = x0 P0(f0(y)) P1(y) ∧ y = x1 P1(f1(y)) true P1(g1()) true P2(g2()) P3(y) P4(h3(y)) P4(y) P4(h4(y))    P0 P1 t P2 P3 P4 P2 P3 P3 Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
  • 70. From LRT DCDSs to RT Nets Consider schema R = {P0, P1, P2, P3, P4}, and action t with: • process condition-action rule P0(x0) ∧ P1(x1) → t(x0, x1) • action t(x0, x1) :    P0(y) ∧ y = x0 P0(f0(y)) P1(y) ∧ y = x1 P1(f1(y)) true P1(g1()) true P2(g2()) P3(y) P4(h3(y)) P4(y) P4(h4(y))    P0 P1 t P2 P3 P4 P2 P3 P3 Theorem An LRT DCDS is (structurally) state-bounded if and only if the corresponding RT net is (structurally) bounded. Marco Montali (unibz) State-Boundedness KR 2014 20 / 26
  • 71. State-Boundedness Spectrum state boundedness structural state boundedness LRT DCDSs LT DCDSs LR DCDSs LP DCDSs LRT DCDSs LT DCDSs LR DCDSs LP DCDSs Undec. Dec. ExpSpace PTime Marco Montali (unibz) State-Boundedness KR 2014 21 / 26
  • 72. Take Home Message LRT DCDSs are weak: • Only unary relations. • Only conjunctions without joins in conditions. • Only atomic queries inside effects (possibly with a value inequality). • Very limited use of negation (inequalities). • No direct transfer of values from one state to the other. Marco Montali (unibz) State-Boundedness KR 2014 22 / 26
  • 73. Take Home Message LRT DCDSs are weak: • Only unary relations. • Only conjunctions without joins in conditions. • Only atomic queries inside effects (possibly with a value inequality). • Very limited use of negation (inequalities). • No direct transfer of values from one state to the other. Still, to ensure that (structural) state-boundedness is decidable . . . Boundedness All relations must appear on the left-hand side of action effects, i.e., contribute to form the new state. Structural Boundedness Each action must be such that only a fixed amount of tuples is added to/removed from each relation in the schema. Marco Montali (unibz) State-Boundedness KR 2014 22 / 26
  • 74. Back to our Question Central question Do there exist significant classes of data-aware dynamic systems for which checking state-boundedness is decidable? Answer NO Hence, it becomes important to provide significant sufficient, checkable syntactic conditions that guarantee structural state-boundedness. Marco Montali (unibz) State-Boundedness KR 2014 23 / 26
  • 75. Back to our Question Central question Do there exist significant classes of data-aware dynamic systems for which checking state-boundedness is decidable? Answer NO Hence, it becomes important to provide significant sufficient, checkable syntactic conditions that guarantee structural state-boundedness. We follow this line, focusing on DCDSs and starting from [BagheriHaririEtAl-PODS13]. Marco Montali (unibz) State-Boundedness KR 2014 23 / 26
  • 76. GR-Acyclicity [BagheriHaririEtAl-PODS13] Example Consider a DCDS with process {true → α()}, and α() :    P(x) P(x) P(x) Q(f (x)) Q(x) Q(x)    Marco Montali (unibz) State-Boundedness KR 2014 24 / 26
  • 77. GR-Acyclicity [BagheriHaririEtAl-PODS13] Example Consider a DCDS with process {true → α()}, and α() :    P(x) P(x) P(x) Q(f (x)) Q(x) Q(x)    We approximate the DCDS data-flow through a dependency graph. P,1 Q,1* The system is not state-bounded, due to: • a generate cycle that continuously feeds a path issuing service calls; • a recall cycle that accumulates the obtained results. • (+ the fact that both cycles are simultaneously active) GR-acycliclity detects exactly these undesired situations. Marco Montali (unibz) State-Boundedness KR 2014 24 / 26
  • 78. Our Contribution GR GR+ in CoNP in Σp 2 Marco Montali (unibz) State-Boundedness KR 2014 25 / 26
  • 80. Conclusion 1. No significant decidable classes of data-aware dynamic systems for which state-boundedness is decidable. 2. It becomes crucial to provide checkable, sufficient conditions. • We have built on results on chase termination for tuple-generating dependencies, providing a family of conditions for DCDSs. Ongoing and future work • Refine the syntactic conditions to handle if-then-else effects. • Follow a different approach: provide modelling guidelines towards systems that are structurally state bounded by design. Preliminary results in [SolomakhinEtAl-ICSOC13]. Marco Montali (unibz) State-Boundedness KR 2014 26 / 26