Scenario-based Programming of SDN Policies

NetEgg is a toolkit of scenario-based programming, that allows network operators who may not be trained in programming to develop network policies by describing representative example behaviors. Instead of implementing a network policy by programming, the network operator simply specifies the desired network using scenarios, which consist of packet traces, and corresponding actions to each packet. Given these scenarios, a synthesis algorithm automatically infers the controller state that needs to be maintained along with the rules to process network events and update state. NetEgg targets network operators that may not be skilled to program the behavior of a router by a standard programming language.

The diagram above illustrates how the tool works. The network operator describes the example behaviors about the desired network policy in representative scenarios. These scenarios are in the form of timing diagrams, which are written in a configuration language. The user submits example behaviors to the synthesizer. The syntesizer informs the user if there are conflicts. If not, the synthesizer generates the state and policy tables. This is sent to a Software-defined Networking (SDN) controller which interprets it and then the installation of the rules happen in the network.


Scenario-based Programming for SDN Policies (PDF)
Yifei Yuan, Dong Lin, Rajeev Alur, Boon Thau Loo
11th Conference on emerging Networking Experiments and Technologies (ACM CoNEXT), Heiderberg,
Germany, Dec 2015. [20.9% acceptance]
One of the 5 papers nominated for best paper award

NetEgg: Programming Network Policies by Examples (PDF)
Yifei Yuan, Rajeev Alur and Boon Thau Loo.
13th ACM Workshop on Hot Topics in Networks (HotNets-XIV), 2004.


Rajeev Alur
Boon Thau Loo


Siri Anil
Dong Lin
Harsh Verma
Yifei Yuan

This project is supported by

NSF IIP-1564730, NSF CNS-1513679, NSF CNS-1218066, NSF CNS-1117052, NSF Expeditions in Computing award CCF-1138996, and NSF CNS-0845552.