Diagramming message contexts (and other things)
Brent Putman
putmanb at georgetown.edu
Wed Feb 27 18:27:52 EST 2013
In the vein of "a picture is worth a thousand words", I was looking for
some way to quickly and easily illustrate what a given message context
hierarchy for a particular use case or flow would look like. The main
goal is to make it easier to visualize and discuss and say things like
"oh this doesn't belong here, it belongs over there". And without the
tedium of doing them by hand in Word, etc, hopefully using some kind of
declarative language or graph-specific DSL.
What I found so far was Graphviz [1]. I thought it looked and sounded
familiar, and realized that it's what Doxygen uses to do graphical class
diagrams, etc, which I remember from ages ago when I helped Scott with
some of the C++ OpenSAML stuff. It's very mature, came I think from IBM
starting in the 80's, and there's lots of tools, editors and libraries
that support it and the DOT language it uses [2].
Attached is an example of a very simple DOT language file (just ASCII
text) and a PNG produced with the 'dot' program. (Ignore the specifics
of the actual contexts, I was just playing around). It takes only
seconds to switch things around and regenerate a diagram, so it's pretty
much what I was looking for. There's a plethora of options for layout,
formatting (including HTML), and including linking nodes to actual
clickable URL's (like the actual classes in SVN ViewVC), if the output
format supports it. It also easily does directed graphs/edges, just use
keyword 'digraph', and '->' instead of '--' in the edge definitions.
I just wanted to float the idea of using this at least initially for
communicating design discussions and decisions. It might also possibly
be useful for actually officially documenting things later, for example
putting a DOT file in the source tree to indicate "this is what the
emergent context hierarchy will look like in this flow". Comments are
welcome.
It may also have some applicability for quickly generating
visualizations of Webflow flows, if there isn't something better that is
native to Webflow. I think Scott mentioned wanting something like this
at the F2F. Haven't looked let, but I was wondering if there was perhaps
a tool that would take as input a Webflow flow definition file, parse it
and generate a DOT language output, which could then be rendered.
There is apparently also a Graphviz Confluence plugin [3], which seems
to do some cool stuff. I saw in there that they actually have macros
for doing flowcharts, which might work for easily documenting Webflows.
It's commercial, though, and a bit pricey.
If anyone knows of a similar and/or better tool for this kind of thing,
please let me know.
--Brent
[1] http://www.graphviz.org
[2] http://en.wikipedia.org/wiki/DOT_language
[3]
https://marketplace.atlassian.com/plugins/com.atlassian.confluence.extra.graphviz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: saml2sso.gv
Type: text/vnd.graphviz
Size: 1019 bytes
Desc: not available
Url : http://shibboleth.net/pipermail/dev/attachments/20130227/ac806590/attachment-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: saml2sso.png
Type: image/png
Size: 42229 bytes
Desc: not available
Url : http://shibboleth.net/pipermail/dev/attachments/20130227/ac806590/attachment-0001.png
More information about the dev
mailing list