Applying Prolog to Develop Distributed Systems
Nuno P. Lopes, Juan A. Navarro, Andrey Rybalchenko, Atul Singh

TL;DR
This paper introduces DAHL, a Prolog-based system that extends Prolog with event-driven control and networking, demonstrating its effectiveness in developing distributed systems through various implementations.
Contribution
It presents a novel Prolog-based framework, DAHL, for declarative distributed system development, integrating event-driven control and networking capabilities.
Findings
DAHL successfully implements a distributed hash-table.
It supports protocols for Byzantine fault tolerance.
It enables distributed software model checking.
Abstract
Development of distributed systems is a difficult task. Declarative programming techniques hold a promising potential for effectively supporting programmer in this challenge. While Datalog-based languages have been actively explored for programming distributed systems, Prolog received relatively little attention in this application area so far. In this paper we present a Prolog-based programming system, called DAHL, for the declarative development of distributed systems. DAHL extends Prolog with an event-driven control mechanism and built-in networking procedures. Our experimental evaluation using a distributed hash-table data structure, a protocol for achieving Byzantine fault tolerance, and a distributed software model checker - all implemented in DAHL - indicates the viability of the approach.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
