soder@nmpcad.se (Hakan Soderstrom) (10/26/90)
My query <SODER.90Oct1185837@basm.nmpcad.se>: > Anybody know of a more or less generic, embeddable graph > editor? Preferrably under X (and Motif), but definitely > under Unix. > > What I mean is a tool specialized for drawing graphs, i.e. a > restricted form of graphics. It should "understand" nodes > connected by arcs (which is more than just geometry). There > are so many types of graphs, and it is painful to re-invent > a graph editor for each one. Think of it: schematics, flow > charts, finite state machines, entity-relationship diagrams ... First I'll sum up the clues this generated. Then I'll graciously offer my $0.02 on this subject. CLUES (1) EDGE by Frances Paulisch, University of Karlsruhe, Germany. My main source of information is the article "EDGE: An Extendible Graph Editor" in Software Practice and Experience, Vol 20 (S1), pp 63-88, June 1990 -- co-authored with Walter F. Tichy. From what I read this is a good work, adressing the essence of the problem I was thinking about. For instance, auto-placement under constraints, conversion between text format and graphics. It is easy to recommend the article. Contrary to what the article says, the implementation is not available (yet). The article has seemingly generated a lot of requests for tapes while the author is trying to finish her PhD... Somewhere around November it will be decided if the software will go into the public domain. The software is written in C++ and is based on Athena widgets (?) under X Windows. (2) xsim (thanks to Paul Palmer, palmerp@math.orst.edu) Author: Gregory S. Thomas (gthomas@cs.washington.edu), Department of Computer Science and Engineering, FR-35 University of Washington Seattle, WA 98195 The program is ftp-able from cs.washington.edu and may be used without license, but is copyrighted by U. of W., whatever it means. We tried this one, because it is small and simple (around 10,000 lines of code). It is written in C and uses Athena widgets. We easily installed it on an Apollo 3000 although this had not been reported before. xsim is controlled by a configuration file. You may specify types of nodes and edges. Each type of node is represented by a bitmap whose file name must be defined in the configuration file. You may also specify node and edge attributes and their types. Nodes are placed on a grid which may be visible or not. Attributes are not shown until you click on the node or edge. The drawing area is fixed. No auto-placement. No builtin printing capability. You may write a translator program which converts an xsim graph to some other representation. The translator may be invoked from within xsim. In my opinion this is a lightweight, honest graph editor. The other ones may be theoretically better, but we can't easily run them. (I know it's just a minor practical detail :-) (3) xgrab (thanks to Paul Palmer again) Several people have contributed to xgrab; current contact persons: Gregory S. Barnes, greg@cs.washington.edu Robert R. Henry, rrh@cs.washington.edu Computer Science and Engineering Department, FR-35 University of Washington Seattle, WA 98195 USA 206 685 1934 There is also the mailbox xgrab@cs.washington.edu. The program is ftp-able from cs.washington.edu. It requires g++ and Interviews 2.6 (ftp-able as 2.6.tar.Z from interviews.stanford.edu). To us this is a complication, so we have not installed it, just read the documentation. My guess is it consists of 25,000 lines of code. xgrab is free for non-commercial use. Commercial use requires a license from Berkeley. Terms are unknown to me. It seems that xgrab is a more complete graph editor. It has auto placement, pan and zoom, can generate PostScript, and many other features. AND THE $0.02 My posting generated far more "me too"s than actual clues. I didn't expect this. I thought a graph editor was a commodity and I was one of the few who didn't know where to get it. There is an enormous number of applications that would benefit from a graph editor. First I thought it was a bit sheepish to ask about graph editor in comp.graphics. The graphics involved are so much simpler than the ray tracing, depth cueing, virtual realities and other sophisticated issues discussed here. But on closer examination, writing a good, configurable and embeddable graph editor is a significant challenge. If you want a text editor these days you just get GNU Emacs. Very few people would write their own. We haven't reached that maturity with graph editors, obviously. There is still room for the "GNU Graph Editor" -- the one that is the obvious and free choice. DISCLAIMER Opinions expressed above are strictly personal, but will be shared by my employer if promulgated as a Law of the Kingdom of Sweden. Hakan Soderstrom -- ---------------------------------------------------- Hakan Soderstrom Phone: +46 (8) 752 1138 NMP-CAD Fax: +46 (8) 750 8056 P.O. Box 1193 E-mail: soder@nmpcad.se S-164 22 Kista, Sweden