On the CRON Conjecture
Tom J. Ameloot Jan Van den Bussche
Hasselt University, Belgium
On the CRON Conjecture
On the CRON Conjecture Tom J. Ameloot Jan Van den Bussche Hasselt - - PowerPoint PPT Presentation
On the CRON Conjecture Tom J. Ameloot Jan Van den Bussche Hasselt University, Belgium 1 On the CRON Conjecture Introduction Declarative networking Dedalus Hellerstein: Causality Required Only for Non-monotonicity (CRON) Program
Hasselt University, Belgium
On the CRON Conjecture
◮ Declarative networking ◮ Dedalus ◮ Hellerstein: Causality Required Only for Non-monotonicity
◮ Application to crash-recovery:
◮ Some logged messages are from the “future” (non-causality) ◮ CRON conjecture: enforce causality only when needed ⇒ more
On the CRON Conjecture
◮ Messages are facts ◮ Messages can have arbitrary delay
On the CRON Conjecture
On the CRON Conjecture
On the CRON Conjecture
◮ messages can only be delivered after they are sent ◮ replies come after initial messages
◮ messages can only be delivered after they are sent ◮ replies come after initial messages
◮ messages can only be delivered after they are sent ◮ replies come after initial messages
◮ messages can only be delivered after they are sent ◮ replies come after initial messages
◮ messages can only be delivered after they are sent ◮ replies come after initial messages
Inspired by previous work [Alvaro, Ameloot, Hellerstein, Marczak, Van den Bussche]
On the CRON Conjecture
On the CRON Conjecture
Deductive Racc(x, s, u) ← R(x, s, u).
On the CRON Conjecture
Deductive Racc(x, s, u) ← R(x, s, u). T(x, s, u) ← Racc(x, s, u), ¬S(x, s, u).
On the CRON Conjecture
Deductive Racc(x, s, u) ← R(x, s, u). T(x, s, u) ← Racc(x, s, u), ¬S(x, s, u). Inductive Racc(x, t, u) ← Racc(x, s, u), tsucc(s, t).
On the CRON Conjecture
Deductive Racc(x, s, u) ← R(x, s, u). T(x, s, u) ← Racc(x, s, u), ¬S(x, s, u). Inductive Racc(x, t, u) ← Racc(x, s, u), tsucc(s, t). Asynchronous (Saccà and Zaniolo — “SZ”) candR(x, s, y, t, u) ← R(x, s, u), Node(x, s, y), time(t).
chosenR(x,s,y,t,u)←candR(x,s,y,t,u), ¬otherR(x,s,y,t,u).
R(y, t, u) ← chosenR(x, s, y, t, u).
On the CRON Conjecture
◮ Output of run or stable model:
◮ We focus on consistent Dedalus programs: on every input, all
◮ Consistent Dedalus programs can tolerate non-causality if on
On the CRON Conjecture
On the CRON Conjecture
On the CRON Conjecture
On the CRON Conjecture
On the CRON Conjecture
◮ Program P computes query Q if for every input I, for every
On the CRON Conjecture
◮ Program P computes query Q if for every input I, for every
◮ Possible: program tolerates non-causality and computes
On the CRON Conjecture
◮ Program P computes query Q if for every input I, for every
◮ Possible: program tolerates non-causality and computes
◮ Possible: program computes monotone query and does not
On the CRON Conjecture
[Alvaro, Ameloot, Hellerstein, Marczak, Van den Bussche]
On the CRON Conjecture
[Alvaro, Ameloot, Hellerstein, Marczak, Van den Bussche]
On the CRON Conjecture
On the CRON Conjecture
On the CRON Conjecture
On the CRON Conjecture