2012
DOI: 10.1007/978-3-642-32925-8_14
|View full text |Cite
|
Sign up to set email alerts
|

Confluence Analysis for Distributed Programs: A Model-Theoretic Approach

Abstract: Building on recent interest in distributed logic programming, we take a model-theoretic approach to analyzing confluence of asynchronous distributed programs. We begin with a model-theoretic semantics for Dedalus and develop the concept of ultimate models to capture the non-deterministic eventual outcomes of distributed programs. After demonstrating the undecidability of checking confluence for Dedalus programs, we look for restricted sub-languages that guarantee confluence while providing adequate expressivit… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2012
2012
2015
2015

Publication Types

Select...
4
2

Relationship

4
2

Authors

Journals

citations
Cited by 8 publications
(6 citation statements)
references
References 24 publications
0
6
0
Order By: Relevance
“…Certain components are insensitive to message delivery order-they produce a unique output set for all orderings and batchings of their inputs. We call such components confluent [48]. For example, the deadlock detector presented in Section 2 is confluent and can safely process waits-for edges as soon as they become available.…”
Section: Flow-level Consistencymentioning
confidence: 99%
“…Certain components are insensitive to message delivery order-they produce a unique output set for all orderings and batchings of their inputs. We call such components confluent [48]. For example, the deadlock detector presented in Section 2 is confluent and can safely process waits-for edges as soon as they become available.…”
Section: Flow-level Consistencymentioning
confidence: 99%
“…Intuitively, a monotonic program makes forward progress over time: it never "retracts" an earlier conclusion in the face of new information. We proposed the CALM theorem, which established that all monotonic programs are confluent (invariant to message reordering and retry) and hence eventually consistent [5,18,25]. Monotonicity of a Datalog program is straightforward to determine conservatively from syntax, so the CALM theorem provides the basis for a simple analysis of the consistency of distributed programs.…”
Section: Convergent Modulesmentioning
confidence: 99%
“…All monotonic programs are "eventually consistent" or confluent: for any given input, all program executions result in the same final state regardless of network non-determinism [5,25]. Hence, monotonic logic is a useful building block for loosely consistent distributed programming.…”
Section: Calm Analysismentioning
confidence: 99%
See 1 more Smart Citation
“…In this context, the LP-based query language Datalog has been defined and intensively studied; see, e.g., (Ceri et al 1990). Interestingly, Datalog gone beyond its original purpose, and is now used in a variety of applications including web data extraction (Gottlob and Koch 2004), source code querying and program analysis (Hajiyev et al 2006), and distributed system analysis (Marczak et al 2012). Furthermore, since Datalog rules are clauses in the function-free Horn fragment of first-order logic, Datalog revealed itself relevant also for semantic web applications such as ontological modeling and reasoning.…”
Section: Introductionmentioning
confidence: 99%