On top of a GNU/Linux host, the emulation of guest machines is achieved through User Mode Linux technology that allows to run many Linux kernel in user space as regular processes.
VDE - Virtual Distributed Ethernet project is responsible of linking together Uml machines in a virtual network, its purpose is to emulate cable, hub and switch devices allowing also to introduce perturbations in the communication.
On top of this raw emulated network Marionnet acts as a coherent manager and as a GUI.
Marionnet is an example of a complex concurrent application written in a functional language, using relatively advanced programming techniques.