Overview ->
Questions & Answers
- Online
Documentation
Questions & Answers
Overview:
- Availability:
- License:
- System Features:
- Graph Layout:
- External Graph Format:
- Application Programmer Interface (API):
- Graph Editor Application:
- Problems:
- Online Documentation:
- More Information:
Availability:
- Q: What is the current release of daVinci and where can I get it?
-
A:
The current release is daVinci V2.0. Informations about
downloading daVinci
by ftp can be found in the online documentation.
- Q: Is daVinci available for MS-Windows?
-
A:
No, not at the moment. Although the daVinci V2.0 user interface is
implemented in Tcl/Tk, which is also available for Microsoft Windows 95 and NT,
some parts of the source code are not portable per se (e.g. the highly optimized
drawing engine, which is based on Xlib, and the API currently implemented with UNIX
pipes). Because of limited resources it is not possible for the daVinci
project to go ahead with a MS-Windows port at the moment. Further the port cannot
be done by a third party due to the need of fundamental modifications in the
daVinci kernel.
- Q: Can I have the sources of daVinci?
-
A:
Sorry but only the binary of daVinci is public available.
First of all the system is written in the pure functional language ASpecT
which is automatically translated to C. The generated C-code is more or less unreadable
for a human being and functional languages are not yet mainstream whereby the ASpecT
language is almost unknown for people outside University of Bremen. So the sources
are of minor use for most programmers. Second, the daVinci project would
like to keep the sources for a potential commercial exploitation of the
daVinci software in the future.
- Q: Where can I get daVinci for my UNIX brand?
-
A:
There are distributions available for all major UNIX platforms. Check the
online documentation for details about
downloading daVinci.
If you miss support for a particular UNIX operating system and have some time,
then maybe you can help yourself and other people by doing the port on your own.
All you have to do is
asking the daVinci developers
for the compilation scripts. The only requirement for the port is that a C-compiler
(gcc prefered) and Tcl7.4/Tk4.0 is installed on your computer.
- Q: Your ftp-server is too slow. Are there any mirrors?
-
A:
You can try the US mirror
(ftp://ftp.wustl.edu/graphics/graphics/packages/daVinci)
if transmission from University of Bremen
(ftp://ftp.uni-bremen.de/pub/graphics/daVinci),
the primary server for daVinci,
is too slow. There are even more mirrors, but it may take some time to see a new
release there. So check if the release is up-to-date. You can find more mirror server
by using the xarchie tool which may be installed on your computer
(ask your system administrator if not).
License:
- Q: We are a company. Do we have to pay for a commercial license?
-
A:
This depends on what you want to do. daVinci is licensed free of charge for
non-profit use (refer to the
license).
So companies and other institutions can use the software for free
for these kinds of application, e.g. to develop internally used software which is
never given to customers (customers are people who pay a company or institution
for their products or service). Bundling daVinci with other freeware
software packages (which are available for no cost) is also considered as non-profit
use.
But if daVinci is used for developing commercial software (which is not
given for free to a third party), or if print-outs of daVinci graphs
are presented to customers (e.g. for prototypes or advertising) or if
daVinci is bundled with non-free software, then a commercial license is
required. Please
write an e-mail
to the daVinci project to get the conditions of a commercial license.
System Features:
- Q: Does daVinci allow manipulation of a graph?
-
A:
Yes and no. There are a lot of interactive functions in daVinci to
manipulate the visualization of a graph, e.g. scaling, abstractions,
fine-tuning, etc. But there is no way to directly manipulate the structure
of a graph, so daVinci is not a graph editor. This is one of the fundamental
concepts of daVinci to be as generic as possible.
The structure of a graph has to be controlled by an external application program
which can be connected to the daVinci
API.
One application program, bundled with each distribution, is the
graph editor which allows you to interactively edit a graph which is currently
visualized with daVinci (e.g. by adding and removing nodes and edges).
Informations
about the graph editor
can be found in the online documentation.
Graph Layout:
- Q: Is it possible to draw cyclic graphs?
-
A:
Yes, although the graph layout is hierarchical in daVinci, the
system is also able to handle cyclic graphs.
- Q: How can I get edge labels?
-
A:
Sorry, but edge labels (i.e. a text next to an edge in the visualization) are
currently not supported. The daVinci project knows about the strong user
demand for edge labels, but this feature requires fundamental modifications to the
layout engine which is not possible with the current development resources. Edge
labels are still on the list for a future version of the daVinci system.
At the moment there is a sufficient
work-around for edge labels
(by using graphical object "text") which is described in the online
documentation.
- Q: Are nested graphs (i.e. a graph node is another graph, etc.) supported?
-
A:
No, not at the moment. This is also a feature scheduled for one of the next versions,
but do not expect this in the very next future.
External Graph Format:
- Q: Can I use two sets of nodes and edges instead of the term representation?
-
A:
The
term representation
is the only graph format currently supported by daVinci, so it is not
directly possible to declare the nodes first and then the edges (or vice versa).
For a work-around, you can use the
API
of daVinci V2.0 which has a command
graph(update(...))
for updating an already loaded graph. Graph updates are nodes and edges that should
be added or removed. So first you have to remove a probably loaded graph
by sending API-command
menu(file(new))
and then you can send the new graph by specifying its node and edges in the format
of the graph(update(...)) command.
- Q: Is it possible to load a graph in adjacency matrix format?
-
A:
The
term representation
is the only graph format currently supported by daVinci, so it is not
possible to load a graph in adjacency matrix format. A converter from matrix to
term representation format is not extremely difficult (a great exercise for students
:-), so maybe some daVinci user is interested to write such a tool. Please
inform the daVinci project by
e-mail
in this case.
Application Programmer Interface (API):
- Q: Can I connect daVinci and my program written in XXX by using the API??
-
A:
daVinci has an application programmer interface (API) which is independent
from a particular programming language. The communication between a connected
application and daVinci is done via UNIX pipes. Refer to the
API reference
in the online documentation for details.
- Q: Is it possible to construct graphs directly from a program written in XXX?
-
A:
First you have to connect your application program to the daVinci API.
This is described in the
API reference.
Then your application has to construct the graph in
term representation
format and send it to daVinci for visualization by using API-command
graph(new(...)).
Graph Editor Application:
- Q: Can I insert self edges with the graph editor?
-
A:
No, the graph editor does not support self-edges, because daVinci
does not support selection of self-edges at the moment (selection
would be ambigous in case of multi-self-edges).
You have to insert them manually. Save the graph and use the formatterm
tool before loading it in your favorit texteditor. Inserting some
missing self-edges by hand is not very difficult (and not elegant either). :-(
Problems:
- Q: I always get a core dump after starting daVinci. What is going wrong?
-
A:
First of all, make sure that you are using the right binary for the operating system you
currently use. For example, there are different binaries for IBM AIX 3.x and 4.x,
whereby the 4.x binary may crash on AIX 3.x and vice versa. You can test a binary
with the standard file command to see if it is recognized by your platform.
Test the daVinci binary and some other binary (where you are sure that it
works) with file to see if both outputs match.
Otherwise you might have found a bug in daVinci. Please contact the
developers by
e-mail
and describe your problem and your configuration in detail to get help.
- Q: daVinci crashes with "X Error: Bad alloc". What can I do?
-
A:
Either you are working with extremely large graphs or your computer has not enough
memory. The error comes from the X-client which was not able to allocate memory
for a new pixmap. Try to reduce memory consumption by starting daVinci with
option -nocache or setting
this option in the general settings dialog.
- Q: I get an error "Tk: can't read "tk_version": no such variable"
after starting daVinci.
-
A:
You have probably started daVinci remote on another computer without setting
the DISPLAY environment variable there. DISPLAY has to be set on the remote computer
to point to the X-Window display where you want to see the output. For example if you
are sitting in front of computer bloodyslow and want to start daVinci
remote on server fastaslightning then in a csh (setting variables may vary in
other UNIX shells) you have to do the following procedure:
% xhost fastaslightning
fastaslightning being added to access control list
% rlogin fastaslightning
... (login messages from fastaslightning)
% setenv DISPLAY bloodyslow:0
% daVinci
You can also use an option to let daVinci redirect the display:
% daVinci -display bloodyslow:0
Online Documentation:
- Q: I need to print a paper version of the documentation. Is it available?
-
A:
The HTML online documentation of daVinci V2.0 is written as a hypertext.
For example terms are not defined at first occurance, they are hyperlinks to the place
where the term is described in detail. So it is very difficult and inconvenient
to read this text in a linear manner on paper. It is strongly recommended
to read it online with a WWW browser such as Netscape Navigator.
For the people who must have this fight: a PostScript version of the daVinci
V2.0 online documentation is available by ftp:
ftp://ftp.uni-bremen.de/pub/graphics/daVinci/papers/daVinci_V2_doc_in_ps.tar.gz.
(178 pages, 610kB compressed, 13MB after decompression!)
More Information:
- Q: Are any papers available about daVinci?
-
A:
See [FM94b] and [FW95] in the
daVinci bibliography.
Both papers are available by ftp, the URL's can be found in the bibliography.
You can also cite the daVinci online documentation which has URL
http://www.informatik.uni-bremen.de/~davinci/docs
- Q: Is there a mailing list?
-
A:
Yes, you can subscribe or unsubscribe to the mailing list by sending an
e-mail
to the daVinci developers. At the first use daVinci will
automatically ask the user to subscribe to the mailing list, so usually there is no
need to do this manually.
- Q: Where can I find a paper about the layout algorithm(s) used in daVinci?
-
A:
The graph layout algorithms implemented in daVinci are described in the
concepts document
of the online documentation. The original papers where the algorithms are described
are [STT81] (for graph layout) and [Juu94] (for tree layout), refer to the
daVinci bibliography
which is part of the online documentation. Note that both algorithms have been
slightly improved in daVinci.
daVinci V2.0 Online Documentation - Page update: Jul 3, 1996