Abstract
Declarative Networking has been recently promoted as a high-level programming paradigm to more conveniently describe and implement systems that run in a distributed fashion over a computer network. It has already been used to implement various networked systems, e.g., network overlays, Byzantine fault tolerance protocols, and distributed hash tables. Declarative Networking relies upon a rule-based programming language that resembles Datalog and allows one to declaratively specify the flow of networking events. However, the presence of asynchronous communication, distribution, and imperative modification of the program state in Declarative Networking applications have been an obstacle for defining its semantics. Currently, the reference semantics is determined by the runtime environment only, which hinders further application development and makes any efforts to develop program analysis and verification tools impossible. In this paper, we propose an operational semantics for Declarative Networking that addresses these problems. The semantics is parameterized to keep open a design space required at the current stage of the language development. We also report on our first experience with an interpreter for Declarative Networking applications that implements the proposed semantics.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Armstrong, J.: Making reliable distributed systems in the presence of software errors. PhD thesis, KTH (2003)
Fournet, C., Fessant, F.L., Maranget, L., Schmitt, A.: JoCaml: A language for concurrent distributed and mobile programming. In: Advanced Func. Prog. Springer, Heidelberg (2002)
Hanus, M.: Distributed programming in a multi-paradigm declarative language. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702. Springer, Heidelberg (1999)
Killian, C.E., Anderson, J.W., Braud, R., Jhala, R., Vahdat, A.: Mace: language support for building distributed systems. In: PLDI. ACM, New York (2007)
Loo, B.T., Condie, T., Garofalakis, M., Gay, D.E., Hellerstein, J.M., Maniatis, P., Ramakrishnan, R., Roscoe, T., Stoica, I.: Declarative networking: Language, execution and optimization. In: SIGMOD, pp. 97–108. ACM, New York (2006)
Sewell, P., Leifer, J.J., Wansbrough, K., Nardelli, F.Z., Allen-Williams, M., Habouzit, P., Vafeiadis, V.: Acute: High-level programming language design for distributed computation. J. Funct. Program. 17(4–5), 547–612 (2007)
Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup protocol for Internet applications. IEEE/ACM Trans. Netw. 11(1), 17–32 (2003)
Rowstron, A., Druschel, P.: Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, p. 329. Springer, Heidelberg (2001)
Chu, D., Popa, L., Tavakoli, A., Hellerstein, J.M., Levis, P., Shenker, S., Stoica, I.: The design and implementation of a declarative sensor network system. In: SenSys. ACM, New York (2007)
Loo, B.T., Condie, T., Hellerstein, J.M., Maniatis, P., Roscoe, T., Stoica, I.: Implementing declarative overlays. In: SIGOPS, pp. 75–90. ACM, New York (2005)
Singh, A., Das, T., Maniatis, P., Druschel, P., Roscoe, T.: BFT protocols under fire. In: NSDI, USENIX (2008)
Condie, T., Gay, D.E., Loo, B.T., et al.: P2: Declarative networking website (2008)
Loo, B.T.: The Design and Implementation of Declarative Networks. PhD thesis, UC Berkeley (2006)
Rossberg, A., Botlan, D.L., Tack, G., Brunklaus, T., Smolka, G.: Alice through the looking glass. In: Trends in Func. Prog., Intellect. (2004)
Rossberg, A., Tack, G., Kornstaedt, L.: Status report: HOT pickles, and how to serve them. In: Workshop on ML, pp. 25–36. ACM, New York (2007)
Beyer, D., Noack, A., Lewerentz, C.: Efficient relational calculation for software analysis. Trans. on Soft. Eng. 31(2), 137–149 (2005)
Whaley, J., Lam, M.S.: Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In: PLDI. ACM, New York (2004)
Carriero, N., Gelernter, D.: Linda in context. Commun. ACM 32(4) (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Navarro, J.A., Rybalchenko, A. (2008). Operational Semantics for Declarative Networking. In: Gill, A., Swift, T. (eds) Practical Aspects of Declarative Languages. PADL 2009. Lecture Notes in Computer Science, vol 5418. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92995-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-92995-6_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-92994-9
Online ISBN: 978-3-540-92995-6
eBook Packages: Computer ScienceComputer Science (R0)