+ All Categories
Home > Documents > NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters...

NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters...

Date post: 10-Mar-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
13
w.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and optrmrzatron Nathaniel Dean, Monika Mevenkamp, Clyde L. Monma * Bell Communications Research. 445 South Steet. Morristown. NJ 07960-1910. USA Received I Februarv 1992: revised I December 1994 Abstract The practical and theoretical importance of network models and algorithms is clearly documented in the literature. This has resulted in several recent efforts to develop systems for network modeling, algorithms and./orvisualization. The main goal of this paper is to describe NETPAD, an interactive graphics system for network modeling and optimization. There were several factors motivating us while developing this system. First, networks are inherently visual; so an interactive graphics interface was considered to be a vital component of the overall design. Second, data form a very important part of network modeling; therefore, we have integrated network attributes and tables into the system. Third, algorithmic needs change over time to meet users' needs for additional functionality or performance, and to meet the needs of specific applications; so we have designedthe system to be customizable and expandable. Fourth, widespreaduse ofsophisticated methods requires ease- of-use in addition to functionality; so the system includes a menu-driven user interface, standard file formats and algorithm animation. NETPAD is a portable system written in the C programming languagefor workstations with the {.INIX operating system and the X Window System. Keywords: Network optimization; Graphical user interface (GUI); Software; Algorithms l. Overview Networks are useful for modeling many practical situations, including physical networks such as the ones representing communications or transportation networks, as well as abstract networks such as those representing the scheduling of events or the allo- cation of resources. At,the same time, researchin graph theory and network algorithms have provided a wealth of tools for network analysis and ootimization. * Corresponding author. 0167-63771951909.50 O 1995 Elsevier ScienceB.V. All rights reserved ssDl 0 167 -6377(95 ) 0 0 0 I 0-0 The practical and theoretical importance of network models and algorithms is clearly documented in the literature. There have been several recent efforts to develop systems for network modeling, algorithms and/or visualization. These efforts representattempts to har- nessthe considerable power of the available network technology into a system which is easy-to-useand meets the needs of certain communities of users. This has resulted in a proliferationofspecial-purpose systems and individual libraries of network algorithms. The main goal of this paper is to describe NETPAD, an interactive graphics system for network modeling
Transcript
Page 1: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

w.*4rrcrtlottctr

Operations Research Letters 17 (1995) 89 l0l

NETPAD: An interactive graphics system for network modeling andoptrmrzatron

Nathaniel Dean, Monika Mevenkamp, Clyde L. Monma *

Bell Communications Research. 445 South Steet. Morristown. NJ 07960-1910. USA

Received I Februarv 1992: revised I December 1994

Abstract

The practical and theoretical importance of network models and algorithms is clearly documented in the literature. Thishas resulted in several recent efforts to develop systems for network modeling, algorithms and./or visualization. The maingoal of this paper is to describe NETPAD, an interactive graphics system for network modeling and optimization. There wereseveral factors motivating us while developing this system. First, networks are inherently visual; so an interactive graphicsinterface was considered to be a vital component of the overall design. Second, data form a very important part of networkmodeling; therefore, we have integrated network attributes and tables into the system. Third, algorithmic needs change overtime to meet users' needs for additional functionality or performance, and to meet the needs of specific applications; so wehave designed the system to be customizable and expandable. Fourth, widespread use ofsophisticated methods requires ease-of-use in addition to functionality; so the system includes a menu-driven user interface, standard file formats and algorithmanimation. NETPAD is a portable system written in the C programming language for workstations with the {.INIX operatingsystem and the X Window System.

Keywords: Network optimization; Graphical user interface (GUI); Software; Algorithms

l. Overview

Networks are useful for modeling many practicalsituations, including physical networks such as theones representing communications or transportationnetworks, as well as abstract networks such as thoserepresenting the scheduling of events or the allo-cation of resources. At,the same time, research ingraph theory and network algorithms have provided awealth of tools for network analysis and ootimization.

* Corresponding author.

0167-63771951909.50 O 1995 Elsevier Science B.V. All rights reserveds s D l 0 1 6 7 - 6 3 7 7 ( 9 5 ) 0 0 0 I 0 - 0

The practical and theoretical importance of networkmodels and algorithms is clearly documented in theliterature.

There have been several recent efforts to developsystems for network modeling, algorithms and/orvisualization. These efforts represent attempts to har-ness the considerable power of the available networktechnology into a system which is easy-to-use andmeets the needs of certain communities of users.This has resulted in a proliferation ofspecial-purposesystems and individual libraries of networkalgorithms.

The main goal of this paper is to describe NETPAD,an interactive graphics system for network modeling

Page 2: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

90 N. Dean et al. / Ooerations Research Letterc 17 ( 1995 ) 89-l0l

and optimization. There were several factors motivat-ing us while developing this system. First, networksare inherently visual; so an interactive graphics inter-face was considered to be a vital component of theoverall design. Second, data form a very important part

of network modeling; therefore, we have integratednetwork attributes and tables into the system. Third,algorithmic needs change over time to meet users'needs for additional functionality or performance,and to meet the needs of specific applications; sowe have designed the system to be customizable andexpandable. Fourth, widespread use of sophisticatedmethods requires ease-of-use in addition to func-tionality; so the system includes a menu-driven userinterface, standard file formats and algorithm anima-tion.

NETPAD is an interactive graphics softwaresystem which provides an integrated environmentfor network modeling and optimization with featuresincluding:o graphics for creating, displaying and manipulating

networks,r tables for entering, displaying and manipulating

data,o standard formats for network files,o expandable library of network algorithms,o facilities for algorithm animation,

At one level, NETPAD functions like an "electronic

pencil and notepad" using a mouse, menus and multi-ple windows to create, manipulate and save networks;it can also be used to obtain Postscript printer output.On another level, it functions like an elaborate "net-

work calculator" for applying available functions andalgorithms to process networks. It also functions likea "network workbench and toolkit" using a library ofnetwork algorithms which can be customized and ex-panded to provide for rapid prototyping for specificapplications. This functionality results in an easy-to-use vehicle for harnessing the power ofavailable net-work modeling and algorithmic tools.

We use the term "graph" to represent a set ofnodes together with a set of links, where each linkconsists of a pair of nodes. We use the term "at-

tribute" to represent data values associated withthe graph itself, its nodes or its links. Each (graph,

node or link) attribute has a name, a data type (e.g.,

character, integer, float) associated with it, and datavalues (for each graph, node or link, respectively).

We use the term "network" to represent a graph to-gether with any number (possibly none) of types ofathibutes.

2. NETPAD environment

NETPAD is an interactive graphics softwaresystem which provides an integrated environmentfor network modeling and optimization. It is aportable system written in the C programming lan-guage for workstations with the UNIX operatingsystem and the X window system; it is currentlybeing used at Bellcore on SUN and DEC work-stations and on 486-based IBM-compatible personalcomputers. It consists of an interactive graphics,menu-driven user interface which can be easilycustomized to fit specific users or applications. It alsoconsists of library of network algorithms which canbe easily expanded to include new or existing algo-rithms.

NETPAD utilizes a mouse-oriented, menu-drivenuser interface to provide for maximum ease-of-usefor most users. Experienced users can also make useof keyboard equivalents for all menu items in or-der to operate more quickly once familiarity with thesystem is gained. The interface is further enhancedby allowing the user to easily customize most aspectsof the system, including the menus themselves, itemswithin a menu, and keyboard equivalents, to providea "look-and-feel" to fit a particular user or applica-tion.

NETPAD allows multiple windows to be present atany time. Operations selected from a given windoware applied to the network currently associated withthat window. A window consists ofthe four main com-ponents, the status area, menu area, button area anddisplay area. Examples of typical windows are shownin Fig. l.

The status area is for displaying text informationabout current algorithm including the name of thealgorithm being executed, its type (e.g., internal or ex-temal) and its status (e.g., done). The menu area dis-plays the heading titles for the menus. The user usesthe mouse to pop-up a menu in order to select an itemto execute next. The button area is used to executeor kill a selected menu item. and to decide whether

Page 3: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

N. Dean et al. I Operations Research Letters 17 ( 1995 ) 89-l0I

Fig. l. Examples of typical windows.

9 l

Page 4: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

92 N. Dean et al. I Operations Research Letters 17 ( 1995 ) 89-101

Fig. 1. (Continued.)

Page 5: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

to show or hide parameters associated with an algo-rithm. The display area is for graphically displayingthe network.

The number and names of the menu headings andthe particular items within a menu are govemed bya configuration file. NETPAD reads this file initiallyto set up the user's environment. The format of theconfiguration file consists of an entry for each menustarting with the keyword "MENU:" followed bythe name of the menu (in quotes), and a list ofmenu items in brackets. Each menu item includes thename (in quotes), the associated executable file inthe NETPAD library, and the keyboard equivalent(in quotes). A sample configuration file is shown inTable l.

This particular configuration file would generatethe menu areas for the windows shown in Fig. l.Several of the menus are for functions normally asso-ciated with the NETPAD interface. For example, theWin menu entries are for window management, likeopening a new window or quitting the current win-dow; and the I/O window is for inpuVoutput functionslike loading a network from a file, saving the cur-rent network to a file or printing the current network.The Graf, Node and Link menus are for perform-ing operations on the entire graph, on its nodes oron its links, respectively. Typical operations includecut-and-paste; selection of nodes and/or links; oper-ations on selected elements (e.g., deletion, changecolor/shape/style); changing defaults for node/linkcolors, node shapes (e.g., point, box, etc), and linkstyles (solid, dashed, directed). The Attr menu is usedfor handling attributes, including defining new at-tributes and setting attribute values. The Anim menucontains animation functions which are part for ini-tializing and playing back an animation file in severalmodes (e.g., run, step, next).

-The other menu items (we show here the Make,Algo, Geom and Nets menus) would normally becustomized menus which could contain functionsfrom the NETPAD library (called internal algorithms)or from a separate user program library (calledextemal algorithms); these would be grouped intocategories according to the user's preference as spec-ified in the configuration file definition. There aremany more intemal and extemal algorithms whichare omitted from discussion here for the sake ofclaritv.

N. Dean et al.lOperations Research Letters 17 (1995) 89 101

Table IExample configuration file

93

MENU: "Win" {

"Open""Quit"

)MENU: "1/O"

{"Load""Save""Print"

)MENU: "Make"

{)MENU: "Graf'

{"Select""Cut""Paste"

]MENU: "Node"

{"Select""Delete Sel""Color ""Shape "

]MENU: "Link"

{"Select""Delete Sel""Color ""Style "

)MENU: "Attr"

{"Define Attr""Set Attr Val"

)MENU: "Algo"

{"Planar draw""Path Finder"

]MENU: "Geom"

{]MENU: "Nets"

{)MENU: "Anim"

{)

wln.openwin.quit

graf.loadgraf.savegraf.print

graf.selectgraf.cutgraf.paste

nodes.selectsel.node.deletenodes.colornodes.shape

links.selectsel.link.deletelinks.colorlinks.style

attr.defineattr.set

planar.algpath.alg

"wk"

*GL''.GS''.GP''

"Gs""Gy""Gp"

"Ls"'1d""Lc""Lf'

*Ad""As"

*Pr"Pf'

"Ns""nd""Nc"'Nf'

3. Using NETPAD

To further clarifu how the interface is used, we con-sider some specific examples. Selecting "Load" itemin the "I/O" menu has the effect shown in the first entryin Fig. 2; note that a parameter box appears to requestthe name of the file to load (in this case, planar.grf)and the network is now drawn in the display area with

Page 6: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

94 N. Dean et al.lOperations Research Letters 17 (1995) 89-101

Fig. 2. Examples of menu interactions.

Page 7: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

N. Dean et al.lOperations Research letterc 17 (1995) 89-101

Fig. 2. (Continued.)

Page 8: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

N. Dean et al. I Operations Research Letters 17 ( 1995 ) 89-101

the information updated in the status area (namely,that the internal algorithm graf.load was completed).We could now select the "planar draw" item from theAlgo menu to obtain a planar layout of the graph asshown in the second entry of Fig. 2.

To further illustrate the notion of attributes, con-sider Fig. 3 which shows a network with nodeslabeled by city names and links labeled by distances.A network can have any number of attributes associ-ated with the graph, nodes or links. Any one of theseattributes can be chosen to be displayed as a nodeor link label. The position of a label can be chosenby selecting a clock position around a node and byselecting the percentage distance along a link. Fig. 3shows the result of executing the "Path Finder" al-gorithm from the Algo menu on this network: notethat the shortest path between the selected cities ofPhoenix and St. Paul is highlighted and the statusarea shows the path length. We note that algorithmswhich provide more detailed outputs can make useof an output box similar to the parameter box usedfor inputs to algorithms which we described previ-ously. Attribute values can be modified for individualnodes or links by using the Node or Link menus,respectively, or for all nodes or links by using theAttr menu to obtain an attribute table as shown inFig. 4; an attribute table displays all node or linkattributes and their values in a tabular format and al-lows for quickly loading, modifying and saving theirvalues.

4. Customizing NETPAD

We have already explained how to customize theuser interface using the configuration file. We now de-scribe how to further customize the system by addinguser-defined programs, called external algorithms. Ex-temal algorithms are written as main programs whichare linked to the NETPAD library and are separateprograms residing in their own executable files. Thesealgorithms acpess and manipulate networks by usingfunctions provided by the NETPAD library. Each ex-temal algorithm has an algorithm specification file toidentifu its input requirements, or parameters, includ-ing their names, types and default values. This file isused by the NETPAD kemel so that the interface can

automatically execute the algorithm and provide therequired parameter boxes.

Each source code file for an external algorithm mustbegin by including the NETPAD file containing alldefinitions of the NETPAD data types, constants andsubroutines. The internal structure of the NETPADdata objects is hidden from the user for several rea-sons: ( I ) the user is not burdened with mastering them,(2) the user is protected from accidental modification,and (3) the system is protected from malicious modi-fication. Pointers to these objects are used to commu-nicate between programs and the system.

There are three basic data types: networks, nodesand edges. An extemal algorithm accesses the datavia function calls. These functions comprise the pro-grammer interface and are the only means by whichan external algorithm may interact with the system. Toexecute a function, the programmer generally passesa pointer to one of the three basic NETPAD data ob-jects as input. The following paradigm is typical forextemal algorithms.

l. Accept the current network and parameters asinput.

2. Use function calls to obtain the attribute values.3. Place the data into private data structures.4. Compute results using these private data struc-

tures.5. Prepare the output network, attributes and re-

sults.6. Return the outputs to the system.7. Exit.Of course, it is not essential that the algorithm per-

form all ofthese steps.A programmer need not write, modifu or re-compile

any existing files in order to add a new program to thesystem. The user simply compiles the new programand links it with the system. Assuming that the userhas a C program called pgm.c, for example, one simplyneeds to create a file called pgm.alg describing theparameters used as input to the program and add aline to the customization file so that the program willappear as a selection on the desired menu.

NETPAD automatically passes the current networkand (if necessary) further parameters to algorithms. Itallows the algorithms to return a modified network orto create and return a completely new network. An-imation facilities are provided for user-defined pro-grams, thus supporting the visualization and analysis

Page 9: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

N. Dean et al. I Operations Research Letters 17 ( 1995 ) 89-101

alm xin.r,*f reshtgpe intern*lstatu* dEna

i:sl*ll-----*:ry::|.-TiH-]ii$ffil l]:*"lii]rr]lffi-il[i.l'1.y,]1ft-"1*ililts:.r-l 1;m*']liparar'rs ffiIffi

frlunpis

l - i l0 le

*atvr Ftfrr,rtu.

Fig. 3. Example of algorithm with attributes.

Page 10: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

N. Dean et al.lOperations Research Letters 17 (1995) 89-101

E attr-table g

,resn-tti!|e

.160000

.5e5000

Fig. 4. Example of an attribute table.

of network algorithms. These animations are possi-ble by either creating a text file of special commandswhich can be played back later like a movie or by ac-cessing an available graphics library directly from theproglam.

These feature combine to make it easy for usersto generate and study networks with specified prop-erties, visualize relationships among networks andalgorithms, and perform analysis and optimizationfor network-based problems. NETPAD can also beused to teach students about network properties andnetwork algorithms and the user interface is flexibleenough to allow a user to customize NETPAD forspecific applications.

5. NETPAD architecture

The basic components of NETPAD are the kernel,the intemal and external algorithms, the animation andgraphics functions and the customization file. The ker-nel is the only component that we have not yet dis-cussed in detail, and so we describe it now togetherwith a brief look at the overall structure of NETPAD.

The NETPAD kernel unites the other componentstogether into one coherent system by providing an in-teractive environment for executing internal and ex-ternal algorithms, animating algorithms and editingnetworks. In order to provide display and interactiveediting capabilities, the kemel uses the X library, Xtoolkit intrinsics and the Athena Widget set, and it islinked with the Xaw, Xtk and X libraries. Using X, thekemel manages the screen in order to visually repre-sent the user's current networks and to update this rep-resentation in order to show network changes whichresult directly from user actions and from algorithmexecutions initiated by the user.

Following the design philosophy of the X WindowSystem, the kernel uses the event model for handlinguser-computer interactions. (Other approaches involvethe use of transition networks or context-free gram-mars and are inferior, see [9]). In order to manage thedisplay, the kernel must maintain its own data stmc-tures which must agree with the network and any otherinformation being displayed. The primary data struc-ture type of the kernel is called grafdsp, which standsfor network display. There is one grafdsp structureper network, and that structure contains pointers to

Page 11: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

N. Dean et al. I Operations Research Letters 17 ( 1995 ) 89-101

the various display objects associated with that net-work, including to its window and menus, as well as tothe network itself and to the algorithms which are ac-cessible via the window's menus. For example, whena node is created, the node is added to grafdsp, andwhen a node is moved by the user, the new positionis recorded in grafdsp.

To execute an external algorithm, the kemel tem-porarily blocks the user's access to the network win-dow, puts it into reverse video and forks a process forthe algorithm. After the process is complete and ex-its, this is detected by a signal handler installed by thekemel which generates an event which contains infor-mation regarding the exit status of the algorithm andwhich network is associated with the algorithm. Thisthen triggers another event to process the algorithm'sresults. More specifically, this last event will unblockthe associated network window, put it back in normalvideo, display the result network in the same window,and (if appropriate) display an error message or anytext or numerical information returned bv the aleo-rithm.

6. Potential uses of NETPAD

The potential uses of NETPAD fall roughly intothree categories:

o research in network modeling and algorithms;o rapid custom prototyping for specific applications;o educational aspects of network modeling.

We have used NETPAD ourselves in a number of re-search areas including graph theory, combinatorial op-timization and network design, and have used the an-imation feature for studying network algorithms. Forexample, we were able to use NETPAD to develop analgorithm for embedding a graph in the plane to ap-proximately minimize the number of crossing whenedges are drawn as straight lines. This is known asthe rectilinear crossing number problem which is NP-hard (see [7]). For complete graphs, the exact crossingnumber is known for n (9 (see [0]), but for z ) l0the classical construction of Jensen [3] produces alayout which, in several cases, is not as good as thelayouts generated by NETPAD (see Table 2). We arehopeful that by observing enough instances we will beable to derive a better general construction procedure.

Table 2Upper bounds for crossing number of complete graph on nnodes

Previous besl NETPAD

4

56789

l 0t 1t2I J

T4t 5t 6t 7t 8I 9

NETPAD provides a great deal of functionalitywhich makes it possible to rapidly build a workingprototype for specific applications. This has beendone in several Bellcore projects ranging from obtain-ing automatic "nice" drawings of wiring diagrams, todeveloping tool for managing computer networks, aswell as work for a network design and analysis toolfor packet networks.

NETPAD is also a useful educational tool for study-ing network modeling algorithms and applications.For professors teaching courses on algorithms, NET-PAD could be used to explain concepts which mightotherwise be difficult to comprehend. It could be usedas part of a lab for experimentation or in conjunctionwith projects for students to gain hands-on experiencewith algorithms. The visual and interactive nature ofNETPAD might also stir some enthusiasm in studentswho would otherwise have little or no interest in thecoluse. NETPAD is being used as part of the educa-tional program at Rutgers University in conjunctionwith the DIMACS NSF Center for Discrete Mathe-matics and Theoretical Computer Science. This effortis aimed at high school level students and teachersto motivate students to pursue careers in mathematicsand computer science.

0I39

t 93662

102154229327449609806

l 0 l 9t322

0IJ

9l 93662

102156/ ) |328453612808

1047I 338

Page 12: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

r00 N. Dean et al.lOperations Research Letters 17 (1995) 89 101

7. Some existing systems

This section contains a sample of existing networkmodeling and analysis systems to illustrate a rangeof considerations that may be of interest to potentialusers of such systems. None of these systems containthe full range of features available in NETPAD. Thesystems for the Macintosh and the IBM PC have anobvious computational disadvantage imposed by thehardware, and the necessary hardware for the LINIX-based systems is more expensive and, therefore, notas readily available.

7.1. IBM PC-based progrqms

TRAVEL is a software package developed by Boyd,Pulleyblank and Cornuejols [2] for the traveling sales-man problem. It is an interactive, menu-driven sys-tem which runs on an IBM PC. The system allows theuser to choose among various heuristic algorithms andlower-bounding procedures to obtain solutions withprovably near-optimal performance. Color graphics isused to display an animation of the algorithms as theyare running.

INDS (Interactive Network Design System) is asoftware package developed by Monma and Shall-cross [7] for the 2-connected network design prob-lem, which arises in the design of survivable networks.It runs on an IBM PC, incorporates the TRAVEL userinterface, and incorporates several heuristic algorithmst l8 l .

FIBER OPTIONS is a software package developedby Cardwell et al. [3] specifically for designing sur-vivable fiber optic networks. It uses the methods ofINDS to design the network topology and uses othermethods for handling aspects of the problems, likeplacing equipment, bundling demands and multiplex-ing traffic. These algorithms have been shown to pro-duce optimal or near-optimal solutions to real-worldproblems. The user interface was written and designedso that it could run on several computing and graphicsplatforms. FIBER OPTIONS is used within Bellcoreand the Bell Client Companies to plan cost-effective,survivable interoffice fiber optic communication net-works. It is available to other organizations for outsidelicensing [].

CARDD (Computer-Aided Representative graphDeterminer and Drawer) is an expert system that

constructs a graph with properties defined by the user.It was developed by T. Haynes, L. M. Lawson andM. W. Powell (personal communication) and uses aforward chaining inference algorithm; i.e., once aninvariant is resolved, it is never eliminated. The prop-erties are specified by setting values for any subsetof the available set of eight invariants: number ofnodes, number of edges, maximum degree, minimumdegree, independence number, maximum clique size,chromatic number and domination number.

NETSOLVE is an interactive software package de-veloped by Jarvis and Shier [2] for network manip-ulation and optimization. It utilizes a command lan-guage rather than a menu-driven interface and has alibrary of optimization algorithms. It runs on an IBMPC and does not use graphics.

7.2. UNIX-based programs

The GMP software system was developed by Es-fahanian (personal communication with some of itsusers). It uses StlN's Sunwindows window systemwhich is inherently less portable than systems usingX Windows.

The GraphPack software system was developed byGoldberg et al. [8]. It runs under X Windows andincludes a language called LiLa (which is based on theC programming language with additional primitiveslike sets, graphs, trees, etc.) to simpliff the coding ofnew algorithms. It does not have a graphics interface.

The Combinatorica software system was developedby Skiena [9] and it is actually a collection of pro-grams written in Mathematica (which must be pur-chased separately) and runs on a variety of UNIX-based computers. It does not have a graphics interface.

Devitt and Colboum [6] have developed a systemfor investigating network reliability problems. It is aninteractive, algebraic environment which provides apackage of routines coded in the MAPLE language. Itdoes not have a graphics interface.

7.3. Macintosh-based programs

Three versions of a program called CABRI are men-tioned in [4], one running on a Macintosh, another ona PC-compatible, and a third version for workstationsthat uses the BWE window management toolset fromBrown University. (Only the Macintosh version was

Page 13: NETPAD: An interactive graphics system for … 1995.pdfw.*4rrcrt lottctr Operations Research Letters 17 (1995) 89 l0l NETPAD: An interactive graphics system for network modeling and

N. Dean et al.lOperations Research Letters 17 (1995) 89-101

available to us.) It contains several network editingand analysis functions similar to NETPAD.

Groups & Graphs [4] is a program for manipulat-ing graphs and groups. It contains various group theo-retic algorithms, such as computing the automorphismgroup of a graph and determining whether two graphsare isomorphic. It does not have a graphics interface.

8. NETPAD availability

A version of the NETPAD software is currently be-ing used within Bellcore. This software is a researchprototype system. In addition, several documents areavailable which provide much more detailed informa-tion about the NETPAD system, including a User'sGuide [5], a Programmer's Guide [l5] and a Refer-ence Guide [6].

NETPAD was designed to run in a workstation en-vironment with the Unix operating system and un-der the X Window System. It is currently runningon a SUN and DEC workstations as well as a 486-based IBM-compatible PC. To take full advantage ofNETPAD, it is necessary to have adequate processingpower (e.g., comparable to the machines cited above),memory (e.g., 16 MB RAM), disk space (e.g., 100MB hard disk) and display technology (e.g., a largescreen and color are useful).

The NETPAD source code and documentation areavailable on a royalty-free basis to universities forresearch, educational or academic purposes undera Software License Agreement these can be ob-tained by "ftp" from [email protected] in directory/usr/spool/ft p/pub/nate.

References

[1] Bellcore, FIBER OPTIONS: Software for designingsurvivable optical fiber networks, Bellcore, 1989.

[2] S.C. Boyd, W.R. Pulleyblank and G. Comuejols, "TRAVEL-

An interactive traveling salesman package for the IBMpersonal computer", Oper. Res. Lett. 6,141-143 (1987).

[3] R.H. Cardwell, C.L. Monma and T.H Wu, "Computer-

aided design procedures for survivable fiber optic networks",IEEE J. Selected Areas of Communications 7, ll88-1197( le8e) .

[4] M. Dao, M. Habib, J.P. Richard and D. Tallot, "CABRI, aninteractive system for graph manipulation", manuscript.

[5] N. Dean, C.L. Monma and M. Mevenkamp, NETPAD User's

Guide, Bellcore, document, 1991.

[6] J.S. Devitt and C.J. Colboum, "On implementing anenvironment for investigating network reliability", Technical

report, University of Waterloo, 1991.

[7] M.R. Garey and D.S. Johnson, "Crossing number is NP-

complete", SIAM J. on Algorithms and Discrete Methods

4 , 3 1 2 - 3 1 6 ( 1 9 8 3 ) .

[8] M. Goldberg, E. Kaltofen, S. Kim, M. Krishnamoorthy andT. Spencer, "GraphPack: A software system for computationson graphs and sets". manuscript.

[9] M. Green, "A survey of three dialog models", ACM Trans.

on Graphics 5,244-275 (1986) .

!01 R.K. Guy, "Latest results on crossing numberc", RecentTrends in Graph Theory, Springer, New York, 1971, pp.

143-t 56.

[11] F. Harary and A. Hill, "On the number of crossings in a

complete graph", Proc. Edinburgh Math. Soc. f3, 333-338(1e62).

[2] J.P. Jarvis and D.R. Shier, "NETSOLVE: Interactive softwarefor network optimization", Oper. Res. Lett. 9, 275-282(1990).

[3] H.F. Jensen, "An upper bound for the rectilinear crossingnumber ofthe complete graph", J. Combin. Theory ll,2l2-

216 (1971).

[4] W. Kocay, "Groups and graphs, a Macintosh application for

Graph Theory", J.Combin. Math. Combin. Comput.3, 195-

206 ( l 988 ) .

[5] M. Mevenkamp, NETPAD Programmer's Guide, Bellcore,

document,1991.

[6] M. Mevenkamp, NETPAD Reference Guide, Bellcore,

document, l99l.

!71 C.L. Monma and D.F. Shallcross, "A PC-based inter-

active network design system for fiber optic communi-

cation networks", in: Sharda, Golden, Wasil, Balci and

Stewart (eds.), Impacts of Recent Computer Aduances on

Operations Research, Elsevier, New York, 1989.

[8] C.L. Monma and D.F. Shallcross, "Methods for design-ing communications networks with certain two-connected

survivability constraints", Oper. Res. 37, 531-541( 1989).

[9] S.S. Skiena, Implementing Discrete Mathematics: Combi-natorics and Graph Theory with Mathematica, Addison-

Wesley, Reading, MA, 1990.


Recommended