How to model and correctly simulate assembly process


I would like to simulate a simple assembly and simulate how it would perform under different conditions. My scenario is very simple - I have to print a product, which is composed of two different prints. It is required that the two prints are printed on 2 different printers because of their characteristics e.g. different size, paper quality, etc.

The printing runs in parallel with a small delay between the execution of print 1 and print 2, because it is only one operator that triggers printing.

When both prints complete, the operator assembles the package and finalizes the product.

The question is as follows - if you trigger production of 100 units, you print in parallel 100 of each type, you will have 200 pieces altoghether, however when assembled it is still 100 end products, not 200.

When running simulation however, it turns out that you've produced 200 instead of 100 products, which is wrong.

I've used inclusive gateways, parallel gateways to combine both prints into one - does not help.

I have tried to set up "start quantity" and "Completion quatntity" on a task in order to input 2 and output 1 token, still does not work.

How can I resolve the issue?

Thanks in advance for any suggestions.

Comments (3)


Dear Adrian,

Regarding this question, you need to understand that simulation starts with Max arrival count on Process Validation.

Max.arrival count: Define the number of token instances the process will generate (or trigger). We recommend defining a large enough number (at least 1000) to allow the execution to stabilize and present reliable outcomes.

Select the Start Event of the process and click the Gear icon on the pie menu. Enter the Max.arrival count in the pop-up window.


At the moment to add a parallel gateway, the count will divide the flow in order to continue the workflow. You can modify the gateway routing.

Gateways routing: Inclusive and exclusive Gateways have activation probabilities. Probabilities are values between 0 and 100%.

Select the Gateway and click the scroll arrow icons (icon) to set the probabilities.


for further information:

Best regards


Dear Juan,

Thank you for your answer, however it seems really unrelated to the question asked.

The question is the following:

If you use a parallel gateway, it splits the stream into 2 parallel processes, duplicating the tokens. If I put 1000 as suggested (this is something I have done already) at the end of the workflow you have 2000 instead of 1000 entries.

The gateway routing you are showing does not make sense, because I am using a parallel gateway, which activates all parallel streams altogether. I was expecting that when I am joining the parallel streams using the same kind of gateway, the token number to be de-duplicated, meaning I will still get a 1000 on the exit.

I saw the links provided for referencing, but those do not match the question as well. Do you have an example of modelling simple assembly - e.g. several components combined into one single product?


Dear Adrian,

At the moment to use parallel gateways, you should join the work flow again in order to continue it correctly. Check this information:

  • As Divergence: is used to create alternative paths without checking any conditions.
  • As Convergence: is used to merge alternative paths, the gateways waits for all incoming flows before it continues.

Check the following example:


We hope that this example helps you to understand much better parallel gateways.