Declarative Networking is a programming methodology that enables developers to concisely
specify network protocols and services which are directly compiled to a dataflow framework
that executes the specifications. Declarative networking proposes the use of a declarative
query language for specifying and implementing network protocols and employs a dataflow
framework at runtime for communication and maintenance of network state. The primary goal of
declarative networking is to greatly simplify the process of specifying implementing
deploying and evolving a network design. In addition declarative networking serves as an
important step towards an extensible evolvable network architecture that can support flexible
secure and efficient deployment of new network protocols. This book provides an introduction to
basic issues in declarative networking including language design optimization and dataflow
execution. The methodology behind declarative programming of networks is presented including
roots in Datalog extensions for networked environments and the semantics of long-running
queries over network state. The book focuses on a representative declarative networking
language called Network Datalog (NDlog) which is based on extensions to the Datalog recursive
query language. An overview of declarative network protocols written in NDlog is provided and
its usage is illustrated using examples from routing protocols and overlay networks. This book
also describes the implementation of a declarative networking engine and NDlog execution
strategies that provide eventual consistency semantics with significant flexibility in
execution. Two representative declarative networking systems (P2 and its successor RapidNet)
are presented. Finally the book highlights recent advances in declarative networking and new
declarative approaches to related problems. Table of Contents: Introduction Declarative
Networking Language Declarative Networking Overview Distributed Recursive Query Processing
Declarative Routing Declarative Overlays Optimization of NDlog Recent Advances in
Declarative Networking Conclusion