Miranda: a non-strict functional language with polymorphic types
Proc. of a conference on Functional programming languages and computer architecture
ACM Transactions on Graphics (TOG)
UNIX network programming
Objective ML: an effective object-oriented extension to ML
Theory and Practice of Object Systems - Third workshop on foundations of object-oriented languages (FOOL 3)
The functional approach to programming
The functional approach to programming
An algorithm for distributed computation of a spanningtree in an extended LAN
SIGCOMM '85 Proceedings of the ninth symposium on Data communications
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Teaching operating systems administration with user mode linux
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
VDE: Virtual Distributed Ethernet
TRIDENTCOM '05 Proceedings of the First International Conference on Testbeds and Research Infrastructures for the DEvelopment of NeTworks and COMmunities
Design and implementation of a routing control platform
NSDI'05 Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation - Volume 2
Spamulator: the Internet on a laptop
Proceedings of the 13th annual conference on Innovation and technology in computer science education
Constructing a Robust Services-Oriented Inter-cloud Portal Based on an Autonomic Model and FOSS
UCC '13 Proceedings of the 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing
Hi-index | 0.00 |
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.