diff --git a/index.html b/index.html
index d5b4e2d..a8174ed 100644
--- a/index.html
+++ b/index.html
@@ -1,12 +1,15 @@
-
+
+
+
-
-
-UMLGraph - Declarative Drawing of UML diagrams
-
-
+
+UMLGraph - Declarative Drawing of UML diagrams
+
+
-UMLGraph dds
+UMLGraph dds
UMLGraph - Declarative Drawing of UML diagrams
UMLGraph allows the declarative specification and drawing of
@@ -19,7 +22,7 @@ a
Graphviz
diagram specification that can be automatically processed to
create Postscript, GIF, SVG, JPEG, fig, or Framemaker drawings.
-
+
The following is an example of a specification and the resulting UML
diagram:
@@ -34,20 +37,23 @@ class Employee extends Person {}
class Client extends Person {}
-
- |
-
+
+
+
See also
@@ -73,7 +79,7 @@ In theory you can also use UMLGraph to reverse engineer existing
Java code.
Note however that UMLGraph is not designed for this purpose;
the resulting graphs may be large and unwieldy.
-
+
UMLGraph is implemented as a javadoc doclet (a program satisfying the
doclet API that specifies the content and format of the output
generated by the javadoc tool).
@@ -108,24 +114,40 @@ or adjusting the UMLGraph output.
UMLGraph allows you to model
- classes (specified as Java classes)
+
- attributes (specified as Java fields)
+
- operations (specified as Java methods)
+
- stereotypes (using the
@stereotype name tag)
+
- tagged values (using the
@tagvalue name value tag)
+
- implementation relationships (specified using the Java
implements declaration)
+
- generalization relationships (specified using the Java
extends declaration or (for multiple inheritance) the javadoc @extends tag)
+
- association relationships (specified using the javadoc
@assoc tag)
+
- navigatable (directed) association relationships (specified using the javadoc
@navassoc tag)
+
- aggregation relationships (specified using the javadoc
@has tag)
+
- composition relationships (specified using the javadoc
@composed tag)
+
- dependency relationships (specified using the javadoc
@depend tag)
+
All relationship tags appart from @extends take four arguments:
- The source adornments (role, multiplicity, and visibility)
+
- The relationship name
+
- The target adornments (role, multiplicity, and visibility)
+
- The target class
+
Arguments can be space-separated, or enclosed in quotes if they
need to contain the space character.
@@ -156,42 +178,61 @@ class Body {}
class Car {}
-
-
+
+ |
Program Options
A number of command-line options contol the operation of UMLGraph:
-- -output
- Specify the output file name (default
graph.dot).
- - -qualify
- Produce fully-qualified class names.
-
- -horizontal
- Layout the graph in the horizontal direction.
-
- -attributes
- Show class attributes (Java fields)
-
- -operations
- Show class operations (Java methods)
-
- -visibility
- Adorn class elements according to their
+
- -output
- Specify the output file name (default
graph.dot).
+
+- -qualify
- Produce fully-qualified class names.
+
+- -horizontal
- Layout the graph in the horizontal direction.
+
+- -attributes
- Show class attributes (Java fields)
+
+- -operations
- Show class operations (Java methods)
+
+- -visibility
- Adorn class elements according to their
visibility (private, public, protected)
-
- -types
- Add type information to attributes and operations
-
- -all
- Same as
+
+- -types
- Add type information to attributes and operations
+
+- -all
- Same as
-attributes
-operations
-visibility
-types
- - -nodefillcolor
- Specify the color to use to fill the shapes.
-
- -nodefontname
- Specify the font name to use inside nodes.
-
- -nodefontabstractname
- Specify the font name to use
+
+- -nodefillcolor
- Specify the color to use to fill the shapes.
+
+- -nodefontname
- Specify the font name to use inside nodes.
+
+- -nodefontabstractname
- Specify the font name to use
inside abstract class nodes.
-
- -nodefontsize
- Specify the font size to use inside nodes.
-
- -nodefontcolor
- Specify the font color to use inside nodes.
-
- -edgefontname
- Specify the font name to use for edge labels.
-
- -edgefontsize
- Specify the font size to use for edge labels.
-
- -edgefontcolor
- Specify the font color to use for edge labels.
-
- -edgecolor
- Specify the color for drawing edges.
-
- -bgcolor
- Specify the graph's background color.
-
- -hide
- Specify entities to hide from the graph.
+
+- -nodefontsize
- Specify the font size to use inside nodes.
+
+- -nodefontcolor
- Specify the font color to use inside nodes.
+
+- -edgefontname
- Specify the font name to use for edge labels.
+
+- -edgefontsize
- Specify the font size to use for edge labels.
+
+- -edgefontcolor
- Specify the font color to use for edge labels.
+
+- -edgecolor
- Specify the color for drawing edges.
+
+- -bgcolor
- Specify the graph's background color.
+
+- -hide
- Specify entities to hide from the graph.
Matching is done against the end of each entity's name.
For instance, "
-hide Widget" would hide "com.foo.widgets.Widget" and
"com.foo.widgets.BigWidget".
+
-
+
All colors can be either a symbolic name (e.g. blue),
a tripple specifying hue-saturation-brightness as values 0-1
(e.g. ".13 0.9 1"),
@@ -199,11 +240,11 @@ or a tripple specifying red-green-blue values as hexadecimal
digits prefixed by a # (e.g. "#ff8020").
The symbolic color names are derived from the X Windows System;
you can find a complete list in the Graphviz documentation.
-
+
Font names are passed directly to the dot graph generation back-end.
In general the Postcript standard names Times, Helvetica, Courier, and
Symbol are safe to use.
-
+
Since the options are really a part of the generated graph you
want in many cases to include them in the diagram specification.
You can do that by adding javadoc @opt tags in front
@@ -227,36 +268,45 @@ UMLGraph is hereby made freely available as Open Source Software.
You can download it in source and compiled format from the following links:
Version History
-- Version 1.24 2003/07/30
-
+
- Version 1.24 2003/07/30
-
Changes by Art Hampton (thanks):
- Create the appropriate label for relationship tags when referring to
classes which were not parsed by javadoc.
+
- New "-hide <matchstring>" option, where <matchstring>
matches the end of the name of an entity.
Matched entities are removed from the graph.
A regular expression matching facility will be added when Java 1.4
becomes more widespread.
+
- - Version 1.23 2003/05/7
-
+
+- Version 1.23 2003/05/7
-
Added
-output command-line option, and an ant-based
build file.
Modified the dot output to avoid triggering a graphviz bug that made escape codes visible.
- - Version 1.20 2003/04/25
-
+
+- Version 1.20 2003/04/25
-
Fixes by Nick Efthymiou (thanks):
will generate SVG hyperlinks to Javadoc documentation,
better handling of abstract class fonts,
and correct listing of interfaces.
-
- Version 1.19 2002/09/20
-
+
+- Version 1.19 2002/09/20
-
New options:
nodefontname,
nodefontabstractname,
@@ -268,15 +318,22 @@ edgefontcolor,
edgecolor,
bgcolor.
-
- Version 1.18 2002/08/26
-
+
+- Version 1.18 2002/08/26
-
- Can now specify class-local options.
+
- Support for the @tagvalue tag.
+
- Support for the @stereotype tag.
+
- Added nodefillcolor option.
+
- - Version 1.15 2002/07/26
- First public release.
+
+- Version 1.15 2002/07/26
- First public release.
+
More Examples
@@ -313,8 +370,8 @@ class CheckingAccount extends BankAccount {}
class SavingsAccount extends BankAccount {}
-
-
+
+ |
Download the declarative specification, the generated dot code.
Advanced Relationships
@@ -348,7 +405,7 @@ class SetTopController implements URLStreamHandler {
void connect() {}
}
-/** @depend - - SetTopController */
+/** @depend - <friend> - SetTopController */
class ChannelIterator {}
interface URLStreamHandler {
@@ -359,8 +416,8 @@ interface URLStreamHandler {
}
-
- |
+
+
Download the declarative specification, the generated dot code.
Schema
@@ -437,8 +494,8 @@ class Instructor {
}
-
- |
+
+
Download the declarative specification, the generated dot code.
Element Visibility
@@ -471,8 +528,8 @@ class Toolbar {
}
-
- |
+
+
Download the declarative specification, the generated dot code.
Association Types
@@ -496,8 +553,8 @@ class User{}
class Password{}
-
- |
+
+
Download the declarative specification, the generated dot code.
Real Example (Catalina Classes)
@@ -526,7 +583,7 @@ class ResponseFacade implements ServletResponse {}
abstract interface ServletResponse {}
abstract interface Response {}
-
+
Download the declarative specification, the generated dot code.
Class Stereotypes and Tagged Values
@@ -564,8 +621,8 @@ class ActionQueue {
}
-
- |
+
+
Download the declarative specification, the generated dot code.
Colors, Global and Local Options
@@ -609,18 +666,26 @@ class Blue {}
class ColorValue{}
-
- |
+
+
Download the declarative specification, the generated dot code.
-
+
Diomidis Spinellis home page
-
-
-$Id$
-(C) Copyright 2002-2003 Diomidis D. Spinellis.
+
+
+
+
+
+ |
+
+(C) Copyright 2002-2003 D. Spinellis.
May be freely uploaded by WWW viewers and similar programs.
All other rights reserved.
+
+Last modified: $Date$
-
-
+ |
+
+
+