Interfaces of Super-Components

0 votes
asked Sep 4, 2013 in Wanted features by hoeri (160 points)

Hello PlantUML Team,

I would like to ask one more question. In a component diagram I want to compose some components to a "super"-component. I figured out this is possible with:

@startuml
skinparam componentstyle uml2

component SuperC {
    component SubC1 {
        component "Comp 1"
        component "Comp 2"
    }

    component SubC2 {
        component "Comp A"
        component "Comp B"
    }
}
@enduml

And further on I tried to have another component communicating with the SuperC via an interface ... what is not possible. It seems to me, that the SuperC is not used as a component but as a type of a package.

Is there a possibility to connect a SuperComponent to an interface?

Thanks in advance for your help.

Höri

1 Answer

0 votes
answered Sep 4, 2013 by plantuml (298,440 points)

Unfortunatly, this is not possible today, basically because GraphViz does not simply allow egde between cluster and node (well, sort of).

The good news is that GraphViz offers a workaround : see http://www.graphviz.org/content/FaqClusterEdge

This workaround has been already used for state diagram BTW:
@startuml
state foo1 {
  state foo2
}
state foo3
foo2 --> foo3

state foo4
foo1 --> foo4
@enduml


So since this is a Very Asked Feature, we will study how to have the same capability for class/component/usecase diagrams.
We will post a message here when we will have more info.
 

...