Το work with title Declarative networking by Boon Thau Loo, Condie Tyson, Garofalakis Minos, Gay David E., Hellerstein, Joseph, 1952-, Maniatis Petros, Ramakrishnan, Raghu, Roscoe Timothy, Stoica, Ion, 1965- is licensed under Creative Commons Attribution 4.0 International
Bibliographic Citation
B.T. Loo, T. Condie, M. Garofalakis, D.E. Gay, J. M. Hellerstein, P. Maniatis, R. Ramakrishnan, T. Roscoe and I. Stoica, "Declarative networking", Communications of the ACM, vol. 52. no. 11, Nov. 2009, pp. 87-95. doi: 10.1145/1592761.1592785
https://doi.org/10.1145/1592761.1592785
Declarative Networking is a programming methodology thatenables developers to concisely specify network protocolsand services, which are directly compiled to a dataflow frameworkthat executes the specifications. This paper providesan introduction to basic issues in declarative networking, includinglanguage design, optimization and dataflow execution.We present the intuition behind declarative programmingof networks, including roots in Datalog, extensions fornetworked environments, and the semantics of long-runningqueries over network state. We focus on a sublanguage wecall Network Datalog (NDlog), including execution strategiesthat provide crisp eventual consistency semantics withsignificant flexibility in execution. We also describe a moregeneral language called Overlog, which makes some compromisesbetween expressive richness and semantic guarantees.We provide an overview of declarative network protocols,with a focus on routing protocols and overlay networks. Finally,we highlight related work in declarative networking,and new declarative approaches to related problems.