Archive for the ‘Diagramming’ Category

yUML – Diagramming with a Difference

I found the yUML online diagramming service while browsing the Atlassian Confluence Blogs.
Unlike the pioneer of diagramming web service providers such as Gliffy, yUML processes the diagram input as part of the URL itself and returns an image file.  I am not sure how many are going to like this given that the URL can become pretty long for large diagrams for which this service is not meant for I guess. Though making it as part of URL avoids having any kind of back-end database, it becomes cumbersome. They also have a stand-alone install to be used within firewalled intranet.

The name yUML confused me initially since it sounds similar to the yWorks Diagramming Tools vendor and it thought it is using their diagram layout engine inside. But I found out that it is using the open source Graphviz instead. The Graphviz syntax has too many graph, node and edge attributes to remember which is hidden to a large extent by the more intuitive yUML syntax. But one disadvantage of that is the lack of flexibility provided by the Graphviz options which is visible in the sample Wiki Conceptual Graph I generated below. It remains to be seen how well one can strike a trade-off between the two extremes given that one is diagramming in a specific context – examples: UML diagrams, Network Diagrams, Organization Charts, Business Process Flows, etc. One should be able to define a DSL for each of these ‘domains’ (or contexts) and hide the nitty-gritty of graphviz node, edge & graph attributes behind the DSL translation.

The PDF does not come out well though, they still have certain things to iron out since it is still in beta version. But I strongly advise that the creators of this tool change the name to something else, to avoid the confusion with yWorks products.

I am not sure where the DSL of yUML is documented – may be not much to document, but here is one more (at least that I know of) textual UML notation in TextUML which is more verbose compared to yUML’s DSL.

Categories: Diagramming