Show simple item record

dc.contributor.authorAnderson, Carolyn Jane
dc.contributor.authorFoster, Nate
dc.contributor.authorGuha, Arjun
dc.contributor.authorJeannin, Jean-Baptiste
dc.contributor.authorKozen, Dexter
dc.contributor.authorSchlesinger, Cole
dc.contributor.authorWalker, David
dc.date.accessioned2013-10-11T17:01:34Z
dc.date.available2013-10-11T17:01:34Z
dc.date.issued2013-10-11
dc.identifier.urihttps://hdl.handle.net/1813/34445
dc.description.abstractRecent years have seen growing interest in high-level languages for programming networks. But the design of these languages has been largely ad hoc, driven more by the needs of applications and the capabilities of network hardware than by foundational principles. The lack of a semantic foundation has left language designers with little guidance in determining how to incorporate new features, and programmers without a means to reason precisely about their code. This paper presents NetKAT, a new network programming language that is based on a solid mathematical foundation and comes equipped with a sound and complete equational theory. We describe the design of NetKAT, including primitives for filtering, modifying, and transmitting packets; operators for combining programs in parallel and in sequence; and a Kleene star operator for iteration. We show that NetKAT is an instance of a canonical and well studied mathematical structure called a Kleene algebra with tests (KAT) and prove that its equational theory is sound and complete with respect to its denotational semantics. Finally, we present practical applications of the equational theory including syntactic techniques for checking reachability properties, proving the correctness of compilation and optimization algorithms, and establishing a non-interference property that ensures isolation between programs.en_US
dc.description.sponsorshipSupported in part by the NSF under grant CNS-1111698, the ONR under award N00014-12-1-0757, a Sloan Research Fellowship, and a Google Research Award.en_US
dc.language.isoen_USen_US
dc.subjectprogramming languagesen_US
dc.subjectsoftware-defined networkingen_US
dc.subjectKleene algebra with testsen_US
dc.titleNetKAT: Semantic Foundations for Networksen_US
dc.typearticleen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Statistics