Frenetic (programming language)
|Paradigm||Domain-specific (software-defined networks), reactive, modular|
Frenetic is a domain-specific language for programming software-defined networks (SDNs). This domain-specific programming language allows network operators, rather than manually configuring each connected network device, to program the network as a whole. Frenetic is designed to solve major OpenFlow/NOX programming problems. In particular, Frenetic introduces a set of purely functional abstractions that enable modular program development, defines high-level, programmer-centric packet-processing operators, and eliminates many of the difficulties of the two-tier programming model by introducing a see-every-packet programming paradigm. Hence Frenetic is a functional reactive programming language operating at a packet level of abstraction.
- Voellmy, Andreas; et al. (July 10, 2010). "Don't Configure the Network, Program It" (PDF). cs.yale.edu. Retrieved February 22, 2011.
- Voellmy, Andreas; Hudak, Paul (2011). "Nettle: Taking the Sting Out of Programming Network Routers" (PDF). Practical Aspects of Declarative languages. 6359/2011: 235–249. doi:10.1007/978-3-642-18378-2_19. Retrieved 14 February 2011.
- Foster, Nate; Harrison, Rob; Meola, Matthew L.; Freedman, Michael J.; Rexford, Jennifer; Walker, David (November 30, 2010). "Frenetic: A High-Level Language for OpenFlow Networks" (PDF). ACM PRESTO 2010. ACM.
- Nate Foster, Rob Harrison, Michael J. Freedman, Jennifer Rexford, and David Walker (December 6, 2010). Frenetic: A High-Level Language for OpenFlow Networks, Technical report. Cornell University. Retrieved February 22, 2011.