Using Composite Diagrams

If you want to simulate processing that includes a branch represented on a different diagram (for example, to reduce complexity on the main diagram, or to hide areas of processing that are only actioned under an exception), you can use a Composite element to represent and access the branch on its child Composite diagram. When you run the simulation and it reaches the Composite element, it opens the child diagram and processes it before returning (if appropriate) to the main processing path. This is an excellent way of following the processing path in a complex process, representing sections of the process with Composite Activity elements that expand the actual processing in their respective child diagrams. You can have several Composite elements representing different stages or branches of the process.

One aspect to watch for (and that would be revealed by a failure in the simulation) is to have multiple threads that process simultaneously on separate diagrams. The simulation cannot pass to a new diagram if it is also following another thread on the current diagram.

This diagram provides an overview of an ATM cash withdrawal process:



The ATM Withdrawal Activity is a Composite element. If you double-click on it, you open and display the child diagram, which is a more detailed breakdown of the withdrawal process. Similarly, a simulation will open and process the child diagram.



Learn more