moji5
27th July 2010, 09:57 PM
Applying Prolog to Develop Distributed Systems
Nuno P. Lopes (http://arxiv.org/find/cs/1/au:+Lopes_N/0/1/0/all/0/1), Juan A. Navarro (http://arxiv.org/find/cs/1/au:+Navarro_J/0/1/0/all/0/1), Andrey Rybalchenko (http://arxiv.org/find/cs/1/au:+Rybalchenko_A/0/1/0/all/0/1), Atul Singh (http://arxiv.org/find/cs/1/au:+Singh_A/0/1/0/all/0/1)
(Submitted on 22 Jul 2010)
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.
Download:
PDF (http://arxiv.org/pdf/1007.3835v1)
PostScript (http://arxiv.org/ps/1007.3835v1)
Other formats (http://arxiv.org/format/1007.3835v1)
Nuno P. Lopes (http://arxiv.org/find/cs/1/au:+Lopes_N/0/1/0/all/0/1), Juan A. Navarro (http://arxiv.org/find/cs/1/au:+Navarro_J/0/1/0/all/0/1), Andrey Rybalchenko (http://arxiv.org/find/cs/1/au:+Rybalchenko_A/0/1/0/all/0/1), Atul Singh (http://arxiv.org/find/cs/1/au:+Singh_A/0/1/0/all/0/1)
(Submitted on 22 Jul 2010)
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.
Download:
PDF (http://arxiv.org/pdf/1007.3835v1)
PostScript (http://arxiv.org/ps/1007.3835v1)
Other formats (http://arxiv.org/format/1007.3835v1)