Don't waste your afternoon drawing UML Sequence Diagrams. Just enter the
description here, and click "draw". The SD/MSC Generator is an easy
alternative to using mouse-centric tools like Microsoft Visio.
News
April 8, 2008: Please try the "Download as PDF" option.
For your confidentiality, all images and MSC descriptions are
deleted after they have been served.
If you like this tool, please spread the word by linking to or
blogging about this page!
About the Generator
The SD Generator was created by Steve Hanov,
who does not like using Microsoft Visio. Comments or suggestions are
appreciated.
Planned features
- Place notes and other sequences beside eachother.
- Automatic object activation.
- Fix activation pagination.
- "Save" and "Open" buttons.
- Concurrent events, messages that take time to arrive (slanted lines)
- Scalable vector output
Simple signals
Draw a signal from one participant to another like this:
Alice->Bob: Authentication Request
Bob-->Alice: Authentication Response
The participants are automatically created when they are used. Use the "-->"
syntax to draw a dotted line.
Changing the order of participants
If you want to participants to be shown in a different order than they are
used, declare them first using the participant
keyword. You can also rename them this way to save typing.
participant Bob
participant Alice
participant "I have a really\nlong name" as L
Alice->Bob: Authentication Request
Bob->Alice: Authentication Response
Bob->L: Log transaction
Signal to Self
A participant can send a signal to itself. This will result in
an arrow that turns back on itself.
You may break the text into multiple lines by using "\n".
Alice->Alice: This is a signal to self.\\nIt also demonstrates \\nmultiline \\ntext.
Grouping signals together
You can group signals together using the alt/else,
opt, and loop keywords. All
of them can take a text description that will be displayed in the group header.
Use the end keyword to signal the end of a group. The groups may
be nested to any depth.
Alice->Bob: Authentication Request
alt successful case
Bob->Alice: Authentication Accepted
else some kind of failure
Bob->Alice: Authentication Failure
opt
loop 1000 times
Alice->Bob: DNS Attack
end
end
else Another type of failure
Bob->Alice: Please repeat
end
Notes in the diagram
You can add notes to your diagram. Notes can be placed to the left of a
participant or to the right of a participant. In addition, you can centre a
note over one or more participants.
If a note contains more than one line, it will be not be word-wrapped.
Instead, it will be formatted exactly as written.
entity Alice
entity Bob
note left of Alice
This is displayed
left of Alice.
end note
note right of Alice: This is displayed right of Alice.
note over Alice: This is displayed over Alice.
note over Alice, Bob: This is displayed over Bob and Alice.
Lifeline Activation and Destruction
Use the activate and deactivate keywords to denote
object activation. While activated, the participant's lifeline will be
highlighted. The activate/deactivate keywords will apply to the previous
signal.
You can use the destroy keyword to destroy a participant. The
participant's lifeline will end at the previous signal.
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