|
The main idea is that the super process has a node in the graph that represents a complete execution of the sub process.
When an execution enters the sub-process-node in the super process, several things are to be considered:
• First of all, a new execution is created for the sub process.
• Optionally some of information stored in the process variables of the super process can be injected from the super
process execution into the sub process execution. The most easy form is that the sub process node is configured
with a set of variables that are just copied from the super process variables to the sub process variables.
• The start-node of the sub process should have only one leaving transition. Process languages that support mul-
tiple leaving transitions must have a mechanism to choose one of those transitions based on the process variables
of the super process.
• The sub process execution is launched by sending an event that corresponds to the default leaving transition of
its start state.
After the sub process entered a wait state, the super process execution will be pointing to the sub-process-node and
the sub process execution will be pointing to some wait state.
When the sub process execution finishes, the super process execution can continue. The following aspects need to
be considered at that time:
• Process variable information may need to be copied back from the sub process execution into the super process
execution.
• The super process execution should continue. Typically, process languages allow only one leaving transition on
a sub process node. In that case the super process execution is propagated over that default single leaving transition.
• In case a sub process node is allowed more than one leaving transition, a mechanism has to be introduced to select
a leaving transition. This selection can be based on either the sub process execution's variables or the end
state of the sub process |
|