Welcome to yEd Q&A!
Here you can ask questions and receive answers from other members of the community and yEd developers. And you can tell us your most wanted feature requests.


Support for Sequence diagrams in yEd

+46 votes

I would love to see support for sequence diagrams in yEd.

I like yEd a lot but I find it difficult to utilize the program to draw sequence diagrams. To add som functionality to make it easier to draw sequence diagrams would be much appreciated.



-- Edit
I am talking about UML sequence diagrams: http://en.wikipedia.org/wiki/Sequence_diagram

in Feature Requests by (340 points)
edited by

3 Answers

+10 votes
Best answer

At the beginning I though it wasn't possible to draw sequence diagrams with yEd, but after some attempts I found a way that is easy and satisfying I think.

GraphML source: here. Rendering:





by (1k points)
edited by
this anchor tag of "here" is not working, please tell how to add sequence diagram in yed graph
You are mistaken, the link to the GraphML source in the answer above is working as intended.
use firefox browser, the file can downloaded
We can all see your diagram, but you said it's easy and satisfying to author it. How so? How is it easy to manually align things and draw hanging dotted lines? What tricks did you use? I think that's what is being asked here.
About the link to the GraphML source: it doesn't download when you simply click on it. You have to right-click and Save link as. I believe this can be fixed by yWorks probably by supplying the correct content type. There's some sort of obfuscation of the URL happening, the browser doesn't see the file name on hover, only when I Save link as.
+3 votes
I would like to have some building blocks for life line elements.

If I use a dotted line to draw a life line it has to be connected to another element (maybe I am doing it wrong). I would like the edge to "hang loose".

I am requesting a special element which is a square on a dotted line, where one could change the size of the square and the size of the line.

Maybe this will be difficult since I am requesting an edge connected to nothing which seems rather odd if one thinks of a graph.
by (340 points)
i totally agree with having an easy element that has the box on the top with a hanging line. I just started using yEd and seemed promising until i tried to draw a sequence diagram. If you look at any other tool like gliffy, diagramly, creatly, all of them have a fairly easy way to draw sequence diagrams
What you ask is possible. Draw a line to connect an object to another. Then pick one end of the line and drag it somewhere else (in the free space of the canvas not occupied by any object). The line will happily hang loose, as you request.
Another possibility would be to connect it to an element and then make the element invisible

Dragging connector end to free space will only make it seem to hang loose. It will actually be anchored to a relative position to a node that is not within the node. You can see which node by watching out for the corners of a node being marked temporarily until you release the connector end. Delete the node and the connector is gone too.
The solution is to connect to a small or invisible node.
The life line doesn't need to hang loose, the other end can be a horizontal-line element, which has the nice property of showing the life line terminating.
0 votes
What functionality specifically are you missing?
by [yWorks] (161k points)
Even though I'm a UML newbie, I definitely support this feature request. Basically, as marco.m points out,  yEd is flexible enough to allow us to draw "everything", with good results. But I think UML support could be improved a little.
For example, take the above mentioned sequence diagram. Loops are adequately represented by a group-node, but what about a real UML frame object, with space for operator and guard fields ? That would be awesome.
And maybe lines with socket/lollipop notation for interfaces.
Can you post examples or provide links to examples?
Sure. Please have a look at the paragraph "Combined Fragment" (about mid page):


It describes various UML interaction fragments (or "frames", the two terms should be equivalent) such as "loop", "alt", "opt".

They are quite tricky, graphically, because they group together objects which are completely included inside the frame, with others  ("life line" and/or "occurrence specification") which can extend beyond the frame boundary.

I've created a svg which represents a UML frame, but it's just an image which becomes terrible when stretched too much, and it doesn't have color/line attributes.

For the lollipop/socket notation check the "Interface" paragraph here:


The two classes could be joined using their respective segments (one has a socket, the other a lollipop)
They are used in class diagrams, not sequence. I'd just like to have some more support for UML in general.
Legal Disclosure | Privacy Policy