Nesting EPCs
The more complex a process, the more confusing the presentation as EPC may become. You may keep the process model clearer by outsourcing subprocesses in sub-EPCs. It can also be useful from a technical point of view to design subprocesses in a separate EPC, for example if a subprocess is processed by a different department than the main process.
See our Modeling Conventions for additional tips when nesting EPCs is useful.
Outsourcing Sub-Processes
To nest a process, use the EPC Model element. Attach it to a Function. Now model the subprocess inside the EPC Model.
Rules for nesting processes:
Element names can be chosen freely.
All sub-EPCs use the same container. All data recorded in the sub-EPCs are therefore also available to the other EPCs and can be referenced with the help of their Field Name in Container.
Sub-EPCs may contain further sub-EPCs: There is no restricting maximum nesting depth.
If using the nesting possibility resolutely, it would be possible to depict the main process itself in just a few elements, the sub-processes would be displayed in their own EPCs:
Often a designer notices only during modeling that sub-EPCs can be useful to structure the process. The following example describes a possible approach to belatedly outsource a subprocess into a sub-EPC.
Structuring an EPC Model
Irene Adler modeled the process for the ACME Idea Management. She would like to enable employees to submit their ideas as proposals. If an idea has been submitted, the approval process is triggered. The approval process contains multiple steps. Once a decision is made, the employee receives feedback:
The process continued to increase in size during modeling, adding approval steps and adding revision options. To increase transparency, Irene Adler would like to nest the process now. After a glance at her model she realizes: The approval process is suitable for this. For one this subprocess is comprised of multiple steps involving multiple departments and also its content is destinguishable from the main process.
Initially Irene creates the new EPC Model Authorization Process on the work surface. She now wants to outsource the entire approval steps into this element:
In the main model, Irene selects all elements to be transfered to the sub-EPC Authorization Process. Further information about the selection options can be found on page Selecting EPC Elements.
You need to open the context menu on one of the selected elements in order to see the copy option. Should you open the context menu over a non-highlighted element, your previously selected elements will be deselected!
Now Irene opens the sub-EPC Authorization Process and inserts the copied elements as link:
When subprocesses are outsourced, it may be necessary to add a start and/or an end event in the sub-EPC. Irene needs a start and end event in her sub-EPC Authorization Process. Once the missing elements are added, the modeling of the subprocess is finished. Now Irene needs to adjust the main process. She therefore switches back to the main EPC:
The already outsourced process steps can now be deleted in the main process:
In order to tie in the sub-EPC Authorization Process, Irene creates the Function Executing approval process and connects the EPC Model to it:
Subsequently she connects the rest of the main process to the new process step Executing approval process and also draws the connection for the loop (from Revising idea back to Executing approval process). The main process has become much slimmer and clearer: