A Framework for Constructing Visualization, Animation, and Direct Manipulation Interfaces

This thesis describes a framework for developing kinds of non-WIMP-based user interface software, designated as a bi-directional translation model1. Here, ‘non-WIMP-based’ interface means that it cannot built only by combining WIMP widgets, such as buttons and menus. In particular, the targets of this thesis are two types of GUI software. One is direct manipulation interfaces for figures and diagrams that visually represent various abstract objects and relations in an application data, such as direct manipulation interfaces for network and hierarchical data structures. They enable the user to draw and modify diagrams to input abstract data into an application. Another is animations of changing abstract objects and relations in an application data, such as animations of sorting algorithms. They show their transitions visually, and are useful for understanding the behavior of an application or an algorithm. The bi-directional translation model models the general process of visualization, picture recognition, and animation generation. It is originated in Kamada’s general framework for visualizing abstract objects and relations. We have extended it by integrating recognition of figures/diagrams and animation of changing abstract objects and relations, which is one of the contributions in this thesis. The key idea of the framework is that these functions are translations between different data representations. The model introduced four data representations: AR (Application Data Representation), ASR (Abstract Structure Representation), VSR (Visual Structure Representation), and PR (Pictorial Representation). In the model, visualization is a translation from AR to PR via ASR and VSR. Recognition of figures is an inverse translation from PR to AR via VSR and ASR. The essential translation is that between ASR and VSR, because there is no a priori mapping between these representations. ASR is the representation in our model that represents the structure of application data, and it does not have explicit visual appearance information. On the other hand, the purpose of VSR is to represent the high-level structures of pictures. The mapping between ASR and VSR is the essential conversion between abstract data for an application and pictorial data for presentation. Nevertheless, the structure of ASR and that of VSR are usually similar. As users understand the meaning of abstract application data via pictures, visualized pictures should represent abstract application data, and thus they should have a similar structure. The programmer specifies these translations by visual mapping rule sets, which are declarative rules that define mappings between ASR data and VSR data. As both structures are similar, mapping rules are usually simple. Animations are also handled in the framework extended naturally to the time dimension. In the framework, animations are regarded as operations on PR that are translated from operations on AR via operations on ASR and VSR. The translation among operations is executed maintaining consistency with the mapping relations among the AR, ASR, VSR, and PR data. We have chosen an interpolation-based method for implementation of the extended framework for animations. That is, animations are generated by interpolating a sequence of pictures translated from the running application’s internal data. Rather than specifying animations (motions or transformations) directly, the WIMP stands for Windows, Icons, Menus and Pointing device.

[1]  William Buxton,et al.  Creating highly-interactive and graphical user interfaces by demonstration , 1986, SIGGRAPH.

[2]  Satoshi Matsuoka,et al.  A general framework for bidirectional translation between abstract and pictorial data , 1992, TOIS.

[3]  Kenneth M. Kahn,et al.  Concurrent Constraint Programs to Parse and Animate Pictures of Concurrent Constraint Programs , 1992, FGCS.

[4]  Satoshi Matsuoka,et al.  Declarative programming of graphical interfaces by visual examples , 1992, UIST '92.

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

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

[7]  Greg Nelson,et al.  Juno, a constraint-based graphics system , 1985, SIGGRAPH.

[8]  David Wolber Pavlov: programming by stimulus-response demonstration , 1996, CHI '96.

[9]  Georg Sander,et al.  Ilog JViews Graph Layout: A Java library for highly demanding graph-based applications , 2002, Electron. Notes Theor. Comput. Sci..

[10]  Satoshi Matsuoka,et al.  A Constraint-Based Approach for Visualization and Animation , 2004, Constraints.

[11]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[12]  Peter J. Stuckey,et al.  Solving Disjunctive Constraints for Interactive Graphical Applications , 2001, CP.

[13]  Jade Goldstein-Stewart,et al.  Interactive graphic design using automatic presentation knowledge , 1994, CHI Conference Companion.

[14]  Tomio Kamada Visualizing abstract objects and relations: a constraint-based approach , 2016 .

[15]  Scott E. Hudson,et al.  Ultra-lightweight constraints , 1996, UIST '96.

[16]  Fred Lakin Visual Grammars for Visual Languages , 1987, AAAI.

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

[18]  B. Miller,et al.  The Paradyn Parallel Performance Measurement Tools , 1995 .

[19]  Satoru Kawai,et al.  A general framework for visualizing abstract objects and relations , 1991, TOGS.

[20]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[21]  Fred Lakin,et al.  A structure from manipulation for text-graphic objects , 1980, SIGGRAPH '80.

[22]  Bjørn N. Freeman-Benson,et al.  Constraint Technology fur User-Interface Construction in ThingLab II , 1989, OOPSLA.

[23]  Harry K. T. Wong,et al.  GUIDE: Graphical User Interface for Database Exploration , 1982, VLDB.

[24]  Jiro Tanaka,et al.  Generating a Visual System with Soft Layout Constraints , 2000 .

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

[26]  Satoru Kawai,et al.  An Algorithm for Drawing General Undirected Graphs , 1989, Inf. Process. Lett..

[27]  J. Tanaka,et al.  Visualization of Program Execution via Customized View , 2002 .

[28]  Sharon Zakhour,et al.  The JFC Swing Tutorial: A Guide to Constructing GUIs , 1999 .

[29]  Bradley T. Vander Zanden Incremental Constraint Satisfaction and its Application to Graphical Interfaces , 1988 .

[30]  Louis Weitzman,et al.  Unification-based grammars and tabular parsing for graphical languages , 1991, J. Vis. Lang. Comput..

[31]  Kim Marriott Constraint multiset grammars , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

[32]  Fred H. Lakin,et al.  Computing with text-graphic forms , 1980, LISP Conference.

[33]  B. Shneiderman,et al.  Flowchart techniques for structured programming , 1973, SIGP.

[34]  Satoshi Matsuoka,et al.  A general framework for Bi-directional translation between abstract and pictorial data , 1991, UIST '91.

[35]  J.T. Stasko,et al.  Three-dimensional computation visualization , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[36]  Andy Schürr,et al.  Defining and Parsing Visual Languages with Layered Graph Grammars , 1997, J. Vis. Lang. Comput..

[37]  Donald E. Knuth,et al.  Computer-drawn flowcharts , 1963, CACM.

[38]  Mark A. Linton,et al.  Unidraw: a framework for building domain-specific graphical editors , 1990, TOIS.

[39]  D.A. Reed,et al.  Scalable performance analysis: the Pablo performance analysis environment , 1993, Proceedings of Scalable Parallel Libraries Conference.

[40]  Michael T. Heath,et al.  Visualizing the performance of parallel programs , 1991, IEEE Software.

[41]  Steven K. Feiner,et al.  Inferring constraints from multiple snapshots , 1993, TOGS.

[42]  S. Matsuoka,et al.  Visualization of abstract concepts using generalized path binding , 1990 .

[43]  Hideki Koike,et al.  Fractal views: a fractal-based method for controlling information display , 1995, TOIS.

[44]  Akinori Yonezawa,et al.  Schematic: A Concurrent Object-Oriented Extension to Scheme , 1995, OBPDC.

[45]  John Lasseter,et al.  Principles of traditional animation applied to 3D computer animation , 1987, SIGGRAPH.

[46]  Lawrence S. Kroll Mathematica--A System for Doing Mathematics by Computer. , 1989 .

[47]  Satoshi Matsuoka,et al.  Interactive generation of graphical user interfaces by multiple visual examples , 1994, UIST '94.

[48]  John T. Stasko Using direct manipulation to build algorithm animations by demonstration , 1991, CHI '91.

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

[50]  Luis A. Pineda,et al.  GRAFLOG: Programming with Interactive Graphics and PROLOG , 1988 .

[51]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[52]  Kenneth M. Kahn,et al.  Complete visualizations of concurrent programs and their executions , 1990, Proceedings of the 1990 IEEE Workshop on Visual Languages.

[53]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[54]  Ellen Yi-Luen Do,et al.  Ambiguous intentions: a paper-like interface for creative design , 1996, UIST '96.

[55]  Margaret M. Burnett,et al.  Visual Programming , 1995 .

[56]  James A. Landay,et al.  Interactive sketching for the early stages of user interface design , 1995, CHI '95.

[57]  Jock D. Mackinlay,et al.  Automating the design of graphical presentations of relational information , 1986, TOGS.

[58]  Gruia-Catalin Roman,et al.  A declarative approach to visualizing concurrent computations , 1989, Computer.

[59]  Toshiyuki Masui,et al.  Evolutionary learning of graph layout constraints from examples , 1994, UIST '94.

[60]  Satoshi Matsuoka,et al.  A framework for constructing animations via declarative mapping rules , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.