Sequence diagram arrowheads for synchronous messages are not standard

+1 vote
asked Jun 7, 2013 in Bug by Fuhrmanator (1,580 points)
edited Jun 7, 2013 by Fuhrmanator

Technically, the arrowheads drawn by PlantUML for a synchronous message in a sequence diagram are not like those shown in the UML.org specification. That is, they look more like an asynchronous message, because they don't have a true triangle at the end. I use PlantUML in my courses and this is a source of confusion for many of my students who complain that the diagrams don't look like the UML texts I use. I hope you can consider rectifying this discrepancy. We love PlantUML!

[Edit] I remembered the arrowheads used to be right, and upon examining the Language Reference Guide (which I realize is pretty old), I see that it the arrowheads were like the standard UML there. Is there some implementation issue as to why the arrowheads are different now?

PlantUML:

UML spec:

(http://librairie.immateriel.fr/baw/9780596009823/httpatomoreillycomsourceoreillyimages119154.png)

commented Jun 7, 2013 by Fuhrmanator (1,580 points)
I found the source code fix:
net.sourceforge.plantuml.OptionFlags.NICE_ARROW=false;
Doesn't seem to be a way to toggle this without rebuilding the .jar

1 Answer

+2 votes
answered Jun 8, 2013 by plantuml (259,840 points)
selected Jun 8, 2013 by Fuhrmanator
 
Best answer

Hello,

As you have found, earlier versions of PlantUML were using standard arrowheads. At some point, we found that the drawing with the new arrowhead was nicer (albeit non standard).

In current version, you cannot change this behaviour (except in rebuilding the .jar).

We can add a skinparam to allow user to switch between arrowheads:

For standard UML drawing that you are expecting: skinparam sequenceArrowHead standard

For current drawing : skinparam sequenceArrowHead nice

The default behaviour would be nice

Would it be ok for you ?

commented Jun 8, 2013 by anonymous
I think it's odd that standard is not the default, especially since Uml is a standard. There are many non standard defaults in plantuml: circles (on class diagrams), shadowing, foot box, etc. I always turn these things off when using plantuml for my courses, and it's a lot of extra typing. I personally think the default should be no-frill. But I'm happy to at least have a choice. :)
commented Jun 8, 2013 by plantuml (259,840 points)
What about having:
skinparam style uml
That would turn off all these non standard things? It would decrease extra typing...
commented Jun 8, 2013 by anonymous
A UML skin is a great idea! Maybe call it Simple-UML or something to emphasize the no-frill notion.
commented Jun 8, 2013 by plantuml (259,840 points)
You can download here a beta :
https://dl.dropboxusercontent.com/u/13064071/plantuml.jar
that supports:

@startuml
skinparam style strictuml
Alice -> Bob : hello
note right : foo
@enduml

Feedback welcome!
commented Jun 8, 2013 by Fuhrmanator (1,580 points)
The beta version on dropbox is working well with my macro in Word 2010. Hope this will be merged into the trunk! Thanks!
...