AGraphDrawingandTranslationServiceon StinaBridgeman,AshimGargandRobertoTamassia DepartmentofComputerScience thewww*



Similar documents
Global Variables. However, when global variables are used in a function block or control modules, they must be declared as external

WJEC GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

ALayeredApproachtoFileSystemDevelopment. JohnS.HeidemannGeraldJ.Popek. DepartmentofComputerScience. UniversityofCalifornia,LosAngeles

Testing Document - DDOS Traffic Shaping Simulator

Algebra 2: Q1 & Q2 Review

Client Requirement. Master Data Management App. Case Study -

HPE PC120 ALM Performance Center 12.0 Essentials

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Monitoring Load-Balancing Services

Reporting with HP ALM/QC

OpenControl. Utilization

High-Speed In-Memory Analytics over Hadoop and Hive Data

Nesstar Server Nesstar WebView Version 3.5

Pre-Calculus Math 12 First Assignment

ISSN ISBN

PC120 ALM Performance Center 11.5 Essentials

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World


Excel Reports and Macros

JustClust User Manual

Linear functions Increasing Linear Functions. Decreasing Linear Functions

NNMi120 Network Node Manager i Software 9.x Essentials

Curve Fitting with Maple

Natural Language to Relational Query by Using Parsing Compiler

TaskCentre v4.5 Run Crystal Report Tool White Paper

darkstat - a network traffic analyzer Introduction Installation LinuxFocus article number by Mario M.

How To Develop Software For Cms Tracker Sub Structure Tests

Software Design Document (SDD) Template

Automated Performance Testing and Analysis. Armin Pruessner GAMS Development Corporation

Bitemporal Extensions to Non-temporal RDBMS in Distributed Environment

acceptance testing seng 301

How To Cluster Of Complex Systems

Kevin James. MTHSC 102 Section 1.5 Exponential Functions and Models

Internships and graduation jobs Development

mframe Software Development Platform KEY FEATURES

A Systemic Artificial Intelligence (AI) Approach to Difficult Text Analytics Tasks

Client Overview. Engagement Situation. Key Requirements

Application Architectures

How To Use A Corona Mdi 110

Excel & Visual Basic for Applications (VBA)

SMRT Analysis v2.2.0 Overview. 1. SMRT Analysis v SMRT Analysis v2.2.0 Overview. Notes:

CheckPoint Software Technologies LTD. How to Configure Firewall-1 With Connect Control

Assignment 4 CPSC 217 L02 Purpose. Important Note. Data visualization

5.3 Graphing Cubic Functions

Right-to-Left Language Support in EMu

Attack Graph Techniques

Data Structures and Algorithms V Otávio Braga

Algebra I Notes Relations and Functions Unit 03a

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

What is a business rule?

SharePoint 2010 End User - Level II

Cello+ Operating radio network analyzer system. Radio engineering operation support system QIS 2014

Contents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models

SAPHIRE 8 Software Quality Assurance Oversight

SPSS: Getting Started. For Windows

Deposit Identification Utility and Visualization Tool

A Visualization System and Monitoring Tool to Measure Concurrency in MPICH Programs

SIB relays C++ API SQL API. Kernel. Hardware Desc. XML. XML Parser parser.h. State. Misc. Mgmt. I/O Manager iomgr.h. Data Acq. XCR. Batt. Mgmt.

Tel Scripting for Cisco IOS

Interactive Highway Safety Design Model (IHSDM) Running IHSDM Software Manual

A i-1. A i+1. A i. alpha

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES

Spark Application Carousel. Spark Summit East 2015

programsitproduces.finally,weshowhowtoproduceecient,optimizingprogramgeneratorsby

A Dynamic Programming Approach for 4D Flight Route Optimization

Why include analytics as part of the School of Information Technology curriculum?

Software Development. Intermediate 2. Homework Booklet

Project Proposal: Monitoring and Processing Stock Market Data In Real Time Using the Cyclone V FPGA

Data Migration Plan for MIRPS Data and Reference Table Data

KEYWORD SEARCH OVER PROBABILISTIC RDF GRAPHS

ORBIT IP BUSINESS INTELLIGENCE Product Presentation

An Overview of Distributed Databases

What does the number m in y = mx + b measure? To find out, suppose (x 1, y 1 ) and (x 2, y 2 ) are two points on the graph of y = mx + b.

Document Management & Electronic Filing

Course 6234A: Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services

SPT2013: Developing Solutions with. SharePoint DAYS AUDIENCE FORMAT COURSE DESCRIPTION STUDENT PREREQUISITES

Cloud Enabled Emergency Navigation Using Faster-than-real-time Simulation

User Guide. CIIT Faculty/Staff Portal. For using. Version 1.0. Prepared by: CIIT Web Team. COMSATS Institute of Information Technology, Islamabad

INNOVATION CONFIGURATION. Computer Science

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

Configuring a Check Point FireWall-1 to SOHO IPSec Tunnel

Click to begin. Employees

Introduction to OpenTM2 An Open Source Solution for Translators

SMARTEAM FUNDAMENTALS V5 R19

Running and Scheduling QGIS Processing Jobs

Creating a Semantic Web Service in 5 Easy Steps. Using SPARQLMotion in TopBraid Composer Maestro Edition

Feith Dashboard iq Server Version 8.1 Install Guide

Query Organizer Tool for Oracle DBA Chennakeshava Ramesh Oracle DBA

Open-source Quality Assurance and Performance Analysis Tools

Hadoop Scheduler w i t h Deadline Constraint

Mark: Moderated Final

MAT12X Intermediate Algebra

REMOTE LABORATORY PLANT CONTROL

How To Design A Webbased Dashboard

28 What s New in IGSS V9. Speaker Notes INSIGHT AND OVERVIEW

Transform. Training Courses A Bottomline Guide

Sborník vědeckých prací Vysoké školy báňské - Technické univerzity Ostrava číslo 1, rok 2006, ročník LII, řada strojní článek č.

The Visualization Pipeline

Benefits of Upgrading to Phoenix WinNonlin 6.2

MS 50511A The Microsoft Business Intelligence 2010 Stack

Transcription:

AGraphDrawingandTranslationServiceon StinaBridgeman,AshimGargandRobertoTamassia DepartmentofComputerScience thewww* Abstract.Bothpractitionersandresearcherscantakebetteradvantageofthelatestdevelopmentsingraphdrawingifimplementationsof graphdrawingalgorithmsaremadeavailableonthewww.weenvision Providence,RI02912{1910,USA fssb,ag,rtg@cs.brown.edu BrownUniversity agraphdrawingandtranslationserviceforthewwwwithdualobjectives:drawinguser-speciedgraphs,andtranslatinggraph-descriptions availableonthewww,wecanhelpbothpractitionersandresearcherstousethe 1Introduction Motivatedbynumerousapplications,newgraphdrawingalgorithmsarecontinuallybeingdeveloped.Bymakingimplementationsofgraphdrawingalgorithmableathttp://loki.cs.brown.edu:8081/graphserver/home.html. realizingthisvision,wehavedevelopedaprototypeservicewhichisavail- andgraphdrawingsfromoneformattoanother.asarststeptoward latesttechnologicalinnovations.this,however,alsorequirestacklingtheproblemoftheover-abundanceofformatsfordescribinggraphsanddrawings.while thereareeortsinthisdirection[3],thereisstillnosingleuniversally-accepted format.therefore,researcherstypicallydenetheirownformatswhenimplementinganalgorithm.becauseausercannotbeexpectedtoknowtheformat another.thiswillallowuserstoemployalargenumberofalgorithmswhile thatcanconvertthedescriptionsofgraphsanddrawingsfromoneformatto knowingonlyafewformats. twokindsofservices: {adrawingserviceforconstructingadrawingofagraphgivenbytheuser, WeenvisionagraphdrawingandtranslationserviceontheWWWthatoers usedbyeachandeveryimplementation,itisadvantageoustohavetranslators tioner'sviewpoint,shegetsacentralfacilityfromwhereshecan\shoparound" Suchaservicewouldbenetbothpractitionersandresearchers.Fromapracti- {atranslationservicefortranslatingthedescriptionofagraph/drawingfrom 9423847andagraduatefellowship,bytheU.S.ArmyResearchOceundergrant?ResearchsupportedinpartbytheNationalScienceFoundationundergrantCCR{ usinganalgorithmchosenbyher,and DAAH04{96{1{0013,andbyagiftfromTomSawyerSoftware. oneformattoanother.

foranalgorithmappropriateforherapplication.fromaresearcher'sviewpoint, shegetsarepositoryofalgorithmswhereshecanstudyandcomparetheirpropertiesandperformances.inaddition,bothpractitionersandresearcherscanuse thisservicejustfortranslationpurposes.potentialusesofthisserviceinclude: {creatingadatabaseofgraphsoccurringinuser-applications,and {demonstrationpurposesineducationalsettings. {translatingbetweentheformatsfordescribinggraphsandtheirdrawings, {drawinggraphsfromuser-applications, {studyingandcomparinggraphdrawingalgorithms, thegraphssenttoitbytheusers[5]. constructedusingdot[4].thisservicealsomaintainsadatabaseconsistingof thatacceptsagraphsenttoitbyemailandreturns,alsobyemail,adrawing drawingalgorithmsavailableonthewww.abibliography(andurls)ofmany implementationsismaintainedbygeorgsanderathttp://www.cs.uni-sb.de/ (visithttp://www.research.att.com/dist/drawdag/mailserverfordetails) RW/users/sander/html/gstools.html.StephenNorthhasdesignedaservice Wehavedevelopedaprototypegraphdrawingandtranslationserviceonthe Researchershaverecognizedtheneedofmakingimplementationsofgraph WWW.Tothebestofourknowledge,thereisnoothertranslationserviceover thewww,andtheclosestapproximationtoawwwgraphdrawingservice ways,byusinganhtmlform,orajava-basedgrapheditorembeddedinaweb istheemailserviceprovidedbystephennorth.theotherimplementations theformatoftheoutput,andthedrawingalgorithm(ifthegraphistobedrawn). selectstheformatoftheinput,thetypeofservicedesired(drawing/translation), page.inatypicalscenario,theuserprovidestheserverwiththeinputgraph,and onaremotemachine. home.html,andisveryeasytouse.theusercaninteractwiththeserviceintwo downloadedandinstalledlocally,ratherthanbeinginteractiveserversrunning availableonthewwwaresourcecodepackages/executableswhichmustbe Theserverreceivestherequest,performsthedesiredservice,andsendsbackthe result adrawingoratranslation totheuser. InSection2,wepresentthesoftwarearchitectureofourprototypeservice.In Ourserviceislocatedathttp://loki.cs.brown.edu:8081/graphserver/ Section3,wegivesomeexampleinteractionsbetweenusersandourprototype 2SoftwareArchitectureofourPrototypeService service.finally,insection4,wedescribefuturework. Webelievethatagraphdrawingandtranslationserviceshouldsatisfythefollowingrequirements: {Theinput/outputformatusedforagraphshouldbeasindependentas {Itshouldbeeasytoaddnewformatsandalgorithmstotheservice. possiblefromthealgorithmusedfordrawingit.

Server Translator Client Graph Editor database of translation functions Networking Interface graph or drawing Module Module translation with the names graph or graph or its format and the format the translation {Theuserinterfaceshouldbesimpleandintuitive. {Thearchitectureshouldbeclient-serverbasedwiththeassumptionthatthe Fig.1.Thesoftwarearchitectureofourgraphdrawingandtranslationservice. parser Manager clientmachineandthenetworkmaybeslow,whereastheserverisreasonably user-provided graph information names the graph and/or Client input and output name an formats an algorithm algorithm Forms Interface Graph Drawer database user.therearecurrentlytwoversionsoftheclient theformsinterfaceand Client.Theclientisresponsibleformaintainingtheinterfacepresentedtothe machine;theothercomponentsallresideontheserver. translator,andthegraphdrawer.onlytheclientcomponentrunsontheuser's vicehasvemainlogicalcomponents:theclient,themanager,theparser,the Figure1showsthesoftwarearchitectureofourprototypeservice.Theser- fast.thisassumptionisimportantforanetworksuchasthewww. algorithms ofvertices,edges,andedgebends,andenablingtheusertointeractivelycreate moduleisresponsibleforcreatingandmanagingthegrapheditorwindow,supportingbasicgrapheditingoperationssuchasinsertion,deletion,andmovement thegrapheditor. oftwomodules,theinterfacemoduleandthenetworkingmodule.theinterface thattheusercanlltoplaceherrequest.nocodeisneededtohandleserver communicationsormanagetheform,asthisisdonebytheuser'swebbrowser. FormsInterface.TheformsinterfaceissimplyanHTMLpagewithaform municatingwiththeserver itsendstherequest,providestheinterfacewith agraphtobesenttotheserver.thenetworkingmoduleisresponsibleforcom- GraphEditor.ThegrapheditorisimplementedasaJavaappletandconsists

spawnsmanythreadsforhandlingtheuserrequests. updatesonthecurrentstatusoftherequest,receivestheresponse,andensures Parser.Theparserreceivesfromthemanageracharacterstringthatcontainsa tohandlepotentiallysimultaneousrequestsfrommultipleclients,andtypically bleforcoordinatingtheparser,translator,andgraphdrawer.itismultithreaded goesdown. Manager.Themanageristhecentralcomponentoftheservice,andisresponsi- thatiftheusersendsarequest,aresponsewillbereceivedeveniftheserver owninput/outputformatwhichmaybedierentfromtheformatofthegraph requestatranslation.thetranslatortakesasinputagraphoradrawingand userrequestandextractsfromitthefollowinginformation:graphtobedrawn, formatoftheinput,typeofservicedesired(drawing/translation),formatofthe done,andperformsthedesiredtranslation.itmaintainsadatabaseofbasic givenbytheuser.therefore,theremaybeaneedfortranslatingfromone thenamesofthecurrentformatandtheformattowhichtranslationistobe formattoanotherondrawingrequests.inaddition,theusermayexplicitly Translator.Eachgraphdrawingalgorithmsupportedbytheservicedenesits output,anddrawingalgorithmtouse(ifthegraphistobedrawn). dierentexpressivepowersingeneral,somelossofinformationmayoccurduring atranslation.currently,thesequenceofbasictranslationfunctionsneededis tocarryoutthedesiredtranslation.noticethatbecausedierentformatshave explicitlycodedsothattheproblemoftranslatingfromamorepowerfulformat translationfunctions.givenatranslationrequest,itconstructsasequenceof basictranslationfunctionswhichisthenappliedtotheinputgraphordrawing thetic,gds,tomsawyer,andmalf,andthefollowingoutputformats:paren- thetic,gds,postscript,gif,gnuplot,mif,gandmalf. denetheirownkeywords.gds,tomsawyer,andmalfareminorvariations oftheformatsusedbygiotto[9],thetomsawyergraphlayouttoolkit, enclosedbyparentheses.itisveryexibleinthesensethatitallowstheusersto andgd-workbench[1],respectively.gnuplot,mifandgaretheformatsof Ourprototypeservicecurrentlysupportsthefollowinginputformats:paren- toalesspowerfuloneandthenbacktoamorepowerfuloneisavoided. algorithmandagraphdescribedinthealgorithm'sinputformat,andconstructs gnuplot,framemakerandxfig,respectively. GraphDrawer.Thegraphdraweracceptsasinputthenameofagraphdrawing Theparentheticformat[7]consistsofnestedlistsofkeyword-valuepairs labels,whichexpandstheverticestoaccommodatelabels.pairs[2]isourim- plementationofthealgorithmof[6],whichusesst-numberings.planarizerisnot adrawingofthegraphusingthealgorithm.currentlywesupportthefollowing implementationofgiotto,weoeravariationofitcalledgiotto-withtionapproachandabend-minimizationmethod[8].inadditiontotheoriginal threealgorithms:giotto,pairs,andplanarizer. GIOTTO[9]isageneral-purposedrawingalgorithmbasedontheplanariza-

morebrowserssothatthisrequirementisbecominglessrestrictive. asnetscape2.0orhigherformostplatforms.javasupportisbeingaddedto forms.thegrapheditorrequiresabrowserthatsupportsthejava1.0api,such onaclientmachineotherthanacommonlyavailablewebbrowser.theforms interfacerequiresabrowser,suchaslynxornetscape,thatsupportshtml vertices. planarembeddingoftheinputgraphbyreplacingcrossings(ifany)withdummy actuallyadrawingalgorithm:itistherststepofgiotto,whichconstructsa threading,andwithsucientmemoryforstoringtheusers'graphsanddrawings. Ourservicesatisestherequirementsstatedearlierinthissectionasfollows: Theservershouldbereasonablyfastwithsomekindofsupportformulti- Ourprototypeservicedoesnotrequireanyspecialhardwareorsoftware {Theuserisfreetospecifyanyinput/outputformatindependentofthealgorithmrequestedbyher.Thisdecouplingismadepossiblebythepresence ofthetranslator. mentationofanalgorithmcandeneitsowninput/outputformatprovided {Itisveryeasytoaddnewformatsandalgorithms.Alsonoticethatanimple- 3UsingourPrototypeService {Boththeformsinterfaceandthegrapheditoraresimpleandintuitive. {Allthecomputationallyintensiveworkisdonebytheserver.Hence,the servicecanbeusedbyclientswithlimitedresourcesaswell. betweenanewformatandtheparentheticformat. thatitisequippedwithatranslatorto/fromaformatalreadysupportedby service.webelievethatinmostcasesitwillbesucienttogiveatranslator usingthegiottoalgorithm,andwantsthedrawingtobeinpostscriptformat. Wenowgivetwoscenariostoshowhowauserinteractswithourprototype serviceandhowtheservicesatisesauserrequest. Scenario1.UsingtheFormsInterface(seeFigure2). Sheloadstheservice'shomepageintoherbrowser,clicksontheformsinterface link,andgetsanhtmlform.shecanspecifyagraphinoneoftwoways intheformitself.infigure2(a)shechoosesthelatteroptionandentersthe eitherbygivingtheurlofthegraphorbytypingthedescriptionofthegraph thenclicksontheappropriateselectionbuttonstospecifythattheinputformat ismalfinput,thedrawingalgorithmisgiotto,andtheoutputformatis graph(inmalfinputformat)intothetextareaprovidedintheform.she SupposetheuserwantstodrawagraphdescribedintheMALFinputformat postscript,andsubmitstheformtotheserver.figure2(a)showsapartofthis characterstring.themanagergivesthisstringtotheparserwhichextracts user-lledform. fromittheinputgraph,thetypeofservicerequested(drawing),thenames oftheinputandoutputformats(malfinputandpostscript,respectively), Theserverreceivestheformandpassesittothemanagerencodedasa

putformatusinggiotto,withoutputinpostscriptformat.(a)partoftheuser-lled form;(b)drawinginpostscriptformatreturnedtotheuseranddisplayedbythe Fig.2.Scenario1.Usingtheformsinterface.DrawingagraphdescribedinMALFin- (b) drawingisreturnedtothemanageringds,theoutputformatofgiotto,so browserwithghostview. themanagermustonceagaininvokethetranslatortoconvertthedrawingto andthedrawingalgorithmtouse(giotto).themanagerthenconsultsthe inputtogds.themanagersendsthegraphdescriptioningdsformattothe graphdrawer,whichusesgiottotoconstructadrawingofthegraph.the graphdrawertodeterminethegraphformatrequiredbythedrawingalgorithm (GIOTTOusesGDS)andcallsthetranslatortoconvertthegraphfromMALF Scenario2.UsingtheGraphEditor(seeFigure3). (assumingthebrowserisconguredtoautomaticallydisplaypostscriptles; otherwisetheuserwouldbepromptedtodownloadthele). automaticallyloadsthele,displayingitonthescreenasshowninfigure2(b) postscript.thenaldrawingissavedtoaleontheserverandtheurlofthis sherstclicksontheinteractiveappletinterfaceandthenonthestartclientlink. leisreturnedtotheclient. Thiscausesagrapheditorwindowtoappear.Figure3(a)showsagrapheditor Asbefore,theuserloadstheservice'shomepageintoherbrowser.Thistime Backontheclient,theuser'sbrowserreceivestheURLsentbytheserverand windowwithasamplegraphconstructedinteractivelybytheuser.toobtaina drawingofthegraphtheusermustspecifythealgorithmandtheoutputformat

(a) (b) andtheinputgraph;(b)drawingreturnedbytheserver;(c)statuswindowdisplayed wherethedrawingistobedisplayedinaneditorwindow.(a)theinterfaceoftheeditor Fig.3.Scenario2.Usingthegraph-editor.DrawingagraphwithGIOTTO-with-labels, whiletherequestisbeinghandledbytheserver. bymakingtheappropriateselectionsonthepulldownmenusatthetopofthe window.theexampleshowsthealgorithmgiotto-with-labelsandtheoutput (c) cancelarunningrequest(figure3(c)).theprocessingoftherequestonthe userwithinformationabouttheprocessingoftherequestandallowingherto \Run"buttontosendtherequest. format\interactive".(selecting\interactive"astheoutputformatwillcause serversidefollowsthesamebasicpatternasfortheformsinterface(parsing, supportedbythisinterfaceandwillbedisplayedinanewbrowserwindow.) Oncethealgorithmandoutputformathavebeenselected,theuserclicksonthe thedrawingtobedisplayedinanothereditorwindow;alloftheotherformats translation,drawing,translation);thedierencesareaslightlydierentfront- supportedbytheformsinterface,suchasparentheticnotationandgif,arealso Sendingtherequestcausesasmallstatuswindowtopopup,providingthe

endforreadingandparsingtherequestandsomeextramachinerytoensure thatresponsesdestinedforthesameclientaresentbackintheproperorder. 4FutureWork usingthebrowser'sown\saveas"mechanism. atextformat),whichisdisplayedinabrowserwindowandcanthenbesaved requesttotheservertoconvertthegraphintosomeotherformat(presumably andresubmittedtotheserver.itcanalsobesaved,bysendingatranslation scaledtotinthewindow.thisdrawingisfullyeditable,andcanbemodied chosenoutputformatwasinteractive)withtheresultingdrawing(figure3(b)), Whentherequestcompletes,anewgrapheditorwindowappears(sincethe Thereareseveraldirectionsforfurtherworkontheservice: {AddingsupportfornewformatssuchasGML[3]. {Addingnewalgorithms.WeplantostartwithimplementationsalreadyavailablefreelyontheWeb. References {Providingaservice(accessiblethroughtheWeb)throughwhichtheusers {Addingsupportforincrementalgraphdrawing. {Addingaprogrammer'sinterface,whereasmallJavaorC++libraryis providedtohandlecommunicationswiththeserver,allowingausertowrite aprogramwithacalltotheserverasasubroutine. 1.L.Buti,G.DiBattista,G.Liotta,E.Tassinari,F.Vargiu,andL.Vismara.GDworkbench:asystemforprototypingandtestinggraphdrawingalgorithms.Graph Drawing(Proc.GD'95).LNCS,1027:76{87,1996.F.J.Brandenburg,Ed. experimentalcomparisonoffourgraphdrawingalgorithms.comput.geom.theory canconductexperimentalstudiesongraphdrawingalgorithms. 2.G.DiBattista,A.Garg,G.Liotta,R.Tamassia,E.Tassinari,andF.Vargiu.An Appl.,1996.toappear. 3.M.Himsolt.GML:GraphModellingLanguage.Manuscript,UniversitatPassau, 4.E.KoutsoosandS.North.Drawinggraphswithdot.Technicalreport,AT&T 5.S.North.5114directedgraphs,1995.Manuscript.Availableat 6.A.PapakostasandI.G.Tollis.Improvedalgorithmsandboundsfororthogonal http://www.uni-passau.de/himsolt/graphlet/gml. Innstrae33,94030Passau,Germany,1996. BellLaboratories,MurrayHill,NJ.,1995.dotuser'smanual.Availableat http://www.research.att.com/dist/drawdag. drawings.graphdrawing(proc.gd'94).lncs,894:40{51,1995. ftp.research.att.com/dist/drawdag. 7.S.Singh.DocumentationforParen-to-GDS.Manuscript,Dept.ofComp.Sci., 8.R.Tamassia.Onembeddingagraphinthegridwiththeminimumnumberof 9.R.Tamassia,G.DiBattista,andC.Batini.Automaticgraphdrawingandreadabilityofdiagrams.IEEETrans.Syst.ManCybern.,SMC-18(1):61{79,1988. ThisarticlewasprocessedusingtheLaTEXmacropackagewithLLNCSstyle BrownUniversity,1991. bends.siamj.comput.,16(3):421{444,1987.