Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Stable Internet routing without global coordination
Proceedings of the 2000 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Understanding BGP misconfiguration
Proceedings of the 2002 conference on Applications, technologies, architectures, and protocols for computer communications
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Network routing with path vector protocols: theory and applications
Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications
Design principles of policy languages for path vector protocols
Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications
Journal of Functional Programming
BGP Design and Implementation
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Declarative routing: extensible routing with declarative queries
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Foundations of inter-domain routing
Foundations of inter-domain routing
BGP routing policies in ISP networks
IEEE Network: The Magazine of Global Internetworking
A declarative approach for secure and robust routing
Proceedings of the 3rd ACM workshop on Assurable and usable security configuration
Nettle: taking the sting out of programming network routers
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Hi-index | 0.00 |
Interdomain routing is the task of establishing connectivity among the independently administered networks (called autonomous systems ) that constitute the Internet. The protocol used for this task is the Border Gateway Protocol (BGP) [1], which allows autonomous systems to independently define their own route preferences and route advertisement policies. By careful design of these BGP policies, autonomous systems can achieve a variety of objectives. Currently available configuration and policy languages are low-level and provide only a few basic constructs for abstraction, thus preventing network operators from expressing their intentions naturally. To alleviate this problem, we have designed Nettle , a domain-specific embedded language (DSEL) for configuring BGP networks, using Haskell [3] as the host language. The embedding in Haskell gives users comprehensive abstraction and calculation constructs, allowing them to clearly describe the ideas generating their BGP policies and router configurations. Furthermore, unlike previous router configuration and policy languages, Nettle allows users to both specify BGP policies at an abstract, network-wide level, and specify vendor-specific router details in a single uniform language. We have built a compiler that translates Nettle programs into configuration scripts for XORP [4] routers and a simulator that allows operators to test their network configurations before deployment.