Ken Webb 2010-03-10T23:31:35Z
PlantUML does not (yet?) natively support the UML Composite Structure Diagram, but in the interim its State Diagram capability can be used. This is possible because both the UML State Diagram and the UML Composite Structure Diagram are organized hierarchically. The UML State Diagram is based on Harel statecharts, and the UML Composite Structure Diagram is related to Harel's further ideas on visual formalisms.
The following sort-of Composite Structure Diagram was created by having a Xholon application write itself out in PlantUML state diagram format, and then running PlantUML with Graphviz to produce a .png file.
The following diagram was produced in the same way. It's only a small part of another Xholon application.
The complete PlantUML code for the robot_0 diagram is:
' Automatically generated by Xholon version 0.8.1, using Xholon2PlantUML_Composite.java ' Wed Mar 10 10:12:49 EST 2010 1268233969221 ' model: Ctrnn - AdapSysLab example ' www.primordion.com/Xholon @startuml ./Robot_0_Composite_1268233969221.png state robot_0 { photoreceptor_1 --> sensorNeuron_4 photoreceptor_2 --> sensorNeuron_5 state ctrnn_3 { sensorNeuron_4 --> connection_9 sensorNeuron_4 --> connection_15 sensorNeuron_5 --> connection_10 sensorNeuron_5 --> connection_12 neuron_6 --> connection_11 neuron_6 --> connection_13 neuron_6 --> connection_16 neuron_7 --> motor_18 neuron_7 --> connection_14 neuron_8 --> motor_19 neuron_8 --> connection_17 connection_9 --> neuron_6 connection_10 --> neuron_6 connection_11 --> neuron_6 connection_12 --> neuron_7 connection_13 --> neuron_7 connection_14 --> neuron_7 connection_15 --> neuron_8 connection_16 --> neuron_8 connection_17 --> neuron_8 } } @enduml