Structure, Abstraction, and Direct Manipulation in Diagram Editors

Editors for visual languages should be as simple and convenient to use as possible; at the same time, programmers should be able to create such editors without prohibitive effort. We discuss the benefits that can be gained from combining the following aspects in an editor-generator approach:-direct-manipulation editing (as in drawing programs) -structure-based editing (as in common diagram tools) -structural analysis and a common formal modelAs a major practical example, we present an editor for UML class diagrams. We show that direct-manipulation editing capabilities can enhance the usability of such an editor in comparison to standard tools. A further improvement is obtained by including selective abstraction features similar to the well-known "fisheye-viewing" and "semantic zooming" paradigms. We show that the proposed generator architecture provides an excellent base for implementing such features. The resulting technique can be applied to a wide range of different diagram languages; in contrast to other general solutions, it takes into account the abstract structure and specific abstraction features of the individual languages.

[1]  Mark Minas,et al.  Generating Diagram Editors Providing Free-Hand Editing as well as Syntax-Directed Editing , 2000 .

[2]  Jürgen Ebert,et al.  Meta-CASE in Practice: a Case for KOGGE , 1997, CAiSE.

[3]  Kozo Sugiyama,et al.  Layout Adjustment and the Mental Map , 1995, J. Vis. Lang. Comput..

[4]  James D. Hollan,et al.  Pad++: a zooming graphical interface for exploring alternate interface physics , 1994, UIST '94.

[5]  Kim Marriott,et al.  A Tableau Based Constraint Solving Toolkit for Interactive Graphical Applications , 1998, CP.

[6]  George Furnas,et al.  The FISHEYE view: a new look at structured les , 1986, CHI 1986.

[7]  Genny Tortora,et al.  A Parsing Methodology for the Implementation of Visual Systems , 1997, IEEE Trans. Software Eng..

[8]  Kim Marriott,et al.  Automatic construction of user interfaces for pen-based computers , 1996, AVI '96.

[9]  Roswitha Bardohl GENGED: a generic graphical editor for visual languages based on algebraic graph grammars , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).

[10]  Franz-Josef Brandenburg,et al.  An Experimental Comparison of Force-Directed and Randomized Graph Drawing Algorithms , 1995, GD.

[11]  Steven J. DeRose,et al.  XML Path Language (XPath) , 1999 .

[12]  Manojit Sarkar,et al.  Graphical fisheye views of graphs , 1992, CHI.

[13]  Edward L. Robertson,et al.  Techniques for non-linear magnification transformations , 1996, Proceedings IEEE Symposium on Information Visualization '96.

[14]  Benjamin B. Bederson,et al.  Jazz: An Extensible 2D+Zooming Graphics Toolkit in Java , 1999 .

[15]  Emmanuel Barillot,et al.  Context and interaction in zoomable user interfaces , 2000, AVI '00.

[16]  Mark Minas,et al.  Creating Semantic Representations of Diagrams , 1999, AGTIVE.

[17]  M. Sheelagh T. Carpendale,et al.  Making distortions comprehensible , 1997, Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No.97TB100180).

[18]  Kang Zhang,et al.  VisPro: a visual language generation toolset , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).

[19]  Andy Schürr,et al.  A graph based framework for the implementation of visual environments , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[20]  Saul Greenberg,et al.  Navigating hierarchically clustered networks through fisheye and full-zoom methods , 1996, TCHI.

[21]  Mark Minas,et al.  Concepts and realization of a diagram editor generator based on hypergraph transformation , 2002, Sci. Comput. Program..