Skip to main content Accessibility help

A declarative approach to distributed computing: Specification, execution and analysis



There is an increasing interest in using logic programming to specify and implement distributed algorithms, including a variety of network applications. These are applications where data and computation are distributed among several devices and where, in principle, all the devices can exchange data and share the computational results of the group. In this paper we propose a declarative approach to distributed computing whereby distributed algorithms and communication models can be (i) specified as action theories of fluents and actions; (ii) executed as collections of distributed state machines, where devices are abstracted as (input/output) automata that can exchange messages; and (iii) analysed using existing results on connecting causal theories and Answer Set Programming. Results on the application of our approach to different classes of network protocols are also presented.



Hide All
Abiteboul, S., Bienvenu, M., Galland, A. and Rousset, M.-C. 2011. Distributed datalog revisited. In Datalog reloaded, Springer, 252261.
Alvaro, P., Ameloot, T. J., Hellerstein, J. M., Marczak, W. R. and den Bussche, J. V. 2011. A declarative semantics for dedalus. Tech. Rep. UCB/EECS-2011-120, UC Berkley.
Baral, C. 2003. Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press.
Baral, C., Gelfond, G., Son, T. C. and Pontelli, E. 2010. Using answer set programming to model multi-agent scenarios involving agents' knowledge about other's knowledge. In AAMAS, 259–266.
Chandy, K. M., Go, B., Mitra, S., Pilotto, C. and White, J. 2011. Verification of distributed systems with local–global predicates. Formal Aspects of Computing 23, 5, 649679.
Gelfond, M. and Lifschitz, V. 1998. Action languages. Electronic Transactions on Artificial Intelligence 2, 193210.
Giunchiglia, E., Lee, J., Lifschitz, V., McCain, N. and Turner, H. 2004. Nonmonotonic causal theories. Artificial Intelligence 153, 1, 49104.
Grumbach, S. and Wang, F. 2010. Netlog, a rule-based language for distributed programming. In PADL, 88–103.
Krennwallner, T. and Gelfond, M. 2011. Promoting modular nonmonotonic logic programs. In Technical Communications of the 27th International Conference on Logic Programming (ICLP'11), Vol. 11. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 274279.
Lobo, J., Ma, J., Russo, A. and Le, F. 2012. Declarative distributed computing. In Correct Reasoning, 454–470.
Lobo, J., Wood, D., Verma, D. C. and Calo, S. B. 2012. Distributed state machines: A declarative framework for the management of distributed systems. In CNSM, 224–228.
Loo, B. T., Condie, T., Garofalakis, M., Gay, D. E., Hellerstein, J. M., Maniatis, P., Ramakrishnan, R., Roscoe, T. and Stoica, I. 2009. Declarative networking. CACM 52, 11, 8795.
Lopes, N. P., Navarro, J. A., Rybalchenko, A. and Singh, A. 2010. Applying prolog to develop distributed systems. Theory and Practice of Logic Programming 10, 4–6 (July), 691707.
Lynch, N. A. 1996. Distributed Algorithms. Morgan Kaufmann.
Mao, Y. 2009. On the declarativity of declarative networking. Operating Systems Review 43, 4, 1924.
Marczak, W. R., Huang, S. S., Bravenboer, M., Sherr, M., Loo, B. T. and Aref, M. 2010. Secureblox: customizable secure distributed data processing. In Proceedings of the 2010 International Conference on Management of Data. ACM, 723734.
McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., Shenker, S. and Turner, J. 2008. Openflow: Enabling innovation in campus networks. SIGCOMM Computer Communication Review 38, 2 (March), 6974.
Musuvathi, M. and Engler, D. R. 2004. Model checking large network protocol implementations. In NSDI, 440–441.
Pérez, J. A. N. and Rybalchenko, A. 2009. Operational semantics for declarative networking. In PADL, 76–90.
Pontelli, E., Son, T. C., Baral, C. and Gelfond, G. 2012. Answer set programming and planning with knowledge and world-altering actions in multiple agent domains. In Correct Reasoning, 509–526.
Sobrinho, J. L. and Griffin, T. G. 2010. Routing in equilibrium. In Mathematical Theory of Networks and System.
Turner, H. 1999. A logic of universal causation. Artificial Intelligence 113, 1–2, 87123.
Wang, A., Talcott, C., Gurney, A. J. T., Loo, B. T. and Scedrov, A. 2012. Reduction-based formal analysis of bgp instances. In Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'12), Springer-Verlag, Berlin, Heidelberg, 283298.
Zhang, L., Estrin, D., Burke, J., Jacobson, V., Thornton, J. D., Smetters, D. K., Zhang, B., Tsudik, G., Massey, D., Papadopoulos, al., 2010. Named data networking (ndn) project. Relatório Técnico NDN-0001, Xerox Palo Alto Research Center-PARC.
Zhou, W., Fei, Q., Sun, S., Tao, T., Haeberlen, A., Ives, Z., Loo, B. T. and Sherr, M. 2011. Nettrails: a declarative platform for maintaining and querying provenance in distributed systems. In Proceedings of the 2011 international conference on Management of data, ACM, 13231326.


Type Description Title
Supplementary materials

Ma supplementary material
Ma supplementary material

 PDF (252 KB)
252 KB

A declarative approach to distributed computing: Specification, execution and analysis



Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed