In this version, subprocesses can be expanded in a child process, which is displayed by clicking on the small arrow that appears on the bottom right corner when hovering over the collapsed subprocess component.
I would like to reproduce the conversacion at subprocess level, but it is not possible to create a black-box pool at child level. How should I model this so that I can include the conversation at subprocess level as well?
As you have correctly stated, the standard defines a subprocess as "“an Activity whose internal details have been modeled using Activities, Gateways, Events, and Sequence Flows”.
I am trying to adhere to Bruce Silver’s BPMN Method and Style. Are you aware of the hierarchical top-down modeling pattern? On page 64 of the 2nd edition of his book BPMN Method & Style, he states that “in hierarchical models, a basic Method and Style principle is that the message flows should be consistent between parent and child levels. If a collapsed subprocess at parent level has three outgoing and two incoming message flows, then the child-level expansion should have the same number[…]”. This explanation is followed by a top-level diagram with a top-level collaboration and a child-level diagram of one of the sub-processes, including black-box pools representing some of the participants in the top-level collaboration diagram.
Bruce Silver seems to be very knowledgeable about the standard. Do you have any suggestions on how to represent this hierarchical top-down modeling pattern using Modeler? He is not referring to an expanded inline sub-process here, but to a hyperlinked child-level expansion of a collapsed sub-process.
The closest approximation would be to make each collapsed subprocess its own process diagram with Call Activity.
In Method & Style, it also has lanes within a subprocess, which is explicitly disallowed in BPMN, which would further suggest using Call Activity instead of subprocesses.
I haven’t read Bruce Silver’s book and personally don’t believe in hierarchical modelling.
I remember that I once had to review a process with six levels of call activities, and I was unable to remember the entry point on the upper level, when the lower level processes finished. It was too confusing. The business people told me afterwards, that they had the same problem.
My preference is a large model with a single level. When I start repeating stuff that I already modeled before, then it is a good point to refactor and extract a call activity.
It takes longer to read a big process model, but it also takes longer to read a thick book.