However, there are some drawbacks of using DOT : the computation is done by an external program (dot.exe on Windows, dot on linux), and that means that :
Another way of using DOT would be to use it as a library, and to link it with PlantUML using JNI (Java Native Interface) but that would not be perfect thought.
If a Java version of Graphviz/DOT would exist, this would allow to greatly simplify the installation and the use of PlantUML. So we have started a port from C to Java of GraphViz/DOT source code: see Smetana project
Smetana code has been integrated into PlantUML, so you can use the
!pragma graphviz_dot jdot directive to force PlantUML to use the internal Java port of GraphViz/Dot, instead of the regular dot process.
@startuml !pragma graphviz_dot jdot class Foo1 Foo1 --> Foo2 Foo1 --> Foo3 Foo1 ---> Foo4 : test 4 Foo1 ----> Foo5 : test 5 @enduml
As you can see, some feature are not implemented yet (drawing of arrow heads, for example).
Performance is not very good, but this is only an alpha version.
The key point is that this image has been generated without launching Graphviz/DOT!