Transaction management in the R* distributed database management system
ACM Transactions on Database Systems (TODS)
ACM Transactions on Computer Systems (TOCS)
"Sometime" is sometimes "not never": on the temporal logic of programs
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Revisiting the Paxos Algorithm
WDAG '97 Proceedings of the 11th International Workshop on Distributed Algorithms
The Consensus Problem in Unreliable Distributed Systems (A Brief Survey)
Proceedings of the 1983 International FCT-Conference on Fundamentals of Computation Theory
Implementing declarative overlays
Proceedings of the twentieth ACM symposium on Operating systems principles
Paxos made live: an engineering perspective
Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing
The transaction concept: virtues and limitations (invited paper)
VLDB '81 Proceedings of the seventh international conference on Very Large Data Bases - Volume 7
Stasis: flexible transactional storage
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Applying prolog to develop distributed systems
Theory and Practice of Logic Programming
From clarity to efficiency for distributed algorithms
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
High-Level executable specifications of distributed algorithms
SSS'12 Proceedings of the 14th international conference on Stabilization, Safety, and Security of Distributed Systems
Reasoning about knowledge in distributed systems using datalog
Datalog 2.0'12 Proceedings of the Second international conference on Datalog in Academia and Industry
Knowlog: a declarative language for reasoning about knowledge in distributed systems
ER'12 Proceedings of the 31st international conference on Conceptual Modeling
Hi-index | 0.00 |
The Paxos consensus protocol can be specified concisely, but is notoriously difficult to implement in practice. We recount our experience building Paxos in Overlog, a distributed declarative programming language. We found that the Paxos algorithm is easily translated to declarative logic, in large part because the primitives used in consensus protocol specifications map directly to simple Overlog constructs such as aggregation and selection. We discuss the programming idioms that appear frequently in our implementation, and the applicability of declarative programming to related application domains.