One of the most powerful features of BPMN is the least appreciated… by modelers and tool vendors alike. I’m talking about subprocesses. Most of the process models I have seen would be much improved if they were used more liberally, and more effectively.
In BPMN, a process is viewed as a flow of activities, and an activity – a rectangle in the diagram – can signify only one of two things: a task, meaning it has no subparts of interest to the model, or a subprocess, meaning the activity has subparts of significance to the model.