A balance of power: expressive, analyzable controller programming

  • Authors:
  • Tim Nelson;Arjun Guha;Daniel J. Dougherty;Kathi Fisler;Shriram Krishnamurthi

  • Affiliations:
  • Worcester Polytechnic Instutite, Worcester, MA, USA;Cornell University, Ithaca, NY, USA;Worcester Polytechnic Institute, Worcester, MA, USA;Worcester Polytechnic Institute, Worcester, MA, USA;Brown University, Providence, RI, USA

  • Venue:
  • Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Configuration languages for traditional network hardware are often fairly limited and hence easy to analyze. Programmable controllers for software-defined networks are far more flexible, but this flexibility results in more opportunities for mis-configuration and greatly complicates analyses. We propose a new network-programming paradigm that strikes a balance between expressive power and analysis, providing a highly analyzable core language while allowing the re-use of pre-existing code written in more complex production languages. As the first step we have created FlowLog, a declarative language for programming SDN controllers. We show that FlowLog is expressive enough to build some real controller programs. It is also a finite-state language, and thus amenable to many types of analysis, such as model-checking. In this paper we present FlowLog, show examples of controller programs, and discuss analyzing them.