clasificación del clúster subgráfico en punto

Estoy tratando de usar graphviz en los medios wiki como una herramienta de documentación para el software.

Primero, documenté algunas relaciones de clase que funcionaron bien. Todo se clasificó verticalmente como se esperaba.

Pero, entonces, algunos de nuestros módulos son dlls, que quería separar en una caja. Cuando agregué los nodos a un clúster, obtuvieron bordes, pero los clústeres parecen tener una regla de clasificación LR. O al agregarse a un clúster se rompió la clasificación de TB de los nodos, ya que el clúster ahora aparece al costado del gráfico.

Este gráfico representa lo que estoy tratando de hacer: en este momento, cluster1 y cluster2 aparecen enderecho de cluster0.

Quiero / necesito que aparezcan a continuación.

<graphviz>
digraph d {
    subgraph cluster0 {
      A -> {B1 B2}
      B2 -> {C1 C2 C3}
      C1 -> D;
    }
    subgraph cluster1 {
      C2 -> dll1_A;
      dll1_A -> B1;
    }
    subgraph cluster2 { 
      C3 -> dll2_A;
    }
    dll1_A -> dll2_A;
}
</graphviz>

Respuestas a la pregunta(3)

Su respuesta a la pregunta