BPMN - what is the difference among the different types of subprocesses?




I for the most part use process decorator. However, I’m running into some issues how to call different subprocesses from my diagrams.

Would you be so kind to explain the differences among the different types of subprocesses types?

Thank you.



Hi Filipe,

You could find description of different types of sub-process here:

In fact, these sub-process types are carried from previous version of BPMN specification, in current specification, sub-process is embedded by default, and reusable sub-process is represented by a Call Activity.

Hope this helps,



Thank you.
I just wanted to confirm.
The bottom line is that I’m having problems w sub-diagrams and I wanted to make sure that in the background VP wasn’t doing something extra do different types of subprocesses.


Hi Filipe, can you describe the problem that you run into with sub-diagrams? Thank you.


Hey Antony,

I’m running into a lot of problems. Some are stranger than others:

1 - I add a new model to my project
2 - I addd BPMN diagram #1
3 - I add BPMN diagram #2
4 - I call the BPMN diagram #2 from BPMN diagram #1
5 - BPMN diagram #2 stops being listed in the model.

I also get a strange behavior on when calling a subprocess multiple times. I get this strange behavior that when using the subprocess activity I can’t call the same process multiple times. Did you guys enforce that use a call activity?

Again - as my design is getting more complex, I’m running into a lot of issues :frowning:


I think I can help here (I hope so):

Yeah, how are you ‘calling’ the other diagram?

See; there are some important details to keep in mind…

  • Sub diagram: if you address another diagram as a sub diagram for a specific model element then the diagram will become part of the hierarchy of that structure. In other words: it will be moved ‘below’ the model element itself (best seen in the project browser).
  • References: this means just that: you add a link (‘reference’) to another diagram but it won’t become part of the new hierarchy.

Solely going by point #4 I think you’re using sub diagrams, with all the attached aspects.

I can’t comment on the sub processes yet, what exactly do you consider ‘calling’?


Hey ShelLuser,

This is what I mean by calling a subprocess.



Hi Filipe,

I’m really sorry about the confusion this diagramming behavior has caused you. But in fact the sub-process associated diagram feature (the new/existing bpd when clicking the plus button) is implemented using the sub-diagram of the sub-process model element. That means it shares the same restriction of using sub-diagram - one diagram can only be owned by a single model element. So once a Business Process Diagram (bpd) is associated with a sub-process, it becomes sub-diagram of it, and thus it becomes under that sub-process in the Model Explorer.

If you think this is a problem, I suggest you to use Call Activity instead:

In the specification of Call Activity, click on the ellipsis button beside Called element to select the bpd you want to call. Once the Call Acitvity has associated with a bpd, it shows the plus button which you can click to expand to show the diagram preview.

Since Call Activity doesn’t make use of sub-diagram to implement this feature, it won’t “capture” the bpd from its original owner.

Hope this helps,



Hey Anthony,
From a pure BPMN point of view an activity and subprocesses are different because the first uses a lot more resources than then second. I would like to call a subprocess twice in the same process without having to promote a process to a full process.

Are you guys thinking of updating this behavior in the future?


Hi Filipe,

Thank you for your feedback. We will consider your suggestion of enhancing the sub-process to associated business process diagram behavior.

Best Regards,