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 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 Python and Bash; by contrast our system, Marionnet 1 , 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.
We propose a structural operational semantics that expresses temporal aspects of mobile and distributed systems, each sequential component of which has its local clock. Since the run-time support of a programming language implements the operations of the language via some lower-level routines, the same action, put in different contexts, may have different durations. Also the network topology affects these durations, typically when messages are exchanged. We model this through a transition system labelled by actions and their costs, in a discrete time. Then, we define two performance preordings that say when the execution of a process is faster than that of another. The first preorder is similar to those presented in the literature, while the second refines it in that it considers a process faster than another if it is such from some point onwards of its execution. Finally, as an example we compare the performance of a conventional uniprocessor architecture with a prefetch pipeline architecture
RESUME :Dans cet article nous rapportons notre expérience concrète d'utilisation du logiciel Marionnet pour l'enseignement du routage IP statique. La maîtrise du routage statique nécessite habituellement de réaliser des montages relativement complexes qui mobilisent de nombreuses ressources (ordinateurs, routeurs). Ces ressources sont forcé-ment à partager entre les étudiants, ce qui crée des situations qui limitent l'efficacité de l'enseignement. Notre expé-rience avec la virtualisation des réseaux montre, en revanche, l'intérêt d'une telle approche pour l'enseignement de sujets complexes et exigeants en terme de ressources.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.