a1 INESC-ID, Instituto Superior Técnico – Technical University of Lisbon, Portugal
a2 Technische Universität München, Munich, Germany
a3 NEC Research Labs, Princeton, NJ, USA
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.
(Received February 07 2010)
(Revised April 11 2010)
(Accepted May 18 2010)