Home > Process Modeling and Simulation Concepts > Task and Process Options > Process Tasks

Process Tasks

Process step types connect the current process step (activity or shape) to another process; creating process hierarchy. There are several types of process tasks, each with their own unique functionality, as detailed in each topic below.

Subprocess

A subprocess is a child (hierarchically lower-level) process of the current (hierarchically higher-level) process. The parent process sends the transaction to the child diagram for flow through its activities. After the child process that the transaction was sent to completes, the transaction returns to the parent process activity (shape) that called it, and proceeds down any outputs from that activity.

Concurrent Process

A concurrent process runs to the end of its own process flow. The parent process sends a duplicated transaction to the child, and continues executing concurrently with the child process. The child process transaction does not return to its parent, but instead completes in the child process.

Private Subprocess

A Private Subprocess is different from a regular subprocess because it keeps transactions from each different calling activity from interacting with the other parent activities’ transactions. In other words, transactions from each different calling shape in the parent process will not interact with each other. Data is collected separately for each parents' use of the private subprocess.

Embedded Subprocess

The Embedded Subprocess is the same as a subprocess in behavior, but the child diagram is embedded in the parent containing shape instead of in a separate diagram.

Event Subprocess

An Event Subprocess is a special type of embedded subprocess that allows handling exception conditions within a process or subprocess, and triggered only when their start event is triggered. They can be collapsed or expanded (simulation only supports expanded Event Subprocesses). They can be interrupting or non-interrupting. You may not route sequence lines to or from an Event Subprocess.

Callable Process

A Callable Process is a modified condition available on any of the subprocess types except for Event Subprocesses. The callable process ensures that each transaction in the subprocess does not interact with any other transaction sent to the subprocess, regardless of where the transaction was sent from.

When the transaction is sent into the callable process, a separate and distinct process (instance) for each transaction that enters (calls) the subprocess is created. So each transaction gets its own private subprocess, vs. all of the transactions from each calling parent sharing a subprocess like in a ‘Private Subprocess.’ The Callable Process supersedes any ‘Private Subprocess’ behavior specified.

The Callable Process can be useful for interactions with external systems (e.g. export via XML), or any time you want to prevent undesired interactions between transactions. Arguments to the callable process may be defined, passed in or out, and used in the callable process. The arguments create a name space for attributes (a ‘My’ or ‘Child’ Argument location attribute) that are only available for the callable subprocess. Values are unique for each process instance; i.e. only for the set of transactions active in the callable process execution that was started from a specific transaction. Please see the Attributes topic for the attributes available for a callable processes.

Related Topics:

Task and Process Options

 

See Also

Properties dialog box - Task page - Step tab