[austin.general] Summary: Software Tools for Diagram Editors

sjbr@ut-emx.uucp (Sjaak Brinkkemper) (05/20/91)

Distribution: world
Organization: The University of Texas at Austin; Austin, Texas
Keywords: Diagram Editors, Visual languages, Editor generator


Here is a very extensive list of 17 tools for diagram editors. I have used 
the material I got from all kinds of sources, which led to descriptions
with varying contents and quality. There is quite something around: for the
Mac, PC, WS; from plain graph editors to editor generators. Our experience is
that the response from the companies and/or 800 numbers varies.

Please send comments and information on more tools, experiences and other 
details to me: sjbr@emx.utexas.edu. Follow-up to comp.software-eng.

Thanks to all those who responded and y'all have fun if you plan to 
use this information.

Sjaak Brinkkemper

======================================================
Tool descriptions and experiences:
======================================================
a. MetaDesign, Design/OA

From:  curreyr@argus.math.orst.edu

	1) Design/IDEF - This is design tool that uses the structured 
		analysis technique IDEF/SDAT to do system modeling.

	2) MetaDesign - A fancy graphics package allowing custom
		modeling of complex systems.

	3) Design/OA - This is essentially a development package 
		that lets you interface the powerful design 
		environment in MetaDesign and construct your own 
		custom diagram editors.

All three packages support hierarchical designs and text linked within
the diagram. Design/OA seems really powerful and may suit your needs
exactly. The platforms it runs on are Macintosh Toolbox, MS-Windows, 
and X Window System. I am still in the process of reviewing and trying
to learn this system so I can't say much more. You can get more info
from Meta Software at:
		Meta Software Corporation
		150 CambridgePark Drive
		Cambridge, MA 02140
		Phone: (800)227-4106
		Fax: (617)576-0519

Hope this helps.

-Robert W. Currey
 Oregon State University
 curreyr@argus.math.orst.edu

From: wdl1!spl27.spl.loral.com!pcg@SGI.COM (Paul C George)

Meta Software, Design/OA. An extension kit for their design series. Basically 
only deals with graphics, not underlying semantics. Runs on Vax, Macintosh, 
Xwindows. Have tools for IDEF modeling (SADT, ERD), Colored Petri Nets.
150 Cambridge Park Dr. Cambridge MA. 02140. (617)576-6920
Andrew Levin, VP, avl%metasoft@bbn.com

======================================================
b. InterViews, UniDraw, HotDraw

From: kung@evax.uta.edu (Chenho Kung)
Organization: Computer Science Engineering Univ. of Texas at Arlington

How about InterViews by Linton, Stanford University. See
IEEE Computer 1989. You can use anonymous ftp to obtain InterViews from the host
interviews.stanford.edu.  The current version is 2.6, available
in pub/2.6.tar.Z.  This is a compressed tar file containing
the source, manual pages, and technical reports.  A newer version, 3.0,
should be available in alpha form very soon.

Chenho

From: Ralph Johnson <johnson@cs.uiuc.edu>

You should look at Unidraw.  It is built on top of Interviews,
which is an object-oriented user interface framework written
in C++ that runs on top of X.  If you are using X, and don't
mind C++, then Unidraw is for you.  It makes implementing
diagram editors much, much easier.  John Vlissides' PhD
thesis from Stanford describes it.

On the other hand, if you like Smalltalk then HotDraw is best.
Although independently created, HotDraw and Unidraw are
surprisingly similar.  If you want it, I can get you a version.

Ralph Johnson

From: Ralph Johnson <johnson@cs.uiuc.edu>

Interviews is not a diagram editor.  It is a user interface
framework.  Unidraw is the diagram editor that runs on top
of Interviews.  They are both written in C++ and run in X.
They are freely available on the X consortium tape and from
various ftp archives.  Unidraw was written by John Vlissides
as part of his PhD work at Stanford.  He can be reached at
vliss@interviews.stanford.edu.  It is a very nice thesis.
I have never customized Unidraw, but the thesis describes
a VLSI editor, a user interface builder, and a standard
drawing tool.

HotDraw is written in Smalltalk-80.  I've used it for a
PERT chart editor (took me an hour and a half), simple
animation, and as a regular drawing editor.  Students used
it in a class this last semester to implement a variety of 
drawing editors, many of which used animation.  The original
version was done at Tektronix by Ward Cunningham and
Kent Beck.  The version I have came from some people
in France.  It is very good.  Unidraw looks like it is
just as nice, though of course it has the misfortune
not to be written in Smalltalk.

Ralph Johnson -- University of Illinois at Urbana-Champaign

Experiences:
From: paulA@minster.york.ac.uk

Of those listed, the only tool set that I have used is "InterViews".
I, and other people here at York, have found InterViews very difficult to learn
how to use - probably because of the shortage of good quality documentation.

I hope that this is helpful

Paul Andrews

======================================================
c. Robochart

From: cs.utexas.edu!elroy!jackm%agcsun%boulder@ncar.UCAR.EDU (Jack Morrison)

I know this isn't what you asked, but we sell a generalized diagram 
editor that handles data flow, ER diagrams, flow charts, state
transitions, etc. Here's a blurb if you're interested. Send me a 
postal address if you'd like more information, including sample output.

	Jack


ROBOCHART is an interactive graphics program designed to create and 
edit flow diagrams. It is particularly geared toward Yourdon-style 
Data Flow Diagrams, but can generate many other similar diagrams,
such as state transition diagrams, system configurations, flow charts, 
entity-relationship diagrams, organization charts, etc. ROBOCHART is 
NOT a general-purpose drawing tool, but for these types of diagrams 
it's much faster and easier to work with.

ROBOCHART doesn't need complicated commands. You simply manipulate the 
diagram directly on the screen. The program knows you are drawing a
flow diagram, and keeps things perfectly connected and aligned as you
make changes.

Some of the features are:

	* Objects can be drawn, moved, or resized with a single mouse command.
	* Flows between objects can be drawn or moved just as easily.
	* Flows are automatically redrawn when a connected object moves.
	* Flows can be rerouted with intermediate vertices.
	* Labels are entered by simply pointing at an object or flow and 
		typing.
	* Labels are moved automatically when objects or flows move.
	* An optional snap grid simplifies diagram alignment.
	* Hierarchical diagrams are supported for logical zooming between
		levels of detail. Automatic level numbering is
		optional. Object consistency across levels is automatic.
	* Diagrams can be saved to disk and reloaded for editing.
		Multiple diagram pages can be stored in one file.
	* Pick, Cut and Paste functions handle hierarchical diagram sections.
	* Program defaults are user-configurable.

The program provides 18 object shapes, each of which can stretched to any
width and height. Flows can be solid or dashed lines, and each end can be
plain, single or double arrowhead, or crossed.

ROBOCHART runs on PC/XT/AT/PS2 and compatible machines with 275K free RAM.
A Microsoft-compatible mouse is required. Hercules, CGA, EGA, VGA, and 
super VGA displays are supported. Hardcopy output is provided for many 
laser, dot matrix, and PostScript printers, and HPGL plotters. ROBOCHART can
export your diagram in several graphics file formats. Diagrams can be up
to 16 times the graphics screen area.

List price is $96, with quantity discounts available.


ROBOCHART is also available for SUN 3 and SUN 4 systems. It runs under
SunView with SUNOS 4.0 or later, and provides PostScript, EPSF, and
HPGL output formats. A demo version with full manual is available for $25 
(refundable against purchase of licensed version). Full version licensed 
for a single node is $345. Additional licenses (including manual) are
$90 each. Open Look and Motif versions are under development.

For further information or ordering, contact

	Lynn Morrison, Marketing Director
	Digital Insight
	P.O. Box 2095
	Evergreen, CO 80439-2095
	(303) 674-5232

Send E-mail inquiries to Jack Morrison at ...ncar!boulder!agcsun!jackm

Experiences:

From: cs.utexas.edu!elroy!jackm%agcsun%boulder@ncar.UCAR.EDU (Jack Morrison)

As the developer of ROBOCHART, I can't give
an unbiased user report, but I'll try to describe it's uniqueness. Again,
keep in mind that it's not really an editor *developer* as you requested,
but a general-purpose "flow diagram" editor.

ROBOCHART was designed from the ground up to do as much of the grunge work 
of diagramming as possible. (Some marketing types would call it "intelligent").
It's fundamentally mouse-driven, and uses all 3 mouse buttons so that
direct manipulation of the diagram can be performed with minimal effort.
In the SunView version, objects in the diagram act a lot like SunView
windows do - you can use the same mouse operations to move and resize 
objects, and you enter labels by moving the cursor inside an object and
typing.

Another basic philosophy of ROBOCHART is that once you've entered something,
you shouldn't have to redo it just because you've changed your mind.
For example, you can change the size, shape, or position of an object or
flow line without affecting the label and connections. 

Also, ROBOCHART helps you create hierarchical diagrams by providing multiple
levels and logical zooming functions, with optional linking of objects
across levels. For example, you can create a top-level dataflow
diagram, then zoom in on one process. ROBOCHART automatically initializes
the new detailed level, with linked copies of the adjacent flows and
objects. "Linked" means that if you edit the label of an object or flow,
the change is automatically carried to all other levels where that object
or flow appears. Where some other programs force you to invoke a function
to check consistency, which generates a list of errors, ROBOCHART tries to
automatically keep things consistent for you, as you work.

The Cut and Paste operations can work across hierarchical levels. Say 
your diagram is getting a bit too complicated. It's a simple matter
to take a group of objects and "push" them down one level. Just
mark the group of related objects, cut them from the top level, create
a new high-level object to represent this group, zoom into the new
object, and paste the detailed objects in. This works even if some of
the detailed objects already had their own sublevels defined!
ROBOCHART can automatically number objects according to their current
position in the hierarchy.

The feedback I get from users is that it is indeed pretty easy to learn,
and extremely easy to use. I figure our main competition is pencil and
paper, which is slightly faster at creating a diagram -- but there's no
contest if you need to change anything!

Take care,

	Jack


======================================================
d. SYLVA

From: vavra@s5000.RSVL.UNISYS.COM

SYLVA is a general diagram editor which has been customized to support several
different development methodologies.  I haven't used it much myself, but it is
a real product from:

	CADWARE
	50 Fitch Street
	New Haven, CT 06515
	(800) CADWARE

Bob Vavra


=======================================================
e. EDGE

From: mep@inmet.inmet.com (Mark Polhamus)


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.

From: Francie Newbery <newbery%ira.uka.de@RELAY.CS.NET>


   EDGE Version 3.0 will be ready for release in March 1991.  This version uses 
   the X Window System Version 11 Release 4 and AT  C++ version 2.0.  

   The basic features of EDGE allow you to:

   1) Display a graph using a choice of four automatic layout algorithms
      (Barycenter, ISI, Tree, Planar).  The Barycenter layout, based on the 
      layout algorithm by Kozo Sugiyama, has been extended so that it can take 
      user- or application-specified layout constraints into account.  

   2) Edit the graph by adding, deleting, changing nodes and edges.

   3) Group subgraphs into multi-level abstractions.  These may be shown in the 
      context of the remaining graph or in a separate editing session.

   4) Read or write a file describing the graph and how it is to be displayed.
      You can either use EDGE's standard input/output format GRL or you can
      use your own format as long as you provide a procedure which reads/writes 
      your special format.

   EDGE offers base classes for graph, node, and edge.  An application developer 
   can use objects derived from these basic types to customize EDGE to a 
   particular application.  Four simple application programs are provided as 
   examples of how EDGE can be customized: Project Management, Directory Browser, 
   a Logic Simulator, and Program Animation.

   A recent article in ``Software -- Practice and Experience'' (Special Issue on 
   Unix Tools, June 20, 1990) describes EDGE in more detail.  The program 
   generator tool COGENT which is used to generate source code for the GRL scanner
   and parser as well as for the menus will not be included in this release.

   A pre-release of EDGE is available for anonymous ftp from the machine 
   iraun1.ira.uka.de (129.13.10.90) (in directory pub/src, I think).  Please ftp 
   in the off hours our time (MET).
   If you are unable to ftp, then please send me a streamer or magnetic tape and 
   we can put EDGE on it in tar format and return it to you.  

   Frances Newbery Paulisch (newbery@ira.uka.de)
   Institut fuer Programmstrukturen und Datenorganisation
   Universitaet Karlsruhe
   Postfach 6980
   D-7500 Karlsruhe 1
   FRG

=======================================================
f. XSIM

From: mep@inmet.inmet.com (Mark Polhamus)

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 :-)


=======================================================
g. XGRAB

From: mep@inmet.inmet.com (Mark Polhamus)

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.


=======================================================
h. DAG

From: cchen@sbcs.sunysb.edu

I just want to put out a few good words about an excellent graph 
layout program, called DAG, that I recently acquired from AT&T.  
I've been looking for such a program that would compute the coordinates
for the nodes and edges given basically a connection matrix type of 
things or its equivalent as input.  DAG does the job exceptionally.
It fits in with the pic, troff suites of processors, and generates
pic or postscript commands.  Optional instructions are also available 
for attaching labels, controlling spacing, and specifying how nodes 
are drawn, etc.  If you need to display finite automata, data flow,
any kind of graphs, I think this program will be of great help.

To be impressed, read their paper on Software - Practice and Experience,
vol 18, num 11, page 1047-62, 1988.
I received my binary copy free from Mr. North(north@ulysses.att.com).
He has been extremely helpful in the matter.  I have no idea about their 
policy on non-academic distributions.

==========================================================
i. MacSTILE

From weide@cis.ohio-state.edu Thu Feb 14 09:56:56 1991


Sorry I haven't been following comp.lang.visual too closely for the
past couple weeks, and just saw your note about diagram editors.  Let
me add this to your list:

	Software Originals, Inc.: MacSTILE

For more info call 419-885-8747 or (in U.S.) 1-800-873-6873, M-F 11-6
Eastern time.

	-Bruce

Experiences:

I have quite a bit of experience with it, as the developer :-).
If you call the 800 number I gave you they can send some literature
describing it, including what some users are doing with it.  A demo
is only $20 with full documentation.
	-Bruce

===========================================================
j. Adagen

From: wdl1!spl27.spl.loral.com!pcg@SGI.COM (Paul C George)

Mark V Systems, Adagen - v7 contains a language for specifing graphic semantics
and a data manipulation language. Also has facilities for menu design & extension.
runs on unix workstations, Macintosh, PC under MS windows.
16400 Ventura Blvd, Encino Ca. 91436; (800)666-6232

Note: from Sjaak Brinkkemper

In the info we ontained from Mark V, Adagen is listed as an ADA generator.
Mark V systems list also a customizer of their Objectmaker CASE tool, 
called Corporate Environment Tool
===========================================================
k. Design Graphics System

From: wheeler@IDA.ORG (David Wheeler)

Design Graphics System: Cadware Group, Limited.  New Haven, CT.  203-397-2908.

--- David A. Wheeler
    wheeler@ida.org

===========================================================
l. Virtual Software Factory

From: wdl1!spl27.spl.loral.com!pcg@SGI.COM (Paul C George)

Systematica, Virtual Software Factory. - full semantic metalanguage for tool
specification. weak programmatic interface, basically ascii file import/export.
Quite expensive, and must purchase their runtime kernal for every developed 
application. Being used on the space station. HOOD & RTSA implementations
available.
Systematica House, 3-7 St. Stevens Road, Bournemouth, Dorset, BH2 6JL
(0202)297292, Michael Fish, Marketing Director.

From: deweerd@edsr.eds.com (Randall De Weerd)

I recently came across another tool for creating diagram editors.  The
tool is Virtual Software Factory (VSF) from:
	Systematica  Limited
	Systematica House, 3-7 Stephens Road,
	Bournemouth, Dorset BH2 6JL, England
	Phone: +44 202 297 292
	Fax: +44 202 291 180

The specifications for diagram editors are given in two parts.  First, the
meta objects are defined in a set-theoretic based language called
Cantor.  Then, the graphic representation of the sets is defined using
a Graphics Definition Language (GDL).

VSF has two environments.  The development environment allows you to develop
a meta definition and the associated graphics definition.  The run-time
environment interprets the definition, allowing you to build and edit diagrams.

--Randall

===========================================================
l. Picture Editor

From: mcgregor@hemlock.Atherton.COM (Scott McGregor)

Interactive Development Environments (IDE) sells Software Through
Pictures which included a diagram editor called Picture Editor.  I've  used it
as have some of the people who work for me.  Reasonably good if you are
happy with their pallette of predefined symbols.  Pallette contains
most of the SA/SD type symbols you might expect. Binary distribution.
Reuse in another program subject to permission and possible royalties to
IDE.

Scott McGregor
Atherton Technology
mcgregor@atherton.com

===========================================================
m. Motif Graph Widget

From: mcgregor@hemlock.Atherton.COM (Scott McGregor)

Hewlett-Packard sells a "Motif Graph Widget", but only through special
request to their Corvallis Plant.  The Graph Widget evolved from original work
done by Luis Miguel (now PhD candidate at UC Berkeley) when he worked at
HP's Software Methods Lab in Cupertino, CA and was extensively rewritten for
Motif by Doug Young (author of Motif Programming book, now at Silicon
Graphics) when he was at HP Labs in Palo Alto.  Now classified as a "specials"
product, it is available only via Corvallis which develops HP's other Motif
implementations.

The Graph Widget is a full-fledged Motif manager widget which
displays nodes (any arbitrary Motif widget or gadget), and arcs
(undirected, directed, bi-directed, colored, labeled, variable width,
arrow/line widgets).  Can display unconnected forests of graphs, including
graphs with cycles.  Does a great job laying out hierarchical structures,
and a good job with many other graphical layouts. Supports edit modes
for repositioning nodes, subtrees, deleting and adding new nodes and
arcs.  Supports linking to arbitrary user specified callbacks.  Comes
with a set of useful test programs and examples that you can evolve your
own diagram editor from.  Sold only in SOURCE form.  No royalties due
on binary products resold by others that reuse the widget. IMHO, a nice,
very versatile tool for building applications.

Scott McGregor
Atherton Technology
mcgregor@atherton.com

==========================================================
n. IPSYS TBK

From: wdl1!spl27.spl.loral.com!pcg@SGI.COM (Paul C George)

IPSYS TBK, distributed by CASET corp. Similar to VSF but cheaper. Seems to have 
grown out of the same work. Has editor & data manipulation language. Strong 
schema. Does not have metalanguage. HOOD tool available. Unix/Xwindows
Karen Onsgard, Regional Sales Mgr. (714)496-8670

==========================================================
o. MetaView

From sjbr@emx.utexas.edu

MetaView is a generator for diagram-editors from Ascent Technology Inc.
It runs under Sunview on Sun4 and Sparcstation

Contact: 
Ascent Technology Inc.
Rindert Schutten
2433 Villa Nueva Way
Mountain View, CA 94040
Phone: (415) 940 1550
Fax: (408) 722 2017

==========================================================
p. Configurable Graphical Editor (CGE)

From: sjbr@emx.utexas.edu

CGE is a generator for diagram editors from TNO in the Netherlands
running under Unix under X-windows and written in C. 
User definition of symbols, manipulations and connections of 
a diagram editor. Can be used as a front end to simulators, CASE tools,
etc.

Contact:
TNO Institute for Applied Computer Science
P.O. Box 6032
2600 JA Delft
The Netherlands
Phone: +31.15.697.071
Fax: +31.15.623.313

==========================================================
q. XL/Customizer

From: sjbr@emx.utexas.edu

XL/Customizer is a customizer for diagram editors from Index Technology
for their Excelerator CASE tool. Index is based in Cambridge, MA.


==========================================================
Miscellaneous remarks
==========================================================
From clements@cs.utexas.edu Tue Feb  5 12:13:50 1991

I would be interested in a summary of what you find.   I could
use such a beast myself.

We are building a CASE tool for embedded real-time systems.   The tool
(called Modechart) lets designers specify a system by specifying
the system's control structure using boxes ("modes"), specifying when
transitions among boxes occur (based on machine state, external events,
timing, etc.), and associating actions with being in a particular mode.

My immediate problem is trying to build a nice box-and-line-drawing
system (windows, mouse clicks, icons, etc.) without actually having
to *build* it -- there must be a zillion of those things around, and
it seems dumb to build Yet Another One.    But I have had very poor
luck finding a package to help.

Paul C. Clements
clements@cs.utexas.edu


From rhaar@albert.cs.gmr.com Tue Feb  5 18:26:42 1991
From: rhaar@albert.cs.gmr.com (Robert L. Haar CS50)

Please send me a summary of any responses that you get as
we are interested in similar tools. 

We are using Teamwork from Cadre Technologies for developing data
flow diagrams. It is reasonably good at this, but is essentially a CASE tool.
We plan to use the resulting DFD's as input to tools that we are
developing here to assist an engineer in partitioning vehicle
electrical system design into hardware modules. The first thing we need to do
is to display the DFD and allow the engineer to group process bubbles
into units that will then be assigned to physical modules for
implementation.

	Robert Haar  InterNet : rhaar@albert.cs.gmr.com 
	Computer Science Dept., G.M. Research Laboratories
====================================================
====================================================
Thanks to:

acuenca@gmv.es
cchen@sbcs.sunysb.edu
clements@cs.utexas.edu
cs.utexas.edu!elroy!jackm%agcsun%boulder@ncar.UCAR.EDU
curreyr@argus.math.orst.edu
deweerd@edsr.eds.com
dmark@acsu.buffalo.edu
duncan@ctt.bellcore.com
etj90@ecs.soton.ac.uk
fwb@pollux.siemens.com
G.Joly@cs.ucl.ac.uk
haney@cs.uiuc.edu
heymann@cns.SanDiego.NCR.COM
johnson@cs.uiuc.edu
joshua@Atherton.COM
kung@evax.uta.edu
mcgregor@hemlock.Atherton.COM
mep@inmet.inmet.com
naz@hasler.ascom.ch
newbery@ira.uka.de
paulA@minster.york.ac.uk
rhaar@albert.cs.gmr.com
soi!vax!chip@uu.psi.com
vavra@s5000.RSVL.UNISYS.COM
wdl1!spl27.spl.loral.com!pcg@SGI.COM
weide@cis.ohio-state.edu
wheeler@IDA.ORG
-- 
Sjaak Brinkkemper                Organizational Computing Lab
MSIS, CBA 5.202                  University of Texas, Austin, TX 78712, USA
sjbr@emx.utexas.edu              tel.: +1.512.471.8879 / +1.512.892.1423