this thing rocks!! ..when will i be able to export in SVG/EPS? (preferably in SVG!).. it's a bit tiring to have to "revectorize" the whole diagram in inkscape
thanks, keep it up!.. oh and i added you to "iusethis.com"
I've always wanted to add a function that uses Apache's Batik for SVG export. However, it will be some kind of add-on rather than a part of the core release, because I don't want the Quick Sequence Diagram Editor to be dependent of numerous libraries just for the sake of a single export function.
I think that it would rock if you implement it as a command line tool - which produces an SVG/PNG/image by proceeding stdin or input file.
There will be a new version released soon. It consumes
significantly less memory than old versions, is faster and allows for
the processing of arbitarily huge diagrams.
The feature you requested may well be implemented once the work on that version is done.
Yeah, this editor is realllly great.
There's only one small thing:
You can't send a message after the "//"-comment block without being included in this block. Example:
block start message in the block block end message to send after the block
You know what I mean ? This might be good to be fixed
in the next release.
Thanks a lot for this great piece of software !
Yes, I've never been happy with the comment blocks, and
there should be a better solution sooner or later. Right now, however, I
cannot tell when this will happen.
Until then I suggest, as a workaround, to insert a self message (with possibly no text) right after the comment line. The answer to this message should be sent when the end of the block to be commented is reached. By the way, this "technique" is used in the BFS example.
Hi, the sequence editor is great.
What I'm missing though are asynchronous calls (which do not change the execution context to the callee) and calls on itself
Thanks for the editor,
Please take a look at my notes on asynchronous messages.
I'd like to think that "calls on itself" are supported very well. Except for actors, but actors can do simple actions:
If actors can only send async. messages, then why are there return arrows for those messages?
They are there because earlier versions Quick Sequence Diagram Editor did not support multithreading. The return arrows signalled the end of the synchronous activity started by an actor.
When multithreading is enabled, messages sent by actors are interpreted as messages that spawn threads. So return arrows may seem to make less sense now. Thus, as of version 2.5.5, if the answer to a message sent by an actor is an empty string and "Show answers to actors" is set to 0 in the "Flags" section of the configuration, no such return arrow will appear on the diagram.
Hi, just wanted to thank you for a wonderfully intuitive and massively timesaving application. Keep up the great work!
Very nice tool!
We are currently using it to display test sequences generated by our testing tool. For the moment we generate the syntax needed by the Quick Sequence Diagram Editor (QSDE), and copy-paste it to its window.
It would be great if the QSDE could be started in a server mode such that one can send this syntax to it via a socket, and then the sequence diagram is displayed.
This could be even improved by allowing to send messages one after the other, so that the sequence diagram is piecewise extended. This would allow for real-time diagrams to monitor for instance the testing process.
Thanks for the nice tool! Lars
This feature is included in version 2.6 of Quick Sequence Diagram Editor.
First, thanks for your great tool.
Second, I found an important problem. It doesn't support Chinese! I don't know why, maybe it has something to do with the font. I think Java supports UNICODE, so I hope you could fix it. Thanks very much.
PS. I even hope you could do some class diagram editor or flow chart editor. (All use the same kind of script. What do you think?)
Thank you. I am just a single person. Won't somebody
help me? Let's wait and see, but right now there are no plans for other
UML editors. You can use UMLet for
creating class diagrams from text.
The next version will have a font and encoding configuration. Choosing a font that includes Chinese characters should fix the problem then. It will also support notes (text boxes resembling pieces of papers).
Well, I think this is the greatest graph rendering tool I've seen ever. The idea of having an interactive editor is simply clever. And the output is of great quality.
One bug, though. I downloaded the single .jar file and the export command produces empty files or empty images. No problem with the ZIP archive.
Thank you. The bug will be fixed in the next version.
This tool is very nice. Exactly what I needed to create professional diagrams!
Great tool! I especially like the way the graphics update as I edit the text. Thanks for your efforts on this.
I would like to be able to add a title and maybe a paragraph of descriptive text to appear at the top of the page.
This is a feature that I am missing, too, and that I've always wanted to add. Now it is even a feature that someone else requested, so we can hope that it will be realized soon.
Export to XMI would be a nice addition so that diagrams could be imported into other modeling tools.
Admittedly, this sounds like a nice addition, but I've no idea how to do it. I am afraid it will require big efforts, but will be of little use.
The open-source Xholon modeling and simulation tool will include sdedit when version 0.7 of Xholon is released. It works very well at showing the interactions (asynchronous messages) between objects in a Xholon application.
We have tested it with sdedit-2.8.3-light.jar, which has all the functionality that we require. I can't find a light version with release 2.10.2. It would be great if you could make a light version available with future releases, or have I overlooked something.
Keep up the good work.
I believe that most users favour "all-in-one" files, but there is no reason to not offer a light version. So release 2.10.3 - which fixes only very minor bugs - will also be available in light format (approximately 280 KB) without the export library included. Expect it to be released this week.
Excellent tool! I've never understood why most UML tools force you to place all elements yourself in a sequence diagr am, I only want to describe what happens...not exactly how it looks down to the last pixel (and aligning and rearranging stuff all the time).
This is such a time saver, I wish I had known about this tool before. I immediately showed it to my colleagues and they were very impressed as well.
Thank you. After all, this tool is only one year old, so you have discovered it rather early.
great tool. Thanks!
It would be great to have a simple influence on the time relations (you mentioned this in Todo). A first step might be a possiblity to "close" all open answers before next messages are generated. Together with a separator (like in the fragment section "--some text") this might help to control the timing and clean up some of the diagrams.
This leads to the possiblities: separator (invisible, with optional text) with or without answers to pending messages.
Viele Grüße, Jens
Thank you. As a first approach, it is now possible to "close" all open answers on a given thread (see the "Returning control flow" section on the multithreading page).
Great tool mate, really helping out with some quick analysis.
One thing in particular that would be great would be context assist.
say I have an actor named user
I type u + control + space and it guesses user....?
Automatic completion (triggered by TAB or Ctrl-Shift-Space) is supported by version 2.11.10.
Do you know that your export doesn't work? I'm using Ubuntu Gutsy and Java 6.
Here is a a small dirty script for using your Perl client easier:
#!/bin/bash type=png input=$1 output=$2 java -jar sdedit-2.11.11.jar -s 62015 & dia_pid=$! sleep 2; perl sd-client.pl $type $input $output sleep 1; kill $dia_pidAnyway, great work.
Version 2.11.12 offers a working export again.
I have written the Perl script because I wanted to provide a command line tool that does not start the Java Virtual Machine on each invocation.
first thing i want to say: Your tool is really great. Keep working on it!
Here are my thoughts, i like to share with you:
- Perhaps it is already planned for further versions. Would it be possible to add a "export all" function so that i can generate PDF-files and PNG-files with just one click?
- It would also be nice if the whole application would have an integrated explorer on the left. So that i can eassily open the sdx-files on the left.
- A nice idea, even though all export files must be configured in the same way then (no problem for PNG images, of course).
- Can you or anybody else give me a hint where to find a decent file explorer component written in Java, published under the terms of the the LGPL, BSD, Apache or a similar license?
Hi! Wonderful software!
A question, please.
How can I make an object become inactive?
Sometimes an object remains active even if I don't want it to. An example:
Mittente:Agente p "Agente Mittente" Circuito:Circuito p "Circuito" Destinatario:Agente p "Agente Destinatario" Mittente:Fornisce Autorizzazione se OK da Mittente e Destinatario=Circuito[a].Richiede Autorizzazione(IDA, IDT, PANM, PAND, IO, ID) Circuito[a]:Fornisce Autorizzazione=Destinatario.Richiede Autorizzazione (IDA, PAND, IO, ID) Circuito[a]:Fornisce Autorizzazione=Mittente.Richiede Autorizzazione (PANM, IO, ID)If I add another message to the diagram, it appears before the first message answer.
You do not provide information about which object should send another message. So I can only guess it is "Mittente". This object has yet to answer to the message received from "Circuito". If you add "" after "Mittente" in the description of the next message, it means that "Mittente" will send one (1) answer before the message. This is probably what you want!?
I see someone else had a similar problem to mine: inputting in Japanese works fine, but once I save and reload a file all the Japanese characters are replaced by the UTF8 byte sequences encoded in ASCII. I managed to fix it, and there's only one change needed:
In net.sf.sdedit.editor.DiagramLoader.java, change line 99 from:
The problem is that String.getBytes() encodes by
default in UCS16, while the InputStreamReader created in
DocUtil.readDocument still expects UTF8. So just changing the
String.getBytes call to specify UTF8 as the encodes fixes the problem.
This should fix any problems with loading files with non-ASCII
I really love this tool, by the way!
In the next minor release (3.0.3) this will be changed.
Thank you for you efforts on fixing this subtle bug!
I love your sequence diagram editor, the syntax is so easy and straightforward! There is one thing I find lacking though. The ability to generate "found messages". Messages that come from an external object is useful to indicate what message triggered the sequence. Any plans to add that feature? Or does SD editor already do that?
Keep up the great work!
Version 3.0.3 allows to declare external processes (process ("p") objects with the "e"-flag set). Internally, they are not much more than process objects that are invisible. They can be placed at any position. This should be sufficient to have "found" messages. See also the "Ticket order" example of this new version.
When I want to specify a broadcast message, but it happens that the callees' list starts with a ',', for example:
a ClassCastException will be thrown.
Although such a list of callees does not make sense, this bug should be fixed. It will not be present anymore when the next version is released.
One question - if you define a synchronous call onto the same component and then have more, subsequent calls to other component, it looks like the termination of the call onto the same component is after the return of the calls to the other components - is this expected behaviour?
Yes. If you want the call to the same component to be terminated before, the first of the calls to the other components should have level 1: caller:other.call
In about an hour I wrote a trac plugin that lets me embed sequence diagrams in my wiki.
Otherwise, a great help for making good diagrams.
Sorry, I cannot reproduce this bug. What platform do you use?
How to create several instances of the same object? I try something like, but it does not work:
driver:drv o:inst_1 o:inst_2 o:inst_3 drv:inst_1.new() drv:inst_2.new() drv:inst_3.new() drv:inst_2.destroy() drv:inst_1.destroy() drv:inst_3.destroy()In C++ language should be
obj A, B, C; A = new obj(); B = new obj(); C = new obj(); ... delete B; delete A; delete C;
Instance is just another word for object, so it does not make sense to create several instances of an object. You can create several instances of a class, say "inst". So write o1:inst, o2:inst and so forth.
One question: When an object messages self, and then subsequently messages other objects, these get called from inside the self call. How to exit from the self call?
obj1:objType1 obj2:objType2 obj3:objType3 obj1:obj1.self obj1:obj2.call1 obj1:obj2.call2 obj1:obj3.call1Is it possible to have obj1:obj3.call1 outside obj1:obj1.self?
Very nice application, very well done, kudos. This has brought down my time to make a quick sequence diagram from hours to minutes.
A couple of small things I have ran into:
- How can I create a ref frame over several live lines without the frame containing any messages. If I leave the box empty I get a "there is a no open comment" warning. Also in that case objects not involved in the detailed diagram should have their live lines drawn on top off the frame. Maybe something like: [r:obj1:obj3:obj4 Reference name]
- How can I control the activity of messages to self. It seems that currently any message to self will be active until the end, which is not what is wanted for consecutive messages to self for instance.
- Object creation is hard-coded to new... it would be nice to be
able to specify different messages as constructors.
And related to that a feature request:
It would be nice to be able to use flags on messages in a similar way as for Objects. for instance [c] for a constructor [a] for an asynchronous message [s] for a signal etc.
Some good questions, little time to answer now...
Thanks for a nice tool.
I suppose I have an interesting thing for you - I've implemented a small javaagent for generating SDEdit text directly from application runtime.
If you wish, you can take a look here: jtracert.googlecode.com
It's still a early alpha version, but already working however. It would be interesting to know, what do you thing about this approach? Perhaps we could collaborate...
Best regards, Dmitry
I really like your editor. It's damn smart and so simple in use. Better than every drag&drop tool. Thanks for that.
One thing I can't produce with your editor, but which I'm really interested in, is using a ref-fragment as a gate. You can find an example here at an ibm site searching for "uml sequence diagram fragment" on google
Does this exists already? Is there a special order of messages and elements to produce gates?
kind regards, Joern
Hi -- I'm *dying* to use this nifty tool! I've installed jre-6u6-linux-i586 on my Linux Fedora Core 8 machine. The sdedit IDE fires up, and creates the diagram given in the example, but when I try to print it, I get this error message: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Data type is not supported. at java.awt.image.Raster.createInterleavedRaster(Raster.java:212)
Any suggestions? And thanks for such a great tool!
No idea, on Debian Linux it runs very well.
I just wanted to thank you for this wonderful tool.
It will really be nice to get this tool to export OLE so that we can integrate it better inside a word document.
Too bad that Sun and Microsoft decided not to corporate with each other...
good job with the viewer. I was just wondering if it's possible to have a lifeline that can send self-messages, but does not display the return messages. Or if the return messages can be simply made optional.
Try spawing messages suffixed with an &. This only works when multithreading is enabled. Version 3.0.5 allows to hide return arrows when there is no answer text (see "Show dashed lines for return messages with no text" in the "Messages" section of the preferences).
Very well done. It would be great if the tool could be use by Doxygen.
Thank you for this excellent program. Drastically easy to work in rather then any other UML tool I have ever used. Two small improvements I could suggest, Alt+Tab to navigate between open diagrams, and better scroll wheel support in the entry area. (Currently it is around 1/8 of a line per movement of the wheel, on Windows Server 2003). Once again thanks for the excellent product.
I, using KDE on Linux, can hit CTRL-SHIFT-TAB and then cursor left and cursor right to navigate between tabs. Should work under Windows as well!? Version 3.0.5 scrolls faster.
Thanks a lot for this wonderful tool. Its the best tool ever for creating sequence diagrams! I wonder if it would be possible to add support for several people working on one diagram together on different PCs. Thanks again and good luck, Thomas K.
Hi, My name is suman. My research involves automatic tracing of programs, part of which is automatically generating interaction diagrams from source code. I am using your library to render the generated interaction diagrams. Firstly, thanks for writing such a useful library. I have one feature request though. I work on tracing message processing systems. So, one of the features that do not make sense to *my work*(domain specific constraints) is showing the reverse dotted line for every call. I have no problem it being there, I just do not want to show it to the user. Is there a way to specify to the library that this reverse line need not be drawn? Thanks, -S-
Version 3.0.5 allows to hide return arrows when there is no answer text (see "Show dashed lines for return messages with no text" in the "Messages" section of the preferences).
Maybe this one could be added as an Eclipse plugin as well, I'm sure lots more people would benefit from that added convenience (just a thought, though its good enough for me right now as it is as a standalone).
P. S.: Export to JPG resulted in a red tinge, I don't know why. I even tried to explicitly set a white background going to options while exporting - still the output was the same. Export to GIF was perfect (white background).
Calling a self-message is forcing an additional return value that comes at the end.
When the answer to the self-message is empty, the
returning arrow can be made invisible (see the posting right before yours).
The JPG export bug is well known, but has not yet been fixed. Saving an image in JPEG format from the command line works great, nonetheless.