Network Programming Languages

Fall 2015
Class:Politecnico di Milano, DEIB, Seminar Room - Building 20.
Instructor: Robert Soulé

Overview

This course provides an introduction to the languages used to program computer networks. It will examine recent proposals based on logic, functional, and distributed languages, as well as tools for establishing correctness using automatic solvers, model checkers, and proof assistants. Topics covered will include classic Internet routing protocols, along with peer-to-peer, overlay, enterprise, datacenter, and software-defined networks. Students will get hands-on experience through a series of small exercises using the Frenetic language for software-defined networks, and the Mininet network simulator.

Details

Location

The course will be held at the Department DEIB of Politecnico di Milano via Ponzio 34/5 - Milano. Follow this link for DIRECTIONS.

Registration

The course is open to PhD students and post-docs from Politecnico di Milano and other universities. The course is free of charges but registration is mandatory.

REGISTRATION FORM

A certificate of participation will be granted to attendees at the end of the course.

Mainling list

Please join the course mailing list at Google groups.

Syllabus

Please be sure to regularly check this page for updates.

Oct. 12: 14:00-17:00
Introduction, SDN History, OpenFlow
Oct. 13: 9:00-12:00
Control plane languages
Oct. 13: 14:00-17:00
Hands-on with NetKat
Oct. 14: 9:00-12:00
Data plane languages
Oct. 14: 14:00-17:00
Hands-on with P4
Oct. 15: 9:00-12:00
Verification tools
Oct. 15: 14:00-17:00
Hands on with SPIN
Oct. 16: 9:00-12:00
Exam

References

Acknowledgements

Material from this course is based on material from Nick Feamster, Nate Foster, Natasha Sharygina, and Changhoon Kim. The course website is based on the design by Robert Grimm.