The NetWire emulator: a tool for teaching and understanding networks

  • Authors:
  • Enrico Carniani;Renzo Davoli

  • Affiliations:
  • Department of Computer Science, University of Bologna, Mura Anteo Zamboni, 7-140127, Bologna;Department of Computer Science, University of Bologna, Mura Anteo Zamboni, 7-140127, Bologna

  • Venue:
  • Proceedings of the 6th annual conference on Innovation and technology in computer science education
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The evolution of the parallel computing theory has shown over years the need for complex and reliable emulation tools for teaching, learning and developing new distributed algorithms in a realistic network environment. NetWire[emu] is a distributed architecture designed for educational and research purposes which provides a synthetic and realistic network environment that may be used to teach and learn parallel algorithms (or parallel operating systems) as well as to research and develop new distributed algorithms.NetWire is an architecture based on a client/server derivation scheme: each client can interact with one or more servers emulating one or more networks by the NOEL protocol (Network Oriented Emulation Language), which is an extension of TCL over TCP/IP specifically designed for NetWire. The user can thus control all the physical parameters of each network or part of it (communication channels, hubs, network adapters and so on).Furthermore, the NetWire API library interfaces the synthetic network environment to real software applications with ease, hiding the whole architecture behind the appearance of a network device driver, fully compatible with the operating system the applications run on.Moreover, NetWire already provides a featured Xwindows interface, and because of the integrated TCL language and the interactions between NOEL and TK, it is possible to fastly build up new and powerful GUI based programs.Thus, the field of application of NetWire is twofold: on a side, it may be used as a tool for teaching distributed algorithms on parallel and distributed operating systems, and on the other one it is a tool for the research and development of new distributed algorithms.