ML 2007 START Conference Manager    

Status Report: Marionnet -- How to Implement a Virtual Network Laboratory in Six Months and Be Happy

Jean-Vincent Loddo and Luca Saiu

The 2007 ACM SIGPLAN Workshop on ML (ML 2007)
Freiburg, Germany, October 5, 2007


A virtual network laboratory ---allowing to emulate a physical network of computers and network devices such as switches or routers {\em in software}--- represents a valuable tool for students, and may also be useful to researchers and system administrators. A tool of this kind, particularly if it aims at being usable by inexperienced students, should offer the same opportunities of configuring and experimenting with components as a physical network, providing also an intuitive graphical user interface for {\em dynamically} manipulating the network topology and each individual virtual device.

Building such an inherently concurrent system is nontrivial, requiring the integration of many different components written in different languages and a complex control logic. Indeed some projects with similar purposes have been existing for years, and typically use scripting languages such as {\em Python} and {\em Bash}; by contrast our system, {\em Marionnet}, has been implemented using the functional language OCaml in just six man-months and yet providing several important features still missing in more mature projects.

We seize the occasion of describing Marionnet to discuss the relevance of the functional style and of advanced type systems for dramatically cutting development time.

START Conference Manager (V2.54.4)