PlantUML.
http://plantuml.sourceforge.net/sequence.html
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