Date of Graduation

Fall 2018

Document Type

Honors Research Project

Degree Name

Bachelor of Science in Computer Science


Computer Science

Research Sponsor

Dr. Andrew Sutton

First Reader

Dr. Michael Collard

Second Reader

Willis Crissey


We present an abstract machine and S-expression-based programming language to describe OpenFlow-style software-defined networking. The implemented Pip virtual machine and language provide facilities for packet decoding, safely writing and setting bitfields within packets, and switching based on packet contents. We have outlined an abstract syntax and structural operational semantics for Pip, thus allowing Pip programs to have predictable and provable properties. Pip allows for easy and safe access and writing to packet fields, as well as a programmable packet pipeline that will rarely stall.