August, 1996
anemone, pre-alpha release
Anemone was originally written as a tool for drawing graphs,
butit is currently evolving into a network visualization tool.
its primary features of interest are the abilities to: (1)
zoom in to desired level of detail; and
(2) interactively place/move nodes.
anemone has been generally useful
but still needs a lot of work. but its utility
in the suit of CAIDA network drawing tools
(http://www.nlanr.net/Ndtools/)
compels us to release it now, in hopes of
getting feedback and suggestions for its
intended release.
Anemone is public domain. forgive the three sets of copyrights...all
of them basically specify that you can use, change, and redistribute
anemone for whatever purposes you desire.
as usual, examples, suggestions and patches are welcome.
Eric Hoffman
hoffman@ipsilon.com
Anemone uses a startup file to keep node positions in between runs.
While this can be useful when running data sets through anemone
which in you want to keep the same positions (such as an animation),
it's generally clumsy.
future releases of anemone will have a more 'editor' like function,
where multiple networks can be loaded and saved.
- -startup filename
- override the compiled-in startup default
- -ps
- write a postscript file on standard out with the top level transform
given the first snapcommand or the implicit snap at the
end of reading standard input
- -x [display]
- bring up an X display (the default) with the optional display string
- -load filename
- load skip commands from filename
- -sync_load filnename
- load skip commands from filename, but block until the file
read is finshed. by default anemone interleaves loads from seperate
files as well as user input.
- -xoff float
- set the world-to-display global translation on the x axis
- -yoff float
- set the world-to-display global translation on the y axis
- -xscale float
- set the world-to-display global scale on the x axis
- -yscale float
- set the world-to-display global scale on the y axis
- -ndt
- read ndt format from standard in instead of skip commands
- -font x-font-name
- specify font (used for buttons and labels both)
- -connect host service
- create a TCP connection to the given host at the given
service/port. This connection will have a 'skip' interpreter
session associated with it (see below).
Anemone uses an interpreted language
node_position_file filename
node nodename
edge fromnode tonode edgename
edgename can be {}
background_line color width {
x y
...
}
edge_property edge propname propval
node_property node propname propval
autosize
sleep interval
xscale float
yscale float
group parent something ...
snap
node_hint nodename x y shape width height
load filename
sync filename
load_ndt filename
interactive buttons:
several of these actually don't do anything useful right now
- postscript
- saves out a postscript in the current view
- save startup
- save the current startup file. it used to do this after every
mouse release, but this proved to be unfortunate
- autoplace
- turn on autoplace. selected nodes will try and place themselves
- autosize
- place full graph so as to fill the maximal screen area without
changing aspect
work in progress:
- editor like semantics
- dynamic panes for multiple graph displays and text display/entry
- some decent interaction method for calling ndttools and generators
from inside anemone
- decent edge-labels and interface-labels
- a better internal newtonian interactive placement heuristic
- upgraded postscript support that deals with shapes
- re-integration of the SNMP support from Vince.
- re-integration of the chart display for real-time statistics.
- allow specification of different fonts for different purposes
things it's never going to do:
- have bitmapped icons for nodes
- have pseudo-nodes in edges (required by some layout algorithms)