Visualizing geometric algorithms over the Web

The visual nature of geometry applications makes it a natural area where visualization can be an effective tool for demonstrating algorithms. In this paper we propose a new model, called Mocha, for interactive visualization of algorithms over the World Wide Web. Mocha is a distributed model with a client-server architecture that optimally partitions the software components of a typical algorithm execution and visualization system, and leverages the power of the Java language, which has become the standard for distributing interactive platform-independent applications across the Web. Mocha provides high levels of security, protects the algorithm code, places a light communication load on the Internet, and allows users with limited computing resources to access executions of computationally expensive algorithms. The user interface combines fast responsiveness with the powerful authoring capabilities of hypertext narratives. We describe the architecture of Mocha, show its advantages over previous methods, and present a prototype that can be accessed by any user with a WWW browser supporting Java. The Mocha prototype has been widely accessed over the WWW, as demonstrated by the statistics that we have collected, and the Mocha model has been adopted by other research groups. Mocha is currently part of a broader system, called GeomNet, which performs distributed geometric computing over the Internet.

[1]  Roberto Tamassia Strategic directions in computational geometry , 1996, CSUR.

[2]  James A. Gosling,et al.  The java language environment: a white paper , 1995 .

[3]  Godfried T. Toussaint,et al.  The relative neighbourhood graph of a finite planar set , 1980, Pattern Recognit..

[4]  Godfried T. Toussaint,et al.  Relative neighborhood graphs and their relatives , 1992, Proc. IEEE.

[5]  John T. Stasko Simplifying algorithm animation with Tango , 1990, Proceedings of the 1990 IEEE Workshop on Visual Languages.

[6]  Robert Sedgewick,et al.  Techniques for Algorithm Animation , 1985, IEEE Software.

[7]  Pedro Jussieu de Rezende,et al.  Animation of geometric algorithms using GeoLab , 1993, SCG '93.

[8]  Luis D Lejter A Collaborative Environment for Algorithm Animation on the WWW , 1997 .

[9]  Marc Najork,et al.  Algorithm animation using 3D interactive graphics , 1993, UIST '93.

[10]  Marc H. Brown,et al.  Zeus: a system for algorithm animation and multi-view editing , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[11]  S.P. Reiss A framework for abstract 3D visualization , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[12]  John Domingue,et al.  Software visualization , 1994, CHI '94.

[13]  Giuseppe Liotta,et al.  Proximity Drawability: a Survey , 1994, Graph Drawing.

[14]  Jock D. Mackinlay,et al.  Information visualization using 3D interactive animation , 1993, CACM.

[15]  Michael T. Goodrich,et al.  Classical computational geometry in GeomNet , 1997, SCG '97.

[16]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[17]  John T. Stasko Tango: A Framework and System for Algorithm Animation , 1990, Computer.

[18]  Ioannis G. Tollis,et al.  Algorithms for Drawing Graphs: an Annotated Bibliography , 1988, Comput. Geom..

[19]  John T. Stasko,et al.  Animation support in a user interface toolkit: flexible, robust, and reusable abstractions , 1993, UIST '93.

[20]  Steven P. Reiss An Engine for the 3D Visualization of Program Information , 1995, J. Vis. Lang. Comput..

[21]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[22]  MehlhornKurt,et al.  LEDA: a platform for combinatorial and geometric computing , 1995 .

[23]  John T. Stasko,et al.  Do algorithm animations assist learning?: an empirical study and analysis , 1993, INTERCHI.

[24]  John Domingue,et al.  A framework for describing and implementing software visualization systems , 1992 .

[25]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[26]  Gio Wiederhold,et al.  Mediation in information systems , 1995, CSUR.

[27]  David P. Dobkin,et al.  Visualization of Geometric Algorithms , 1995, IEEE Trans. Vis. Comput. Graph..

[28]  Marty Hall Core Web Programming (With CD-ROM) , 1997 .

[29]  Tamara Munzner,et al.  Geomview: a system for geometric visualization , 1995, SCG '95.

[30]  David P. Dobkin,et al.  GASP: a system to facilitate animating geometric algorithms , 1994, SCG '94.

[31]  John Hershberger,et al.  Color and sound in algorithm animation , 1992, Computer.

[32]  Andries van Dam The Electronic Classroom: Workstations for Teaching , 1984, Int. J. Man Mach. Stud..

[33]  D. Kirkpatrick,et al.  A Framework for Computational Morphology , 1985 .

[34]  Marc Najork,et al.  Collaborative Active Textbooks , 1997, J. Vis. Lang. Comput..

[35]  John T. Stasko The path-transition paradigm: a practical methodology for adding animation to program interfaces , 1990, J. Vis. Lang. Comput..

[36]  Oscar Nierstrasz,et al.  Research Directions in Software Composition 1 What Is Software Composition? Frameworks and Architectures , 1996 .

[37]  James Gettys,et al.  The X window system , 1990 .

[38]  R. Sokal,et al.  A New Statistical Approach to Geographic Variation Analysis , 1969 .

[39]  Prosenjit Bose,et al.  Proximity Constraints and Representable Trees , 1994, Graph Drawing.

[40]  Jörg-Rüdiger Sack,et al.  A computational geometry workbench , 1990, SCG '90.

[41]  Kurt Mehlhorn,et al.  LEDA: a platform for combinatorial and geometric computing , 1997, CACM.

[42]  C. Stoll The Cuckoo's Egg : Tracking a Spy Through the Maze of Computer Espionage , 1990 .

[43]  David P. Dobkin,et al.  Making Geometry Visible: An Introduction to the Animation of Geometric Algorithms , 2000, Handbook of Computational Geometry.

[44]  Ioannis G. Tollis,et al.  Graph Drawing , 1994, Lecture Notes in Computer Science.

[45]  John Stasko,et al.  Visualizing Program Executions on Large Data Sets Using Semantic Zooming , 1995 .

[46]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[47]  F. Frances Yao,et al.  Computational Geometry , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[48]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[49]  Steven C. Glassman A Turbo environment for producing algorithm animations , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.