Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

115 views

Published on

Presentation of the paper "State-Boundedness in Data-Aware Dynamic Systems" at the 14th International Conference on Principles of Knowledge Representation and Reasoning (KR 2014)

  • Be the first to comment

  • Be the first to like this

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 59. Is the Translation Correct? NO! The resulting DCDS has a lossy behavior. Marco Montali (unibz) State-Boundedness KR 2014 17 / 26
  60. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 78. Our Contribution GR GR+ in CoNP in Σp 2 Marco Montali (unibz) State-Boundedness KR 2014 25 / 26
  79. 79. 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
  80. 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

×