COMPNET: an interactive computer networks analysis and design package

5
IEEE TRANSACTIONS ON EDUCATION, VOL. 32, NO. 1, FEBRUARY 1989 41 COMPNET: An Interactive Computer Networks Analysis and Design Package Abstract-COMPNET is an educational software package being used as a teaching tool to study, analyze, and design computer networks [l]. This package is an interactive, user-friendly, entirely menu driven, and graphics oriented software tool, implemented for the Apple’s MacPlus and Digital’s VAX 111780. This paper describes the applications of this package, and covers topics in graph theory, centralized network de- sign, and queueing systems. This work has been successfully imple- mented and classroom tested by the authors at both the undergraduate and graduate level. Several computer exercises using COMPNET are suggested to accompany classroom lectures and traditional problem as- signments. I. INTRODUCTION OMPUTER networks is one of the most demanding C topics to be taught to college students because of the breadth of background knowledge required. Some insight into computer and communication processor hardware, software design, and large-scale network layout is re- quired. This, in turn, requires the student to have a good knowledge of probability, graph theory, queueing sys- tems, linear programming, optimization techniques, and, last but not least, computer systems. An exhaustive de- sign of a major network, e.g., ARPANET or DECNET would typically require a global understanding of all the above mentioned areas. COMPNET can be looked upon as a software package which serves a dual purpose. It can be used as a learning tool, for a user who is interested in gaining a deeper insight into the underlying abstract con- cepts which govern an isolated area in network design, e.g., how a particular algorithm can be used to seek cer- tain characteristics of a network. The user is subjected to a visual demonstration of the workings of each algorithm. On the other hand, an educated user can view COMPNET as a utility which provides the most commonly used al- gorithms in network design. The package is currently di- vided into three sections namely graph theory, topology design, and queueing systems. Each of the above sections in turn is further subdivided into various sections. Fig. 1 shows the COMPNET block diagram. This COMPNET organization is a natural choice because the design of a general network is usually comprised of steps partitioned similarly. The design process from a very simplistic view- Manuscript received September 25, 1988; revised October 25, 1988. This work was supported by an educational grant from the Westinghouse Corporation. The authors are with the Department of Electrical and Computer Engi- neering, Drexel University, Philadelphia, PA 19104. IEEE Log Number 8825529. MODULE GRAPH THEORY TOPOLOGY THEORY Fig. 1. COMPNET-A modular view. point involves the following sequence. The topological optimization is carried out first, which involves determin- ing how the nodes in the network must be interconnected in order to minimize cost and also satisfy the flow con- straints. The terminal layout and terminal clustering al- gorithms fall in this area and are used for overall topo- logical optimization. The algorithms provided in the graph theory section can be used subsequently to calculate net- work characteristics, e.g., shortest distance and maxi- mum flow from one node in the network to another. The queueing systems module can be used to simulate the net- work and carry out performance evaluation. The user communicates with these modules through the interface module. A detailed discussion of each of these compo- nents follows in a later section. COMPNET has been used successfully, in enhancing students’ understanding of computer network course ma- terial, for Drexel University engineering and computer science students. In the undergraduate course work, the emphasis is on using the programs as a problem solver, an assistant, as well as a tool for designing miniproject networks. The students are assigned homework using COMPNET to solve some specific network related prob- lems. They are not expected to understand the inner horkings of the algorithms. At the graduate level, students use the programs to study and design a network of their own interest in a quarter long project. They are also introduced to the system’s data structures and implementation of the programs and are en- couraged to improve upon it by employing different data structures and heuristics. This paper is organized as follows. Section 11 deals with the system description. The user interface is also de- scribed in this section. Various applications of COMP- NET, for undergraduate course work, are explored in Section 111. Section IV explains how graduate students can 0018-9359/89/0200-0047$01 .OO 0 1989 IEEE

Transcript of COMPNET: an interactive computer networks analysis and design package

IEEE TRANSACTIONS ON EDUCATION, VOL. 32, NO. 1, FEBRUARY 1989 41

COMPNET: An Interactive Computer Networks Analysis and Design Package

Abstract-COMPNET is an educational software package being used as a teaching tool to study, analyze, and design computer networks [l]. This package is an interactive, user-friendly, entirely menu driven, and graphics oriented software tool, implemented for the Apple’s MacPlus and Digital’s VAX 111780. This paper describes the applications of this package, and covers topics in graph theory, centralized network de- sign, and queueing systems. This work has been successfully imple- mented and classroom tested by the authors at both the undergraduate and graduate level. Several computer exercises using COMPNET are suggested to accompany classroom lectures and traditional problem as- signments.

I. INTRODUCTION OMPUTER networks is one of the most demanding C topics to be taught to college students because of the

breadth of background knowledge required. Some insight into computer and communication processor hardware, software design, and large-scale network layout is re- quired. This, in turn, requires the student to have a good knowledge of probability, graph theory, queueing sys- tems, linear programming, optimization techniques, and, last but not least, computer systems. An exhaustive de- sign of a major network, e.g. , ARPANET or DECNET would typically require a global understanding of all the above mentioned areas. COMPNET can be looked upon as a software package which serves a dual purpose. It can be used as a learning tool, for a user who is interested in gaining a deeper insight into the underlying abstract con- cepts which govern an isolated area in network design, e.g., how a particular algorithm can be used to seek cer- tain characteristics of a network. The user is subjected to a visual demonstration of the workings of each algorithm. On the other hand, an educated user can view COMPNET as a utility which provides the most commonly used al- gorithms in network design. The package is currently di- vided into three sections namely graph theory, topology design, and queueing systems. Each of the above sections in turn is further subdivided into various sections. Fig. 1 shows the COMPNET block diagram. This COMPNET organization is a natural choice because the design of a general network is usually comprised of steps partitioned similarly. The design process from a very simplistic view-

Manuscript received September 25, 1988; revised October 25, 1988. This work was supported by an educational grant from the Westinghouse Corporation.

The authors are with the Department of Electrical and Computer Engi- neering, Drexel University, Philadelphia, PA 19104.

IEEE Log Number 8825529.

MODULE

GRAPH THEORY TOPOLOGY THEORY

Fig. 1 . COMPNET-A modular view.

point involves the following sequence. The topological optimization is carried out first, which involves determin- ing how the nodes in the network must be interconnected in order to minimize cost and also satisfy the flow con- straints. The terminal layout and terminal clustering al- gorithms fall in this area and are used for overall topo- logical optimization. The algorithms provided in the graph theory section can be used subsequently to calculate net- work characteristics, e.g., shortest distance and maxi- mum flow from one node in the network to another. The queueing systems module can be used to simulate the net- work and carry out performance evaluation. The user communicates with these modules through the interface module. A detailed discussion of each of these compo- nents follows in a later section.

COMPNET has been used successfully, in enhancing students’ understanding of computer network course ma- terial, for Drexel University engineering and computer science students. In the undergraduate course work, the emphasis is on using the programs as a problem solver, an assistant, as well as a tool for designing miniproject networks. The students are assigned homework using COMPNET to solve some specific network related prob- lems. They are not expected to understand the inner horkings of the algorithms.

At the graduate level, students use the programs to study and design a network of their own interest in a quarter long project. They are also introduced to the system’s data structures and implementation of the programs and are en- couraged to improve upon it by employing different data structures and heuristics.

This paper is organized as follows. Section 11 deals with the system description. The user interface is also de- scribed in this section. Various applications of COMP- NET, for undergraduate course work, are explored in Section 111. Section IV explains how graduate students can

0018-9359/89/0200-0047$01 .OO 0 1989 IEEE

48

Graph Theory

Network Topology

Queueing Systems

[EEE TRANSACTIONS ON EDUCATION. VOL. 32. NO. I , FEBRUARY 1989

Help

Quit

use the package in their research work. And finally, Sec- tion V ends the paper with the concluding remarks about this work.

11. SYSTEM DESCRIPTION A . Introduction

The COMPNET package currently consists of three modules-graph theory, topology design, and queueing systems, see Fig. 1. The programs are written in Pascal and run on Apple MacPlus as well as Digital's Vax com- puter running under Berkeley Unix 4.2 operating system. The MacPlus computer has one megabytes of RAM (ran- dom access memory), a high resolution graphic terminal, a mouse driven cursor, and a 20 Mbytes external hard disk. The Macintosh was chosen over other personal com- puters since the student computing environment at Drexel University is primarily Macintosh oriented. ' Moreover, the Macintosh has very powerful graphics features. These factors were critical in obtaining the COMPNET objec- tives. The MacPlus version is meant for teaching concepts in designing small to medium sized networks. The restric- tion is due to the memory and speed limitations of the MacPlus. The Vax version is used for large scale graduate and senior design projects and has less graphical capabil- ities. In this version, all the user interaction is done via input-output files. In the MacPlus version, the user has the luxury of entering the data via cursor-mouse, I/O files, or both. In this case, most of the necessary data can be entered by using the mouse. In some cases, additional in- formation is entered through the keyboard or input files. At any stage in the process, the user has the option of aborting the design process and saving the design in a file and continuing at a later time. Modifications can be made to files and the result saved in a new file.

In the homework assigned to the students, the instructor can use input data files for large problems, or provide the data to the students and have them do the preprocessing. Both on line help for quick command referencing, and an easy to read user's manual are provided.

B. User Interaction The user interaction with the system is achieved via a

tree structured menu driven scheme as shown in Fig. 2. Initially, i .e., at level 0, the user is presented with two menus namely COMPNET and Other. Each menu is com- prised of several functions as shown in Fig. 3. For in- stance, graph theory, network topology, and queueing systems are the three functions present in the COMPNET menu. An easy to understand prompt always appears at the bottom of the screen guiding the user to the next step.

A tree traversal is accomplished easily by selecting a menu function with the help of the mouse driven screen cursor. Once a function is selected, the user is presented with an appropriate menu and prompt at the next higher level. For example, on selecting graph theory at level 0,

'All the undergraduate students at Drexel University are required to pur- chase a MacIntosh.

Please select a menu i t e m

Fig. 2. Menu offered at level 0.

Fig. 3. Scope of the COMPNET.

one would be presented with the screen as shown in Fig. 4. The help and quit options are offered at each level to enable the user to seek additional information at the cur- rent level or to exit the menu. Selecting quit at level 0 exits COMPNET, while selecting quit at higher levels re- turns the user to level 0. The user is always offered a choice of four menus at the highest level, namely jile, edit, run, and other as shown in Fig. 5. The file menu deals with file management and it allows the user to open a new or existing file, save or discard the current file, print a file, and quit the program. The edit menu allows the user to edit a file and as such the functions belonging to this menu depend on the algorithm in question. For example, in Fig. 5 the min-cut max-flow algorithm is being explored and edit items are specific to that algo- rithm. The run menu enables the user to run the algorithm in question. The algorithm may be run with graph, dis- plays the changes as they occur, or without the graph in which case only the final result is graphically displayed.

At this stage, we also check to see if the user has en- tered all the inputs necessary for executing an algorithm. This provides the user with easy to understand diagnostics in case of errors in the data entry process. For instance, in the max-flow algorithm if the source, destination, or any of the link capacities are missing the program gives a warning and aborts the execution. Finally, the other menu function enables the user to view the results after a suc- cessful run of the algorithms. The functions present in this case depend on the algorithm in question. The help menu at this level gives the user a brief description of the al- gorithm with the help of a sample network.

SHAHNASSER A N D MORGAN: COMPNET

G r a p h - t h e o r y O t h e r

F I o y d - W a r s h a l l

~~ ~

P l e a s e se lect a menu i t e m

‘ File Edit Run Other

49

SeIeci a menu i tem

Fig. 4 . Menu at level 1 for graph theory. I_

Fig. 6. Shortest path resulting from Dijkstra’s algorithm is highlighted.

F i l e Ed i t Run Other Open lAdd Nodes 1 Run w graph I Show n a t r i x Save IDe le te Nodes [Run W/O graph L i s t Cut S e t

I A d i u s t Delau b HaxFlow --.- _- ... -- 1 tChange Capac i t ies1

Dest ina t ion I I S 1 L Please s e l e c t a menu i t e m

Fig. 5 . Menu at level 2 for MaxFlow algorithm.

To summarize, the user-interface links four basic func- tions: 1) selection, 2) planning, 3) design, and 4) analy- sis. Selection implies traversing through the lower levels of the menu tree in order to select a particular algorithm. Planning entails working with theBle and edit menus at the highest level to plan a network. Design encompasses running the algorithms with the help of the run menu while the other menu gives the user an opportunity to analyze the results of running a particular algorithm. A more de- tailed description of the system can be obtained from [ l].

111. UNDERGRADUATE EXERCISES

A. Graph Theory The course starts with a general overview of commu-

nication networks. COMPNET is given to students to fa- miliarize themselves with it. Then the lectures cover se- lected topics in graph theory. At this time students are assigned problems in this area. Having turned in their so- lutions, they are given access to the graph theory module of the package. To illustrate the algorithm a simple prob- lem, shown in Fig. 6 , is solved. In this simple problem, students have been asked to find the shortest path from a source node to a destination node in a partially connected network. Students have already solved the problem man- ually, and now can compare their solutions, step by step, with the solution they get from the computer. In this ex- ample, the computer graphically highlights the edge that it selects in each step of the algorithm, and it updates the nodes’ labels. In this way, students can go through the algorithms at their own pace without any help from a teaching assistant. Finally, the selected path in the net-

work is highlighted and all the node labels can be printed on the screen. In this example, the problem is solved using Dijkstra’s shortest path algorithm. Another exercise is to solve the same problem using the Floyd-Warshall [6] al- gorithm and compare the two algorithms.

In a graph theory part of the course, students are lec- tured on the shortest path algorithms, with flow constrain, and the transportation problem. Homework problems are assigned to be solved both manually and using the COMPNET.

B. Topology Design In this section of the course, attention is focused on the

question of optimally locating a set of terminals and con- centrators in a geographically distributed network. To solve this problem, one must decide on the number of concentrators to use, where to locate them, which termi- nal should be assigned to which concentrator, and, fi- nally, how the concentrators should be connected.

To model the above problem mathematically, suppose we have a set of n terminals { T I , T2, , T,} that are intended to be connected to a central facility CO either directly or through concentrators { Cl, C,, * * , Cm 1. The design must satisfy connectivity and performance con- straints and result in a cost efficient network. The cost are associated with linking the terminals, concentrators, and central facility to one another as well as concentrators unit cost. To formulate this, as is done in [2], we minimizing a cost function Z as given by

m n m

z = c 54 + i = c I ; = 0 c x,c, ( 1 ) ? ; = O

subject to the two following constraints: m

xij = 1 ( i = 1, 2, *

; = O

n

where Xu = 1 iff T, is connected to S,

= 0 otherwise (4)

50

File Edit Run Other

select a menu I tem

Fig. 7 . Optimum topology resulting from add heuristic.

n

1; .=1 i f f C x , > o i = I

= 0 otherwise.

Equation (2) implies that terminal i must be connected to exactly one concentrator, including the central facility Co. While (3) restricts the number of inputs to concentratorj to be less than e.

To solve this problem, which is computationally time infeasible for a good size network, heuristics are used. The algorithms we teach deal with two kinds of problems, the terminal clustering problem and the terminal layout problem. In the terminal layout problem, the algorithms find the layout of nodes within a network such that the overall cost of the network is minimized. The problem is solved by algorithms such as add, drop [ 5 ] , etc.

The terminal clustering problem minimizes the cost of a network subject to a transmission time delay constraint and is addressed by a constrained minimum spanning tree algorithm such as Esau-Williams, Prim’s, [2], [5] etc. One sample classroom exercise in this case is shown in Fig. 7 . In this exercise, students are given the cost matrix for linking the six terminals to the three concentrators as well as central site. The objective is to find a minimum cost topology using the add algorithm. Again after stu- dents have solved this problem manually, they are re- quired to solve it using COMPNET and compare their results. For this algorithm, all the steps during the solu- tion, i.e., the intermediate computed cost matrices, are saved and graphically displayed. The final topology is shown in Fig. 7 . Another good exercise, is to test the students on their judgment in applying the right algorithm to a given problem.

C. Queueing Systems Queueing theory plays a very important part in analysis

of computer communication networks, in particular it provides the necessary framework for quantizing the net- work delays and a qualitative insight into the overall sys- tem performance. The computed delays are also used in routing schemes where the optimal cost function is ex- pressed in terms of delay parameters. The exercises for

IEEE TRANSACTIONS ON EDUCATION. VOL. 32, NO. I , FEBRUARY 1989

this topic are two-fold. Students are introduced to differ- ent queue disciplines and assigned simple problems to be solved analytically. Then they are instructed to verify the correctness of their solutions by comparing it to the com- puter analytical solution. They are also asked to obtain the simulation results for the assigned problems and com- pare the results. The assignments in this case can range from simple single queue problems, which take a few minutes of simulation time, to a more sophisticated net- work of queues which requires approximations. Since analysis of networks using queueing theory needs a good background in probability and stochastic processes, care should be taken in assigning these problems.

IV. GRADUATES EXERCISES In graduate level courses, students must design a net-

work of their own selection. They are then required to use the package during the design and are encouraged to en- hance COMPNET’s capabilities. Exercises of shorter lengths have also been assigned, in which students are asked to use Jackson’s approximation theorem to solve a job shop problem modeled as a network of queues. Ana- lytical results are compared to simulations. For graduate course work, the Vax machine is used, and in this version of the program the user interaction is via input/output files.

V. CONCLUSIONS The application of COMPNET, a set of programs to

teach computer communication networks, has been de- scribed. By using these programs, students are exposed to the problems in network design, and the use of graphics and simulation make the students’ experience more inter- esting and meaningful. At the undergraduate level, COMPNET is used to help students understand the con- cepts, synthesis, analysis, and the details of specific methods. Students are also encouraged to use it for their senior design project course.

At the graduate level, however, students use the pro- grams to do quarter long projects. They are also being encouraged to participate in the enhancement of the ca- pabilities of the current system. The authors hope to make an enhanced version of this software package commer- cially available to the near future.

REFERENCES [l] H. Shahnasser and T. W. Morgan, “COMPNET-An interactive com-

puter network analysis and design package,” Drexel Univ., Philadel- phia, PA, Oct. 1986.

[2] M . Schwartz, Compurer-Communicarion Nerwork Design and Anal))- sis.

[ 3 ] Averill M. Law and W. David Kelton, Simulation Modeling and Anal- ysis. New York: McGraw-Hill, 1982.

[4] A. S. Tannenbaum, Computer Networks. Englewood Cliffs, NJ: Prentice-Hall, 1981.

[5] H. Cravis, Communications Nerwork Analysis. Lexington Books, 1981.

[6] D . Bertsekas and R . Gallager, Dara Nerworks. Englewood Cliffs, NJ: Prentice-Hall, 1987.

[7] J . F. Hayes, Modeling and Analysis of Computer Communication Ner- works. New York: Plenum, 1984.

Englewood Cliffs, NJ: Prentice-Hall, 1977.

SHAHNASSER A N D MORGAN: COMPNET 51

Hamid Shahnasser received the B.E. degree in electrical engineering i n 1981 from McGill Uni- versity. Montreal, Canada and the M.S. degree in

1983 in electrical and computer engineering and computer simulation of magnetic fields from Car- negie-Mellon University, Pittsburgh, PA

From 1983 to 1985 he was a member of tech- nical staff at Robotics Institute, Pittsburgh. PA During 1985-1986 he was an Assistant Professor at Lake Superior University, Michigan Cur- rently, he is a PhD. candidate i n the Department

of Electrical and Computer Engineering at Drexel University He also teaches as an adjunct Assistant Professor at Widener University, Chester, PA His areas of interest are stochastic systems, design, and performance analysis of computer communication networks and implementations of ed- ucational software

Thomas Ward Morgan (M’87) received the B.S.E.E. and M.S.E.E. degrees from the Univer- sity of California, Imine, in 1969 and 1970 re- spectively. He received the Ph.D. degree from Utah State University, Logan, in 1980.

Currently, he is an Associate Professor and Di- rector of the Center for Computer Information Networks Research at Drexel University. From 1970 to 1975 he served in the U.S. Army with assignments in the Combat Developments Com- mand at Fort Ord California and the office of the

Surgeon General in Washington, DC. He received two commendation med- als while in the service In 1975 he was a University Research Scholar at Utah State University. In 1980 he joined the network planning department of Bell Laboratories, Holmdel, NJ