Frenetic (programming language)
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.[1] 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.[2]
Paradigm | Domain-specific (software-defined networks), reactive, modular |
---|---|
Typing discipline | Dynamic |
Website | www |
Influenced by | |
OCaml |
References
- 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". Practical Aspects of Declarative Languages. Lecture Notes in Computer Science. 6359/2011: 235–249. doi:10.1007/978-3-642-18378-2_19. ISBN 978-3-642-18377-5.
Further reading
- 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. ISBN 978-1-4503-0467-2.
- 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.