Generating editors for direct manipulation of diagrams
Diagrams (e.g., trees for hierarchical structures, or graphs for finite state machines) are often needed as part of advanceduser interfaces, and are frequently specific to a user's application. The implementation of editors for diagrams should be supported by a tool and based on a formal model. This paper gives an overview of DiaGen, our generator for diagram editors. An editor for a certain kind of diagram is generated from a specification, which includes a grammar to describe the structure of diagrams. The user of a diagram editor, however, does not have to be concerned with the grammar, but can manipulate diagrams very conveniently by direct manipulation.
KeywordsFinite State Machine Diagram Class Direct Manipulation Mouse Button Text Block
Unable to display preview. Download preview PDF.
- 1.A. Morse and G. Reynolds, “Overcoming current growth limits in UI development”, Communications of the ACM, vol. 36, pp. 73–81, Apr. 1993.Google Scholar
- 2.I. Nassi and B. Shneiderman, “Flowchart techniques for structured programming”, ACM SIGPLAN Notices, vol. 8, pp. 12–26, Aug. 1973.Google Scholar
- 3.B.A. Myers, D.A. Giuse, R.B. Dannenberg, et al., “Garnet — Comprehensive support for graphical, highly interactive user interfaces”, Computer, vol. 23, pp. 71–84, Nov. 1990.Google Scholar
- 4.F. Arefi, C.E. Hughes, and D.A. Workman, “Automatically generating visual syntax-directed editors”, Communications of the ACM, vol. 33, pp. 349–360, Mar. 1990.Google Scholar
- 5.H. Göttler, “Graph grammars, a new paradigm for implementing visual languages”, in N. Dershowitz, editor, Rewriting Techniques and Applications, vol. 355 of Lecture Notes in Computer Science, pp. 152–166. Springer, 1989.Google Scholar
- 6.B.T. Vander Zanden, “Constraint grammars — a new model for specifying graphical applications”, in K. Bice and C. Lewis, editors, Proc. CHI'89, vol. 20 of SIGCHI Bulletin, pp. 325–330, Mar. 1989.Google Scholar
- 7.T.W. Reps and T. Teitelbaum, The Synthesizer Generator, Springer, New York, 1989.Google Scholar
- 8.C. Berge, Hypergraphs, North-Holland, Amsterdam, 1989.Google Scholar
- 9.F. Drewes and H.-J. Kreowski, “A note on hyperedge replacement”, in H. Ehrig, H.-J. Kreowski, and G. Rozenberg, editors, Lecture Notes in Computer Science, vol. 532, pp. 1–11. Springer, 1991.Google Scholar
- 10.D.E. Knuth, “Semantics of context-free languages”, Mathematical Systems Theory, vol. 2, pp. 127–145, 1968.Google Scholar
- 11.A. Borning, “The programming language aspects of ThingLab, a constraint-oriented simulation laboratory”, ACM Transactions on Programming Languages and Systems, vol. 3, pp. 353–387, Oct. 1981.Google Scholar
- 12.M. Minas and G. Viehstaedt, “Specification of diagram editors providing layout adjustment with minimal change”, in Proc. 1993 IEEE Symposium on Visual Languages, pp. 324–329. IEEE Computer Society Press, 1993.Google Scholar