Skip to main content Accessibility help

Putting logic-based distributed systems on stable grounds


In the Declarative Networking paradigm, Datalog-like languages are used to express distributed computations. Whereas recently formal operational semantics for these languages have been developed, a corresponding declarative semantics has been lacking so far. The challenge is to capture precisely the amount of nondeterminism that is inherent to distributed computations due to concurrency, networking delays, and asynchronous communication. This paper shows how a declarative, model-based semantics can be obtained by simply using the well-known stable model semantics for Datalog with negation. We show that the model-based semantics matches previously proposed formal operational semantics.

Hide All
Abiteboul, S., Bienvenu, M., Galland, A., et al. 2011. A rule-based language for Web data management. In Proc. 30th ACM Symposium on Principles of Database Systems, ACM Press, New York, NY, USA, 293304.
Abiteboul, S., Hull, R. and Vianu, V. 1995. Foundations of Databases. Addison-Wesley.
Abrial, J. 2010. Modeling in Event-B – System and Software Engineering. Cambridge University Press.
Alferes, J., Pereira, L., Przymusinska, H. and Przymusinski, T. 2002. LUPS–-a language for updating logic programs. Artificial Intelligence 138, 1–2, 87116.
Alvaro, P., Condie, T., Conway, N., Hellerstein, J. and Sears, R. 2009. I do declare: Consensus in a logic language. Operating Systems Review 43, 4, 2530.
Alvaro, P., Conway, N., Hellerstein, J. and Marczak, W. 2011. Consistency analysis in Bloom: A CALM and collected approach. In Proc. 5th Biennial Conference on Innovative Data Systems Research, 249260. URL:
Alvaro, P., Marczak, W., et al. 2009. Dedalus: Datalog in Time and Space. Technical Report EECS-2009-173, University of California, Berkeley.
Alvaro, P., Marczak, W. et al. 2011. Dedalus: Datalog in time and space. See de Moor et al. (2011), 262281.
Ameloot, T. and Van den Bussche, J. 2014. Positive Dedalus programs tolerate non-causality. Journal of Computer and System Sciences 80, 7, 11911213.
Ameloot, T., Neven, F. and Van den Bussche, J. 2011. Relational transducers for declarative networking. In Proc. 30th ACM Symposium on Principles of Database Systems, ACM Press, 283292.
Ameloot, T., Neven, F. and Van den Bussche, J. 2013. Relational transducers for declarative networking. Journal of the ACM 60, 2, 15:115:38.
Ameloot, T. and Van den Bussche, J. 2012. Deciding eventual consistency for a simple class of relational transducer networks. In Proc. of the 15th International Conference on Database Theory, ACM Press, 8698.
Apt, K. and Bol, R. 1994. Logic programming and negation: A survey. The Journal of Logic Programming 19–20, Supplement 1, 0, 971.
Apt, K., Francez, N. and Katz, S. 1988. Appraising fairness in languages for distributed programming. Distributed Computing 2, 226241.
Attiya, H. and Welch, J. 2004. Distributed Computing: Fundamentals, Simulations, and Advanced Topics. Wiley.
Cavage, M. 2013. There's just no getting around it: You're building a distributed system. ACM Queue 11, 4.
de Moor, O., Gottlob, G., Furche, T. and Sellers, A. (Eds.) 2011. Datalog Reloaded: First International Workshop, Datalog 2010, Lecture Notes in Computer Science, Springer-Verlag, Berlin/Heidelberg, Germany, vol. 6702.
Deutsch, A., Sui, L., Vianu, V. and Zhou, D. 2006. Verification of communicating data-driven Web services. In Proc. 25th ACM Symposium on Principles of Database Systems, ACM Press, 9099.
Francez, N. 1986. Fairness. Springer-Verlag New York, Inc., New York, NY, USA.
Gelfond, M. and Lifschitz, V. 1988. The stable model semantics for logic programming. In Proc. of the 5th International Conference on Logic Programming, MIT Press, 10701080.
Grumbach, S. and Wang, F. 2010. Netlog, a rule-based language for distributed programming. In Proc. 12th International Symposium on Practical Aspects of Declarative Languages, Carro, M. and Peña, R., Eds. Lecture Notes in Computer Science, vol. 5937, 88103.
Hellerstein, J. 2010a. Datalog redux: Experience and conjecture. Video available (under the title “The Declarative Imperative”) from URL: PODS 2010 keynote.
Hellerstein, J. 2010b. The declarative imperative: Experiences and conjectures in distributed logic. SIGMOD Record 39, 1, 519.
Huang, S., Green, T. and Loo, B. 2011. Datalog and emerging applications: An interactive tutorial. In Proc. of the 2011 ACM SIGMOD International Conference on the Management of Data, SIGMOD ’11, ACM, 12131216.
Interlandi, M., Tanca, L. and Bergamaschi, S. 2013. Datalog in time and space, synchronously. In Proc. 7th Alberto Mendelzon International Workshop on Foundations of Data Management.
Jim, T. 2001. SD3: A trust management system with certified evaluation. In Proc. of the 2001 IEEE Symposium on Security and Privacy, SP, IEEE Computer Society, 106115.
Krishnamurthy, R. and Naqvi, S. 1988. Non-deterministic choice in Datalog. In Proc. of the 3rd International Conference on Data and Knowledge Bases, Morgan Kaufmann, Burlington, MA, USA, 416424.
Lamport, L. 2000a. Distributed algorithms in TLA (abstract). In Proc. of the 19th ACM Symposium on Principles of Distributed Computing, ACM Press, 3.
Lamport, L. 2000b. Fairness and hyperfairness. Distributed Computing 13, 4, 239245.
Leite, J., Alferes, J. and Pereira, L. 2002. Minerva – a dynamic logic programming agent architecture. In Revised Papers from the 8th International Workshop on Intelligent Agents VIII, ATAL, Springer-Verlag, 141157.
Leite, J. and Soares, L. 2007. Adding evolving abilities to a multi-agent system. In Proc. of the 7th International Conference on Computational Logic in Multi-agent Systems, CLIMA VII’06, Springer-Verlag, 246265.
Lobo, J., Ma, J., Russo, A. and Le, F. 2012. Declarative distributed computing. In Correct Reasoning - Essays on Logic-Based AI in Honour of Vladimir Lifschitz, Erdem, E., Lee, J., Lierler, Y. and Pearce, D., Eds., Lecture Notes in Computer Science, vol. 7265. Springer, 454470.
Loo, B. et al. 2009. Declarative networking. Communications of the ACM 52, 11, 8795.
Lynch, N. 1996. Distributed Algorithms. Morgan Kaufmann.
Ma, J., Le, F., Wood, D., Russo, A. and Lobo, J. 2013. A declarative approach to distributed computing: Specification, execution and analysis. Theory and Practice of Logic Programming 13, Special Issue 4–5, 815830.
Marczak, W., Alvaro, P., Conway, N., Hellerstein, J. and Maier, D. 2011. Confluence analysis for distributed programs: A model-theoretic approach. Technical Report UCB/EECS-2011-154 (Dec), EECS Department, University of California, Berkeley.
Marek, V. and Truszczynski, M. 1999. Stable models and an alternative logic programming paradigm. In The Logic Programming Paradigm, Apt, K., Marek, V., Truszczynski, M. and Warren, D., Eds., Artificial Intelligence, Springer, Berlin Heidelberg, 375398.
Navarro, J. and Rybalchenko, A. 2009. Operational semantics for declarative networking. In Proceedings 11th International Symposium on Practical Aspects of Declarative Languages, Gill, A. and Swift, T., Eds. Lecture Notes in Computer Science, 7690.
Nigam, V. and Leite, J. 2006. A dynamic logic programming based system for agents with declarative goals. In Proc. of the 4th International Conference on Declarative Agent Languages and Technologies, DALT, Springer-Verlag, 174190.
Saccà, D. and Zaniolo, C. 1990. Stable models and non-determinism in logic programs with negation. In Proc. of the 9th ACM Symposium on Principles of Database Systems, ACM Press, 205217.
Vardi, M. 1982. The complexity of relational query languages. In Proc. 14th ACM Symposium on the Theory of Computing, ACM Press, New York, NY, USA, 137146.
Woodcock, J. and Davies, J. 1996. Using Z: Specification, Refinement, and Proof. Prentice Hall.
Zhang, Q., Cheng, L. and Boutaba, R. 2010. Cloud computing: State-of-the-art and research challenges. Journal of Internet Services and Applications 1, 1, 718.
Zinn, D., Green, T. and Ludaescher, B. 2012. Win-move is coordination-free (sometimes). In Proc. of the 15th International Conference on Database Theory, ACM Press, 99113.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Type Description Title
Supplementary materials

Ameloot supplementary material
Online Appendix

 PDF (592 KB)
592 KB


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