Two problems: Edges overlapping and Diagram layout

0 votes
asked Sep 3, 2015 in Bug by anonymous
Hello.
For the following component diagram:
 
@startuml
title Flujos de información entre el sistema y los sistemas externos
skinparam componentStyle uml2
 
component [Sistema de\nrecomendaciones] as Sistema #white
 
component [Agente de\nusuario] as AgenteDeUsuario
 
component [Gestor de contenidos\nde RTVE.es] as GestorDeContenidos
 
note top of GestorDeContenidos
¿La BD del CMS?
¿El API REST?
end note
 
component [Analizador/etiquetador\nde textos] as Etiquetador
 
note top of Etiquetador
Semantic tagging service,
Semantic text analysis API,
or natural language processing
(NLP) text analysis engine
end note
 
AgenteDeUsuario -> Sistema: "contenido (vídeo/audio/página) visto,\ncontenido recomendado visto"
GestorDeContenidos -> Sistema: "contenido (vídeo/audio)\ncreado/modificado/eliminado"
Etiquetador -> Sistema: "etiquetación/categorización\nde contenidos"
Sistema -> AgenteDeUsuario: "recomendaciones"
 
@enduml
 
 
I hace the followwing problems:
 
EDGE OVERLAPPING PROBLEM:
 
I have defined two unidirectional relations:
AgenteDeUsuario -> Sistema
Sistema -> AgenteDeUsuario
but, PlantUML paint it like bidirectional!!
 
DIAGRAM LAYOUT PROBLEM:
 
Diagram layout is so much widespread horizontally.
Could it be possible to specify a flag "layout" to "hierarchical" or 
to "circo"?
 
RUNNING SOFTWARE VERSIONS:
 
O.S.: Windows 7 64 bit
GraphViz: 2.38.0 (20140413.2041)
Java: 1.8.0_45-b15
PlantUML: 8029
 
Thanks in advance.

1 Answer

0 votes
answered Sep 3, 2015 by plantuml (298,440 points)

You should use --> arrow instead of ->

The result would be far better:

 @startuml
title Flujos de información entre el sistema y los sistemas externos
skinparam componentStyle uml2
 
component [Sistema de\nrecomendaciones] as Sistema #white
 
component [Agente de\nusuario] as AgenteDeUsuario
 
component [Gestor de contenidos\nde RTVE.es] as GestorDeContenidos
 
note top of GestorDeContenidos
¿La BD del CMS?
¿El API REST?
end note
 
component [Analizador/etiquetador\nde textos] as Etiquetador
 
note top of Etiquetador
Semantic tagging service,
Semantic text analysis API,
or natural language processing
(NLP) text analysis engine
end note
 
AgenteDeUsuario --> Sistema: "contenido (vídeo/audio/página) visto,\ncontenido recomendado visto"
GestorDeContenidos --> Sistema: "contenido (vídeo/audio)\ncreado/modificado/eliminado"
Etiquetador --> Sistema: "etiquetación/categorización\nde contenidos"
Sistema --> AgenteDeUsuario: "recomendaciones"
 
@enduml

 

Hopes it help!

commented Sep 3, 2015 by anonymous
Thank you very much: your response has been immediate and correct; it fix my problems.

I was using "->" because read on the reference guide, "1 Sequence Diagram",
"1.1 Basic examples" this:
    It is also possible to use <- and <--. That does not change the drawing, but may
    improve readability.
And I understand, wrongly, that "->" and "-->" were interchangabled on ANY kind of diagram.
I think this topic of arrows is a bit confuse in the ref guide.
...