I'm looking for an easy language/command line utility to draw sequence and timing diagrams (could be 2 different tools). I've already found Mscgen for sequence diagram drawing and looks pretty good, but I'm studying other possibilities.
Another sequence diagram tool is http://sequencediagram.org where it's possible to draw the diagram to generate the script and script to get the diagram at the same time.
So, it's good for large diagrams where you normally lose track of where you are in the script.
PlantUML is used to draw UML diagram, using a simple and human
readable text description.
The generated images can then be used without any reference to the
GPL/LGPL/ASL/EPL/MIT license. It is not even necessary to stipulate
that they have been generated with PlantUML, although this will be
appreciate by PlantUML team.
In my experience it has been easy to use and it produces nice looking diagrams.
I can't recommend it more highly.
Output file types:
-tsvg To generate images using SVG format
-teps To generate images using EPS format
-txmi To generate XMI file for class diagram
-thtml To generate HTML files for class diagram
-ttxt To generate images with ASCII art
-tutxt To generate images with ASCII art using Unicode characters
Here is an example showing how to create a simple sequence diagram.
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
You can also create more detailed diagrams by using lifeline activation and destruction:
@startuml
participant User
User -> A: DoWork
activate A
A -> B: << createRequest >>
activate B
B -> C: DoWork
activate C
C --> B: WorkDone
destroy C
B --> A: RequestCreated
deactivate B
A -> User: Done
deactivate A
@enduml
This answers is maybe not exactly what you had in mind, so let me shortly give a context.
Over the years I've come to appreciate literate programming as a super nice way to write quality software and keep that code comprehensible. Maybe the only way... In any case, sequence diagrams, being visual, nicely complement code and writing. This facilitates understanding.
LaTeX / PGF / pgf-umlsd / noweb
So for this purpose, LaTeX + pgf-umlsd can create very good looking diagrams. They are specified semantically, like most other tools, meaning you say what sequence you what, not how it should look. The program computes the right picture.
creates this picture (of course using the fonts of the rest of your document, etc.):
In the LaTeX source the relevant bits of executable code are just below the diagram,
keeping things together. I use noweb (site, docs) to get the runnable code or the source for the article.
The best software I've found and I usually use to make sequence diagrams from plain text is SDEdit. It's a Java tool, so you can use it in any operating system. And it's free software!
Another sequence diagram tool is http://sequencediagram.org where it's possible to draw the diagram to generate the script and script to get the diagram at the same time.
So, it's good for large diagrams where you normally lose track of where you are in the script.
PlantUML. http://plantuml.sourceforge.net/sequence.html
In my experience it has been easy to use and it produces nice looking diagrams. I can't recommend it more highly.
Output file types:
Here is an example showing how to create a simple sequence diagram.
You can also create more detailed diagrams by using lifeline activation and destruction:
This answers is maybe not exactly what you had in mind, so let me shortly give a context.
Over the years I've come to appreciate literate programming as a super nice way to write quality software and keep that code comprehensible. Maybe the only way... In any case, sequence diagrams, being visual, nicely complement code and writing. This facilitates understanding.
LaTeX / PGF / pgf-umlsd / noweb
So for this purpose, LaTeX + pgf-umlsd can create very good looking diagrams. They are specified semantically, like most other tools, meaning you say what sequence you what, not how it should look. The program computes the right picture.
So this LaTeX code
creates this picture (of course using the fonts of the rest of your document, etc.):
In the LaTeX source the relevant bits of executable code are just below the diagram, keeping things together. I use
noweb
(site, docs) to get the runnable code or the source for the article.HTH.
The best software I've found and I usually use to make sequence diagrams from plain text is SDEdit. It's a Java tool, so you can use it in any operating system. And it's free software!
With this tool, you write the following:
to obtain this:
GenMyModel now supports sequence diagrams.
For sequence diagrams you may also want to look at Visual Paradigm, quite a powerful tool.