|
ABSTRACT
A virtual network laboratory -allowing to emulate a physical network of computers and network devices such as switches or routers 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 dynamically manipulating the network topology and each individualvirtual 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 Python and Bash; by contrast our system, 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 therelevance of the functional style and of advanced type systems for dramatically cutting development time.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
ADAMS, D. The Hitch Hiker's Guide to the Galaxy. Pan Books, London, 1979.
|
| |
3
|
AT&T LABS. Graphviz - open source graph drawing software. URL: http://www.research.att.com/sw/tools/graphviz/.
|
 |
4
|
Paul Barham , Boris Dragovic , Keir Fraser , Steven Hand , Tim Harris , Alex Ho , Rolf Neugebauer , Ian Pratt , Andrew Warfield, Xen and the art of virtualization, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
| |
5
|
BEGNUM, K., ET AL. The MLN Project Home Page. URL: http://mln.sourceforge.net/index.php.
|
| |
6
|
BELLARD, F. QEMU Open Source Processor Emulator. URL: http://www.qemu.org.
|
| |
7
|
BLANC, M. The vmumlgui Project Home Page. URL: http://pagesperso.erasme.org/michel/vnumlgui/.
|
| |
8
|
Matthew Caesar , Donald Caldwell , Nick Feamster , Jennifer Rexford , Aman Shaikh , Jacobus van der Merwe, Design and implementation of a routing control platform, Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation, p.15-28, May 02-04, 2005
|
| |
9
|
CHAILLOUX, E.,MANOURY, P., AND PAGANO, B. Developing Applications with Objective Caml. 2000. Developement d'applications avec Objective Caml, O'Reilly, France.
|
| |
10
|
|
| |
11
|
DAVEY, P. The X user: xterm tips and tricks. j-X-RESOURCE 0, 1 (oct 1991), 24--30.
|
 |
12
|
|
| |
13
|
|
| |
14
|
DIKE, J. User Mode Linux Community Site. URL: http://usermodelinux.org.
|
| |
15
|
DIKE, J. User Mode Linux Kernel Home Page. URL: http://user-mode-linux.sourceforge.net.
|
| |
16
|
DIKE, J. User Mode Linux. Prentice-Hall, 2006.
|
| |
17
|
DREPPER, U.,MILLER, P., AND HAIBLE, B. gettext Home Page. URL: http://www.gnu.org/software/gettext/.
|
| |
18
|
FREE SOFTWARE FOUNDATION. GNU Home Page. URL: http://www.gnu.org.
|
| |
19
|
FREE SOFTWARE FOUNDATION. GNU General Public License. URL: http://www.gnu.org/copyleft/gpl.html, 2007.
|
| |
20
|
GALÁN, F., AND DECCIO, C. T. VNUML Language Reference. URL: http://jungla.dit.upm.es/vnuml/doc/1.6/reference/index.html.
|
| |
21
|
GALÁ;N, F., AND FERNÁNDEZ, D. Virtual Network User Mode Linux. URL: http://jungla.dit.upm.es/vnuml/.
|
| |
22
|
GARRIGUE, J., FAUQUE, H., FURUSE, J., AND KAGAWA, K. Lablgtk, a Gtk interface for Objective Label. URL: http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html.
|
| |
23
|
ISHIGURO, K., ET AL. Quagga Home Page. URL: http://www.quagga.net.
|
| |
24
|
KRAP, A. Setting up a virtual network laboratory with User-Mode Linux. Tech. rep., 2004. Masters programme on System and Network Administration, University of Amsterdam. URL: http://www.os3.nl/arjen/snb/asp/asp-report.pdf.
|
| |
25
|
KRASNYANSKY,M. Universal TUN/TAP device driver. URL: http://www.kernel.org/pub/linux/kernel/, FILE: people/marcelo/linux-2.4/Documentation/networking/tuntap.txt.
|
| |
26
|
LAWTON, K., ET AL. Bochs Home Page. URL: http://bochs.sourceforge.net.
|
| |
27
|
LE GALL, S. ocaml-gettext Home Page. URL: http://sylvain.le-gall.net/ocaml-gettext.html.
|
| |
28
|
LEROY, X., DOLIGEZ, D., GARRIGUE, J., RÉMY, D., AND VOUILLON), J. The Objective Caml system, Documentation and user's manual, release 3.10 ed., 2007. URL: http://caml.inria.fr/pub/docs/manual-ocaml/.
|
| |
29
|
LODDO, J.-V., AND SAIU, L. A sample work session with Marionnet. Video. URL: http://www-lipn.univ-paris13.fr/~loddo/video.ogg.
|
 |
30
|
|
| |
31
|
MÜRI, F. uml switch2 Home Page. URL: http://www.uxu.ch/uxu/software/uml switch2.
|
| |
32
|
NARBEL, P. Programmation fonctionnelle, générique et objet. Une introduction avec le langage OCaml. Vuibert Informatique, 2005.
|
| |
33
|
NEMESIO, S. C., DE LAS HERAS QUIRÒS, P., BARBERO, E. M. C., AND GONZÀLEZ, J. A. C. Early experiences with NetGUI laboratories.
|
| |
34
|
OH, S. Gtk+ 2.0 Tree View Tutorial using OCaml - Adaptation of Tim-Philipp Muller tutorial. URL: http://plus.kaist.ac.kr/?shoh/ocaml/lablgtk2/treeview-tutorial/.
|
 |
35
|
|
| |
36
|
PEYTON JONES, S., ET AL. Report on the programming language haskell 98, Feb. 1999.
|
| |
37
|
|
| |
38
|
RIMONDINI, M. Emulation of Computer Networks with Netkit. Tech. rep., 2007. Università degli Studi di Roma Tre. URL: http://dipartimento.dia.uniroma3.it/ FILE: ricerca/rapporti/rt/2007-113.pdf.
|
| |
39
|
SAIU, L. The epsilon project -- a functional language implementation (MD thesis). URL: http://etd.adm.unipi.it/theses/available/etd-02012007-071542 Software available at http://savannah.gnu.org/projects/epsilon, Feb. 14 2007.
|
 |
40
|
|
| |
41
|
|
| |
42
|
TAYLOR, O., ET AL. Gtk+ - GNU toolkit for X windows development. URL: http://www.gtk.org.
|
| |
43
|
TORVALDS, L. Linux Home Page. URL: http://www.linux.org.
|
| |
44
|
|
| |
45
|
VAN BEERS, M., CHAPLIN, D., ET AL. Glade - A User Interface Designer for GTK+ and GNOME. URL: http://glade.gnome.org.
|
| |
46
|
VMWARE, INC. VMware Home Page. URL: http://www.vmware.com.
|
|