There are also a few other open-source, DSL-based approaches.
The first one (and the one I d recommend) is mscgen.
mscgen feels like graphviz for sequence diagrams... right down to being supported out of the box by Doxygen and having integration plugins for Sphinx, AsciiDoc, LaTeX, Org-Mode, TWiki, and JIRA)
It s available in the Debian, Ubuntu, Fedora, openSUSE, Gentoo, Archlinux AUR, FreeBSD FreshPorts, Macports, Homebrew, and Cygwin repositories and Windows binaries are available from the author s website.
There s also mscgen_js, a GPLv3-licensed JavaScript port that claims perfect compatibility with the syntax of the C version in either direction. (It accepts everything mscgen does and, if you want incompatible language extensions, you have to opt into their Xù dialect.)
...plus, mscgen_js supports taking a JSON-encoded AST as input or a language named MsGenny which is to mscgen as Markdown is to HTML and provides genny2msc.js
and msc2genny.js
scripts for manual conversion)
The second one is called msc-generator and I m not sure if it has any relationship to mscgen. The syntax is similar but appears subtly different and it has an optional editor GUI. However, it does claim command-line compatibility with mscgen for the purposes of piggybacking on its integration plugins.
It doesn t seem to be in anywhere near as many repositories, but I discovered it via the Archlinux AUR and it has a Windows binary installer.
The last one is UMLGraph. It has a less elegant syntax based on GNU pic2plot macros. (But it can also draw class diagrams using a mix of Java syntax and javadoc tags, if that s your thing.)
UMLGraph is a javadoc doclet, so no compilation is necessary, but it does require javadoc and graphviz. There exist Fedora and openSUSE RPMs but I couldn t find any .deb
s.